Expression, WPF, & WPF/E: The triumph of the developer over the designer?

As anyone who reads digg, slashdot, and/or techmeme knows, yesterday Microsoft released new versions of the Expression tools and the first “CTP” of the WPF/E runtime.

One of the more interesting posts made about the announcement was Robert Scoble’s explanation of why “Microsoft targets Adobe”. In it, he talks about how in the early days of longhorn, the UI design folks created all kinds of whizzy demos in Director, and that this became a problem when those prototypes had to be turned into real code. Why was it a problem? Scoble says:

Why? Because executives bought into the Flash and Mirrors song and dance too. They thought what they were seeing was possible.

The problem was, developers weren’t involved. Only people who studied interaction, design, and Macromedia Director.

Problem is, anything you create in Director has to be thrown out and rewritten in C++ (if you work on the Windows team).

That meant a whole bunch of time is wasted, plus it’s very possible that what you are dreaming of is simply not possible. It’s also possible that development teams, that don’t understand interaction design, will change your “experiences” and totally munge things up.

So, could Flash ever be “force fit” to be the UI of Windows? Not according to the engineers who’ve studied the problem.

They needed a system that could be used to design real pieces of Windows, if not the entire UI, and handed off to a developer, or team of developers, without having to have the developers touch the UI at all.

What Robert Scoble is saying here is important, in that it demonstrates the fundamental weakness in Microsoft’s strategy: WPF, WPF/E and Expression Blend were all designed first and foremost to address the designer-developer workflow as practiced in the Windows group at Microsoft. And based on what Robert Scoble wrote above, and on what I saw when I worked at Microsoft, this is a workflow that is all about having designers fit in with how developers want things to work. That’s why they put so much focus on things like having Expression Blend use the same project format as Visual Studio, having it work with Visual Studio’s version control mechanism, and so forth. When was the last time you heard a designer put any of those things near the top of their wishlist?

By contrast, Adobe feels that designers developing modern, interactive applications (whether using Web 2.0/Ajax or RIA technologies) want to build workflows that are first and foremost about delivering great designs to your clients. Those clients may be developers, but they might also be a corporate marketing department, or an online or offline content publisher, or any one of a zillion different content consumers. Adobe has designed Creative Suite, Apollo, Flex, and so forth to enable all these workflows, in a way that lets designers focus on what they do best.

Personally, I think Adobe’s choices show that we have a better understanding of designer needs. Of course, that doesn’t mean we don’t have lots of room to improve. I’d love to hear what real designers think, so please comment!

~ by Andrew Shebanow on 06Dec06.

4 Responses to “Expression, WPF, & WPF/E: The triumph of the developer over the designer?”

  1. Hi, i’m an dotnet developer working in my own company. Actually we develop multimedia application to ours coustomer, and we develop in Flash and Windows Forms in C#. From my developer’s perspective I have to say that flash and actionscript is good for develop web multimedia applications, but when you want to develop this type of appliacions in Windows the thing changes because Flash in only an ActiveX technologies and it’s so difficult to interop whit other system part. The problem of Adobe / Macromedia it’s that doesn’t care about programmers, because Flash and AS it isn’t good for programmer, we ( me developer) develop in Visual Studio with IntelliSense and MSDN, and Flash doesn’t offers this features. And the other important thing for Flash is that is not hardware accelerated, and this is the primary problem, with WPF (Windows Presentation Foundation) Microsoft do it best than ever software vendor made before, because it made on .net framework with the productivity it offered and it’s hardware accelerated for Windows Vista and Windows XP. Microsoft know developer better than other software companies, and the only problem is designer, but when we make application in XAML my designer can develop rich UI, and i can put a class behind to make work business logic, It’s simply perfect. I personally think that Microsoft it’s doing good, and other companies have to interop with WPF. The only salvation for Adobe it’s make a Flash Environment for designer for XAML and WPF.

  2. Luis,

    My post is really about designer needs, not developer needs, but here’s my take on your comments.

    For developers, Flex Builder provides a great IDE (based on Eclipse), supports ActionScript (which is a better version of ECMAScript than that supported by any browser today), and has a programming model that will be very comfortable to anyone who has ever used HTML, XUL, or even WPF.

    As for hardware acceleration: WPF/E isn’t hardware accelerated, and WPF’s hardware acceleration has severe limitations. Judge on real-world performance, not feature checklists.

  3. I’m looking forward to XAML too.

    I use Adobe products for video and print work and would love to see the kind of integration that I see, for example, between Encore to Photoshop to create menus and to After Effects to add motion.

    I have a feeling that the Adobe products are very expensive for software development and deployment, but may be mistaken on this.

    So right now I’m more excited with getting the interface designer to try Expressions and give me the front-end in XAML.

  4. Cavet: I’m a sysadmin + a programmer.
    I’m completely comfortable with the fact that Microsoft understand developers really well, and that Adobe understands designers really well, but both of these processes involve taking a conceptual thought and implementing it as a concrete reality. I would have thought that there would be a lot of commonality in supporting tools (such as version control) and implementation strategies. I can understand that Microsoft would be sourcing these common tools from their developer toolchain.
    Other developers I personally know are starting to understand about version control, metadata and layered/componentised design so they’re able to recover past implementations, have self-describing components and have simple to maintain solutions.
    Most designers I personally know are hosed when it comes to past implementations – they rebuild from scratch, they can’t find out what images/animations are without opening them and have to redesign from scratch when a layout change occurs.
    I think that designers need to look at what developers have been doing over the last twenty years and start applying it to their discipline. I’m now seeing design project budgets that far exceed developer project budgets which was very rare say ten years ago.

Comments are closed.

%d bloggers like this: