The last two days I attended Microsoft Expression Design and Blend training with several colleagues from Falafel and my overwhelming take away was, these tools aren’t ready for prime time. My only guess is that Microsoft is trying to get these early beta quality tools out there to try and build mind share. Not only are these tools lacking in many major areas, a point made abundantly clear by the instructor’s constant stream of workaround and head scratchers, the high level strategy of where this product line is headed and how it’s going to enable designers and developers to work better together seems to have been left on the cutting room floor. Granted, I understand these are 1.0 products but XAML has been under development at MS for many years now and these products are lacking in some of the very basics.
In my mind the first and major flaw is the lack of support for iterative development. This is perhaps best illustrated by the fact Blend can’t open .design files produced by Design nor can Design open XAML files directly. In fact, to get from Design to Blend you actually have to export from Design to XAML. How this makes sense is simply beyond me. There doesn’t seem be to any real work flow from Design -> Blend -> VS.NET so I’m not entirely sure how you would incorporate these tools into a development process.
The UI of these products as compared to VS.NET 2005 is severely flawed. From the non-standard UI controls and menus to the almost complete lack of keyboard support make using these products tiresome. Many elements of the UI are tiny glyphs some of which have function (circled in red) where others serve as labels (circled in yellow).
Another sore point for me is docking, it’s not implemented. Seriously, you float the various property windows but you can’t dock then in anything but their predetermined location. Oh yeah, and they always float on top.
The UI has a number of confusing aspects, one being the difference between a tab and a button. Pictured to the left is an example of where “Event” is a button and “Project” is a tab where the glyph will cause the window to float.
Btw, what’s with the Gothic styling?
With VS.NET 2003 Microsoft had some major quality issues and with 2005 they left the product in beta for a very long time to work out the kinks which I think really paid off. The Expression products are tied to a completely different quality metric that seems unrelated to Microsoft’s developer tools. While I didn’t experience crashes there were plenty of times where I was left wondering exactly what had happened and how I got the design surface into a particular state. I’ve already mentioned the keyboard issue but it’s so bad it’s worth repeating. The property editors are largely mouse only including Blend’s hierarchical view of your UI layout. Additionally, the selection logic is totally flawed with both a highlight rect and a selected item at the same time. Expression also brings to the table a context menu style I’ve never seen before in Windows where clicking and holding causes a context menu to appear though you can also right click as well.
First, if you I’ll add that Joshua (didn’t catch his last name) from IT Mentor was a great instructor and very knowledgeable about the Expression products so kudos there.
While there is lots of promise in XAML for UI design and development this first cut for these tools isn’t up to par in my book. I think there are some nice concepts embodied here but they have a lot of maturing to do before they can be considered widely useful for day-to-day design and development of Windows applications. I do find it rather ironic that these tools which are designed to help you create high quality UI’s have so many seemingly obvious UI problems. Bottom line, if you’re considering Design and Blend be sure to take full advantage of the trial period!