Express Yourself

Interactive designer Brad Becker helps Microsoft get creative.

Microsoft's Brad Becker is senior product manager for Expression, the software giant's new suite of desktop and Web-oriented creative design tools. Becker joined Microsoft in 2005 after a stint at Macromedia (acquired by Adobe Systems) where he played key roles in the development of Flash and the Flex IDE.

Expression began rolling out in December with the release of Expression Web. The remaining products in the lineup are Expression Blend (now in beta), Expression Design (also in beta) and Expression Media, an asset management solution.

Becker says Expression Studio's powerful feature sets -- and seamless links to Visual Studio -- will enable designers and coders to team up and create a new breed of media-rich, interactive applications.

Brad Becker -- Senior Product Manager for Expression, Microsoft
"This is kind of like a version 3 product that we're shipping right now ... We basically had five years to kind of clear the house."
-- Brad Becker
Senior Product Manager for Expression, Microsoft

Yet Microsoft's marketing strategy emphasizes the differences between developers' and designers' tools even as it seeks to bring the two skill sets together. The company's decision not to include Expression Web as part of an MSDN subscription drew protests recently.

In an interview with RDN, Becker discussed a range of topics, including the company's product strategy, Expression's protracted development lifecycle and Flash's shortcomings.

Expression and Visual Studio are aimed at two different market segments, but they're nonetheless closely aligned. Can you talk about this relationship?
We realize that sometimes [developers and designers] are the same person, but most of the time, the skill sets don't have a lot of overlap. But it's really important they work together, and they work well together, and that there's clean handoffs.

Visual Studio is very focused on the coding environment, IntelliSense, code completion, debugging, all these things. Whereas Blend is focused on the visual aspects of creating interactivity, and Expression Design is focused on the pure visual design aspects. In other words, with Expression Design, someone creates all the assets; they create logos, kinds of UIs, background -- type things. These assets can be pulled into Blend, and they can be given some interactivity. You can do databinding, you can build templates for custom controls, etc. And then in Visual Studio, the developer can wire it all up and do all the .NET Framework programming in the background, the business logic, all that sort of thing. They're all sharing the same Visual Studio project and solution files.

Well, Design doesn't, because Design just creates assets. But Design actually has a key feature for this topic, which is the ability to export XAML. When you create some graphics, you can export those graphics as code, as XAML. You can easily pull them into Blend knowing that they're going to look just like what you did, because there's no conversion process necessary. You're seeing it right there in the export preview.

Microsoft isn't known for design tools. How did the idea for Expression form?
From what I hear, the apocryphal story is, this started about five years ago. Microsoft was looking at the next version of Windows and said, 'We need something that's richer, that's more expressive.' An immediate question afterward was, 'OK, how are developers going to create the kind of applications to be able to take advantage of these features and all this richness and such?' That was the genesis for what was then called 'Sparkle' [and now is Blend].

What sort of challenges and obstacles did the Expression development team face during the years it took to create the tools?
I think the worst thing was building a tool on top of a platform and OS that were in a constant state of flux. They were building a tool as they were building Vista and .NET 3.0.

It was so bad, actually, that all the dev teams would have to come in Monday morning and reformat their machines from the ground up, and reinstall the latest build of Vista. They'd have to reinstall the latest version of Office, and reinstall Visual Studio, reinstall WPF. Everything. Every single Monday they'd have to go do that. Also, because of changes that happened over the five-year period, they had to start over from scratch I've heard, like two or three times. Just ditch the code base when big API changes would happen, or capability changes, and start over.

Did these delays have a good effect in any way?
If you look at the product, the one thing that strikes me about it is that it's pretty clean. Every time you start over on something, you get to learn from the mistakes. So this is kind of like a version 3 product that we're shipping right now, even though we're calling it version 1. We basically had five years to kind of clear house. The team was able to learn from it, and in the end, the end-users benefit.

Windows Presentation Foundation/Everywhere (WPF/E) is a browser plug-in that will enable cross-platform use of content and features built with Expression and WPF. How far will this cross-platform support ultimately go?
For now what we've announced, WPF/E ... it has support for Safari on the Mac, Firefox for the PC and the Mac, IE on the PC. We haven't made specific announcements other than that, but we're listening to what customers are wanting. If there's a lot of demand for Linux, then we'll probably do it. If there's a lot of demand for certain types of other environments, then we'd absolutely do that as well.

You're an ex-Flash guy. WPF/E has been called a 'Flash killer.' How is Microsoft's new technology superior?
The first thing is, it's a clean start. Flash started life as a lightweight Web animation engine. It actually started even before that as a sketchbook program on the Philips Go computer or something like that. So over the years, there's some vestigial organs, if you will. [Blend] is streamlined. It's just exactly what you need to do interactive design on the .NET Framework.

The second difference is that you also have support for more advanced functionalities. The data binding is more sophisticated. We have true 3-D controls. We have support for ink canvasses, pen tablets for inking and other features like that. Also, we've got more robust ability to style controls and integrate real dev stuff. So you can work with C# code, instead of just a scripting language.

These new tools appear to compete with Adobe's popular suite of design and production apps. Many designers are fiercely loyal to Adobe. Who's to say they'll use your stuff instead?
Our plan isn't to migrate anyone, per se. We're not taking anyone's tools away, if you will. We're not really replacing tools for the most part. Especially if you look at Design and Blend and Visual Studio, there's no complete analogue to this. What we're doing is, we're enabling designers and developers to create new types of apps, to find new revenue streams. There's a lot of interest in the enterprise, governments, universities. ... So I think it's going to be new opportunities for designers and developers -- it doesn't mean they have to stop doing whatever they're doing now.

Obviously, these products are just now coming out, but what's around the corner? What will we see in the next couple of years?
We're basically talking about a few big themes here. One is better experiences. The second is better collaboration with designers and developers. And at Microsoft what you'll hear in the developer division is collaboration between database developers and back-end developers. So this idea of the team working better together, this is something we're going to push forward.

We want designers individually to be productive as well. So they can not only more easily work with other designers and developers, but also be more productive on these platforms and these tools.

About the Author

Chris Kanaracus is the news editor for Redmond Developer News.

comments powered by Disqus


  • What's New in TypeScript 5.5, Now Generally Available

    Microsoft shipped the latest iteration of its type-infused superset of JavaScript, TypeScript 5.5, introducing inferred type predicates, control flow narrowing, JSDoc @import and other enhancements.

  • GitHub Copilot for Azure Gets Preview Glitches

    This reporter, recently accepted to preview GitHub Copilot for Azure, has thus far found the tool to be, well, glitchy.

  • New .NET 9 Templates for Blazor Hybrid, .NET MAUI

    Microsoft's fifth preview of .NET 9 nods at AI development while also introducing new templates for some of the more popular project types, including Blazor Hybrid and .NET MAUI.

  • What's Next for ASP.NET Core and Blazor

    Since its inception as an intriguing experiment in leveraging WebAssembly to enable dynamic web development with C#, Blazor has evolved into a mature, fully featured framework. Integral to the ASP.NET Core ecosystem, Blazor offers developers a unique combination of server-side rendering and rich client-side interactivity.

  • Nearest Centroid Classification for Numeric Data Using C#

    Here's a complete end-to-end demo of what Dr. James McCaffrey of Microsoft Research says is arguably the simplest possible classification technique.

Subscribe on YouTube