DCSIMG
You are reading a MIX Online Opinion. In which we speak our minds. Systim Meet Tim Arrow

Opinion

4Comment Retweet

Rapid Prototype Design using Microsoft Expression Blend

Feb 11, 2009 In Design By Tim Aidlin

Before returning to Microsoft, I had worked to develop websites for years using the traditional model: client meetings, user-research, wireframes, Photoshop comps, development, deployment... of course, with a million client meetings in between each stage. This, obviously, is an over-simplification of the process, but I think this is a pretty accurate summation.

Now as a member of the MIX Online team here at Microsoft, away from producing websites for clients, and focusing more on prototypes for new web-apps and client software, I’m able to explore some new paradigms in the creation of these assets that have absolutely had an influence on the way I now design and develop software.

I’m not saying that this methodology is the right way for application design in all situations. I am saying, however, that my experience has given me an opportunity to do things a new way, which one might want to explore as an alternative to the standard way of the road.

Wireframes

When starting a project, it's still absolutely imperative to go through the wireframing and conceptual process to help give scope and form to your ideas. In the past, I would most-often create these wireframes using Adobe Photoshop or Illustrator... and to a large degree I still do.

However, when developing applications in WPF it’s easy to use Microsoft Expression Blend to do this task quickly and easily. Not only does this make wireframing as easy as it may have been in the other products, but now the wireframes are written in native XAML, which is what WPF needs. Additionally, I would often have found myself creating 50-page PowerPoints or PDFs to demonstrate simple functionality. Using Blend, interactions such as rollovers, simple animations and transitions and functional forms are a snap to produce, and don’t require multiple images and explanation.

Comps, Redlines, and Prototypes

Once wireframes and requirements have been locked down, the next stage is generally Photoshop comps. While totally useful to show the true look and feel of how the product, everything produced in this stage generally has acted as a "guide" for developers to develop the product. Including redlines - comps that callout the size of text, the margins and sizes of elements, and the like – at the end of the project all the comps so diligently designed and marked-up are thrown directly in the garbage.

With the "new way" of application design using Blend, the wireframes that were originally created in XAML can now simply be skinned and designed. There’s no longer disconnect between what the designer wants and what the developer delivers. If the designer wants the font to be a certain size, for instance, he or she simply makes the text that size. The same with margins, image sizes, and so on – if we want something to look a certain way, we simply have to make it look that way. The back-and-forth between design and development is greatly reduced, saving both time and money.

And at this point, we’re well on our way to a working piece of software.

As I mentioned, the above is an over-simplification of the process of designing and developing software, and isn’t appropriate for all cases. However, in situations where rapid application development is key -- whether due to timelines, cost-restraints, or both – starting work in Blend and working directly with the code that will be eventually delivered, again, saves time, money, and a lot of frustration for designers, developers, and those they work with.

Follow the Conversation

4 Comments so far. You should leave one, too.

rtpHarry (gravatar) rtpHarry said on February 11, 2009

This is such a great workflow. I remember hearing about this when WPF was first coming out and I was excited. I went out and bought a book to read all about the new vista technology.

Another thing about it is that the coding team can start work on the code behind while the designer is working on the skin, as long as the connection points / events have been agreed then it doesn’t mean work stops from one team while the other team does their bit.

Unfortunately my line of work doesn’t take me anywhere near these technologies so I can only watch from the sidelines.

You seem like you’re having fun though! Hehe.

Junaid Ahmed (gravatar) Junaid Ahmed said on February 12, 2009

This seems like something I’d want to get into. Ofcourse I design mostly in Adobe Fireworks, with some degree of html creation on the fly, but still there is a great disconnect between the design and the developed version of the application. I’ll had to check this method out and see how much easier life gets.

Thanks for a great post!

Jonah Sterling (gravatar) Jonah Sterling said on February 15, 2009

Hey Tim, thanks for the Tweet. I totally agree with this. I’m actually giving a seminar about this evolving workflow (based on a recent project) next month – I may have to quote you, so I don’t sound like I’m all alone.
I’m must admit, I’m still having some challenges doing wireframes in Blend – I would prefer it if Design could earn it’s disk space and be used for that intro stage. Blend is just too steep of a learning curve today for fast IA/UI designer adoption.

Luna Jade (gravatar) Luna Jade said on March 03, 2009

Thanks so much for your comment on my article “Wireframes that keep on giving: Designing in the Development Technology”. I did find your thoughts expressed in your article very useful; it helped confirm that I wasn’t heading down the wrong path with my approach.

Expression Blend lends itself very nicely to be used as a design tool, to bridge the design/development gap. I’d also like to see if this approach can be expanded to other technologies wherever possible. Something to explore…

Thanks for the tip… I’ll wander around the site to see what else you guys have cooking :)

Add your social network profile — we’ll use it to find your avatar. Or, just add your email. That works too.