“Innovation has nothing to do with how many R&D dollars you have. When Apple came up with the Mac, IBM was spending at least 100 times more on R&D. It's not about money. It's about the people you have, how you're led, and how much you get it.” - Steve Jobs

[RANT] No longer an Expression Blend fan boy

What proceeds is my rant after dealing with Blend for the last year. As in many rants there is some emotion that leads to misinformation, but the bulk of the message has a huge kernel of truth. The short of it is that Expression Studio and specifically Expression Blend even as a 2.0 is just bad design.

Enjoy the rant.

Im coming to the final leg of a WPF project and I have to say, Ive lost the love. I have been both critical and supportive of the Expression Blend/WPF solution combination, but now Im over it and Im going to explain why and no more 1.0 excuses. They are now on 2.0. They went quickly to 2.0, but they made that choice to suggest that it was a big update, but heck it was barely worthy of an update.

Where did they loose me? I guess it all starts with the beginning. The marketing was so specifically targeted to designers. Real designers. Aestheticists. I believed that Expression Studio was a suite of tools for well Designers! The reality is that at least one of the tools, the main one you need for working with WPF, was the furthest thing from a design tool, once you got past the visual design of the tool itself. Sure it was canvas based, but it was basically like a Visual IDE I myself have been trying to design for developers when I was at Documentum. Adding fancy color palettes and objectifying style by itself does not make a design tool.

After trying to work with the tool for now 8 months I still cant create a prototype with it. Im told I shouldnt be able to. WHAT!!!! A Design tool that cant create prototypes? Like I said, they lost me in the beginning. But it doesnt really stop there. I actually cant style a button. Really. I cant. Im not an idiot and listen to my teachers, but every turn is leads obfuscated commands. Sure, it is there, if you think like the random inconsistent design decisions of the application. Im really harsh on the design of this application. I think this is one of the worst products that has ever come out of MS. They should actually be ashamed.

There are so many places of failure it is hard to list them all, and unlike the iPhones list of many failures or short-comings, none of its advantages come close to making up for them. What is so sad is there is a HUGE promise in Blend/WPF/XAML, but it just doesnt come true b/c the Blend tool itself is so horrible. WPF and XAML has its own short comings as well, but Im not expert in technology frameworks, so Ill stick to the design tool. Heck, lets just call it a tool. It is really a blunt as a masonry hammer.

Like I said there are many specific issues with the tool and since many friends who are supporters of the tool are reading, I should be fair and let them know about why Im actually really angry at this point.

1. Integrator.
The need for an integrator; the need for Visual Studio to bring interactivity to XAML (as far as all my teachers have taught me) is just really the beginning of the end. It basically means the tool fails for my needs out of the block, b/c it means I can not have any independence in prototyping out my ideas. I can do more in a tool like Fireworks (a graphics editing tool) towards creating interactive prototypes then I can in Blend.

2. List views (lack of datagrids, and assorted functionality)
I dont know about other designers. But I design data intensive applications for desktop and web and if I dont have something akin to the ability of creating an HTML table, datagrid, spreadsheet, etc. with the standard functionality associated with data lists that I can create easily without fancy coding or data binding (I need to easily be able to use dummy data). Again, this means I can NEVER do my own prototypes until this becomes available I the standard controls for Blend.

3. No src for layout controls
One of the basic premises that makes both Flash and HTML so effective as a prototyping tool is the ease at which someone can replace a panel (a frame or the source of DIV) with a simple script that says, remove X and replace with Y. (or hide, reveal). If this existed I could place border layout controls inside of a grid and for each border set a src, or change the src when I want to change the content. In Flash they have the great concept of screens which allows for so much. In HTML there are just divs and frames and separate files. But even in Flash you have SWFs which are akin to user-controls in Blend, or movies symbols which can both be used as sources for different layout controls and easily swapped in and out and manipulated from within and without with the most basic scripting, which can be done easily inside the tool with lots of guidance.

4. Separating text style out of templates
This is hard to explain to the uninitiated, but basically if I create a button and I want to animate it for a mouse-over, well, I cant in the same timeline change the border of the button and the text of the button. I have to do them in 2 separate timelines, and then in two separate action calls. There is so much more in the flow for adding style to the interaction of buttons that is so counter-intuitive I cant tell you. I mean, there is an action called make button so why cant they do what Flash does? (Has done for the last 10 years). A button is a type of object that has X states available and you can whatever you want to those standard states. Now Blend does have states available. But the separation of text to the style area from the rest of the button in the template area is just insane. Why? Further, there is a list of properties (which are separated from events, for some weird reasons since some seem repeated) and it is arbitrarily categorized, with each list alphabetized. So unless you think like the designer, you are stuck. (Was there really a designer on this software? Or was it all developers?)

In general, my experience of Blend from the get go has been one of obstacle jumping. All tools have a learning curve, but in Blend whenever I learn something new, instead of leading to an explosion of possibilities and new advancements that allow me to complete something, it leads to more obstacles.

Ok, what does Blend do well? In my mind it does ONE thing REALLY well. It has amazing layout tools and controls. I love the various layout controls. From grids, to stack panels to borders to wrap panels. All these and more are just great! So as a designer, THESE controls make the most sense. They allow me the most flexibility and structured control to guide the development process most directly. Because THESE controls are so powerful and easy to use, I think they set me up to think that all the rest would be just as easy to use.

I think the message of Blend has some nice takes, but in the end the whole concept of Designer < > Developer processes to me is always couched in developer controlled languages which is Blends ultimate failing. It really is a tool to allow developers to be better designers, instead of a tool that really lets designers do their job better.

I think if I was to continue using Blend, I would require a solid month of daily classes, or expert mentorship throughout a solid project. Further, the tool and the eco-system needs to have more then puff tutorials and reference books. We need designer centric courses books and other references.

Sorry folks in Redmond and around the world who are actively supporting this tool. If you would like to invite me to Redmond (AGAIN) either temporarily or permanently (I hope my boss doesnt read this) to help the team REALLY make a design centric tool and platform, Im available and willing, heck inspired, to help out. Like I said there are pieces to this message that really make sense to me. As in all design, if the intent is not executed it is poorly designed and just bad.

Be Sociable, Share!


The archives run deep. Feel free to search older content using topic keywords.