The New Iteration: A Whitepaper on the XAML Revolution

Whenever we run a WPF or Silverlight training event or lab, the one question that is guaranteed to come up relates to the designer / developer workflow on a project team.

In the old days of Win32 or Windows Forms, the workflow was straightforward (albeit extremely limiting). A lot of desktop application development teams I've seen, particularly in the enterprise, don't even include a formal role for a user interface designer. Although the development team might include a business analyst or someone in a interface development role who would be doing some basic interaction design and application flow work, the actual interface would be mostly designed and implemented by the same programmer who was writing the underlying logic. On the other hand, for the projects where design was taken more seriously as a core element to the success of the application, the design and development teams were separated into different silos. The design team would often present their output in the form of a color printout of a screen designed with Photoshop in complete isolation from the actual tools or platform available, and the developer would then have to jump through hoops to painstakingly reproduce the design with tools that were never built for that purpose. The end-result was typically a disappointing compromise between the ideal that the designer had envisioned and what was practical with limited and stretched development resources.

WPF and Silverlight revolutionize that process by bringing the designer into the heart of the process. XAML becomes the shared substrate that can be used by both designers and developers to communicate their intent. Finally, the designer is not divorced from the development process: using a tool like Expression Blend to produce XAML, their artistry is no longer the inspiration for the final interface design, it is the final design. For the developer, they no longer have to waste time recreating controls that already exist in the toolbox simply because the designer has implemented a different visual representation; they can concentrate on the engineering challenges that will create the rich engine that powers the interface.

Such a transformation isn't without challenges, however: it requires new forms of collaboration, different project team structures, and an updated cookbook of best practices. We're keen to help you retool your workforce to take advantage of WPF and Silverlight, of course, and so Jaime Rodriguez and Karsten Januszewski have spent the last couple of months distilling their own experiences and interviewing early adopters into a new whitepaper that addresses many of these issues and opportunities in great depth. This is the first of a series of content on this and related topics; we hope to produce several more in the run-up to MIX08.

Read the whitepaper online or download a copy for offline reading or printing. What best practices would you suggest to a software house or enterprise embarking on a new WPF project? What else should we be covering with this series of whitepapers? Let us know what you think.

Comments

  • Anonymous
    December 08, 2007
    The comment has been removed

  • Anonymous
    December 08, 2007
    The comment has been removed

  • Anonymous
    December 09, 2007
    Hi, I work for a gold cert partner and we are in the lucky position to have a skilled designers but we still have a missing link! You mentioned that "Every MSDN Premium subscriber has a copy of both Expression Blend and Visual Studio 2008" but our designers are asking for Expression Design so they can create some content. Apparently it isn't classed as a development tool and therefore isn't included in MSDN. We don't want all the media stuff that Expression Studio gives but it doesn't like there is an alternative.

  • Anonymous
    December 10, 2007
    I believe that typical Windows development shops will have a hard time seeing the benefit of having a full time designer.  It was simply drag some buttons on a form and be done with it.  I was in that environment for a few years. I then moved to ASP.NET around 2000 (still called ASP+ - even before Beta 1) and have been working on ecommerce applications since then.  In the web world, it is ALL about the design.  Silverlight will shine through here and then the WPF shops will catch on.  It is so aggrevating for both the designer and the developer to see a great piece of artwork that could work so great as a design and be limited by the technology (or knowledge on how to utilize that technology) to the point that the end result is no where near what was wanted. Having the designers work in the same tools that the developers do is absolutely wonderful.  I think the future is going to be excellent because of this move to have the designers and developers working from the same assets. No one can be an excellent developer and an excellent designer.  One will be stronger in one field or the other.  Today, trying to find that mix is very hard.  Because of this technology, it will become easier to find that person because the tools are easier (and more accessable) to use from a developer's stand point.  Plus it makes it easier for the designers to understand where the hooks go and why naming things a certain way may be beneficial.  This will cause some designers to learn some code and some developers to learn some design skills.  Regardless, for projects that require outstanding design work and outstanding architecture and development work, there will be two (groups of) people doing the work - designers and developers.

  • Anonymous
    December 10, 2007
    Rob, the full Expression Studio is included as part of Visual Studio Team Suite / MSDN Premium; see here for details: http://msdn2.microsoft.com/en-us/vstudio/aa718657.aspx It's also available as a separate product. However, you're correct that Expression Design can only currently be purchased as part of the full Expression Studio suite.

  • Anonymous
    December 12, 2007
    I don't disagree with the majority of what Chad indicated, with the exception of his claim that no one can be an excellent developer and and excellent designer.  Absolutely untrue. I am reminded of the days prior to the dot-com debacle, when times were good and no one was talking about software development and desgin moving overseas.  In those days, every company seemingly had a CTO, one or more architects, UI developers, infrastructure developers, database specialists and so on and so on.  Then things went bust.  Fewer and fewer companies maintained CTO positions, architect positions became much harder to come by and most developers who were still employed found themselves pushed to do everything from database design, infrastructure development, UI design and development, testing and deployment.  The economic realities forced upon us the need to diversify and be excellent in areas we might not have previously imagined possible. While times are somewhat better, expectations to we be diverse remain and the good times have done little to erase the ever-lurking spectre of development being shipped overseas. The economic realities are unchanging - will Chad's company maintain the luxury of a design staff once our economy begins, inevitably, to shift in the other direction?  Perhaps not.  The push to do more with fewer people will continue to move relentlessly forward.  Wise developers will embrace the emergence of exceptional design/development technologies from Microsoft and themselves demonstrate the ability to function both as excellent designers and developers, proving Chad incorrect.   Where one can do the job of two, only one will remain...  

  • Anonymous
    December 13, 2007
    I'm sure there's some truth to that. But I wonder how many developers could design a user interface as rich as Windows Vista or Yahoo Messenger? It takes more than versatility - it takes artistry. Some companies don't care about that, but in an increasing number of software projects (particularly in the consumer space), good design is what sells the application. It lends an air of quality and polish to the application, it makes it more likely someone will make an impulse buy in a store, it increases customer satisfaction. That's what I meant earlier when I talked about building the business case for good design. Best wishes, Tim

  • Anonymous
    May 03, 2008
    Lo sviluppo di applicazioni della nuova generazione passa anche per nuovi paradigmi di interazione uomo-macchina,

  • Anonymous
    September 14, 2008
    The New Iteration when working with WPF

  • Anonymous
    January 22, 2009
    Very nice whitepaper from Karsten Januszewski and Jaime Rodriguez . This is the type of communication