Developer's Toolkit
Express Yourself
Expression Blend -- and by extension, Expression Web -- should be available as add-ins to Visual Studio, rather than separate standalone products.
A couple of years ago, while Microsoft was introducing development tools that supported Windows Vista, the company caused a bit of a stir by announcing that its Expression suite of products would not be available as part of the MSDN subscription. This was a rare decision that the company has now partially reversed. Microsoft made Expression Blend and Expression Web available in the MSDN subscription, but held out on Expression Designer. In my latest MSDN mailing, I received a copy of Expression Blend 2 and Expression Web 2.
Programmers Win
The inclusion of these products in the developer subscription actually turns out to be a pretty good decision for programmers. Expression Designer, the third product in the suite, is a sophisticated tool for a true artist or graphic designer, rather than a developer. While it can be used as part of the application development lifecycle, it will be used by the graphic designer or Web site designer, rather than the developers.
Any user of Visual Studio will have no difficulty understanding the concept or function of Expression Blend. On the surface, it looks a lot like Visual Studio, immediately establishing a level of comfort for the developer. There's a central canvas, with panes on either side, the left one containing a components palette and the right one the ubiquitous Project Explorer.
In Expression Blend, you design your application visually, drawing shapes, paths and controls on the art canvas, and then modifying their appearances and behaviors. It works much like designing a user-interface screen in Visual Studio, right up to picking and placing UI elements on the canvas to build your screen design.
From Design to Visual Studio
The impressive thing about Expression Blend is that it's a Visual Studio solution. You can update your project at any time with code-behind files or custom-control files. All of your UI development can occur within this environment, including code to make it functional.
This is all compelling stuff, but it's hardly perfect. Expression Blend doesn't include a compiler or debugger as part of its toolset. You can't write code and execute an Expression Blend UI and code-behind from the environment. More correctly, you can write the code in Expression, but you then have to build and run the application in Visual Studio. You even save the Expression files as a Visual C# project, which is readily importable into Visual Studio.
Ultimately, it's clear that Microsoft should have made Expression Blend-and by extension, Expression Web-available as add-ins to Visual Studio, rather than separate standalone products. More radical still, it could have built an entirely new and full-featured IDE for UI development.
Microsoft's rationale is that the developer isn't the user of the Expression products; rather, it's a separate UI specialist or graphic designer. While that's probably true for large enterprise development teams, I've very rarely seen it in practice.
In reality, the UI developer also has responsibility for a large amount of the code of the entire application, even on larger teams. Including these two Expression tools in the MSDN subscription was a good idea, but now Microsoft has to go the rest of the way in recognizing how the vast majority of development teams actually work.
What Is It Good For?
Expression Blend works in conjunction with .NET Framework 3.5. You can use .NET Framework 3.0 calls, and you can work within either Visual Studio 2008 or 2005, but 2008 projects using .NET Framework 3.5 can't be imported into Visual Studio 2005. You can also integrate Silverlight-at this time, 1.0 only-into the application. You'll use Expression Blend to work with rich client UIs, and Expression Web to build Web-based interfaces.
You don't need the Windows Presentation Foundation and Vista to take advantage of Expression to build rich interactive applications; Expression will also work on any Windows XP system with the correct version of .NET Framework installed. This flexibility greatly expands the possible uses for an Expression-built UI.
Business Future
Still, you won't use Expression Blend for every application. It's meant primarily for applications that are highly visual and interactive. However, that by no means discounts its use in business applications. I can easily see an application that uses Expression UI graphics and design in a kiosk, or on business applications that use graphics or visualization in unique ways.
Once developers discover the advantages of working with the Expression tools, look for more great UIs on Windows applications.
About the Author
Peter Varhol is the executive editor,
reviews of Redmond magazine and has more than 20 years of experience as a software
developer, software product manager and technology writer. He has graduate degrees
in computer science and mathematics, and has taught both subjects at the university
level.