First look: Expression Interactive Designer
Some sparkling XAML
Review It's been a long time coming. First rumoured at the 2003 PDC (Microsoft Professional Developers Conference), Microsoft's Sparkle has finally made it part way out the door.
More than two years after the original whispers of a Microsoft competitor to Flash, Expression Interactive Designer has arrived. Now you can finally start building all those innovative Windows Vista applications Microsoft has been hoping for.
Microsoft's Wayne Smith puts the delay between the initial rumour and the final public unveiling down to the fact Expression Interaction Designer is a WinFX application in its own right. Before the team could finish building it they had to wait for a stable version of the Windows Vista API WinFX, which itself underwent a major redesign immediately after the 2003 PDC.
Expression Interactive Designer is a tool to help designers (and developers) design, script, and code XAML user interfaces. XAML (eXtensible Application Markup Language) is a key component of the Windows Presentation Foundation (WPF), itself part of the object-oriented WinFX API. As WPF and XAML are vector-based technologies, Microsoft has had to develop tools that go beyond the 2D-bitmaps of Windows Forms.
Don't expect to use this CTP (Community Technology Preview) to build production code - think of it as a tool for seeing just what you can do with XAML and WinFX.
Designers who've used any of Macromedia or Adobe's tools will find the combination of Expression Graphic Designer (the program formerly known as Acrylic) and Expression Interactive Designer familiar. If you're creating graphical elements from scratch, you may prefer to use Expression Graphic Designer to build the initial XAML files for the elements, though Interactive Designer gives you a full set of 2D and 3D drawing tools.
While WPF gives designers a free form approach to application design, it comes bundled with a selection of common graphical elements. Expression Interactive Designer avoids the problems of early versions of Flash by providing a library of common controls. As these are WPF features, you can find tools for adding Windows Vista's Aero look and feel to your application, alongside Windows XP's familiar Luna – helping give WinFX applications an appropriate look and feel for wherever they run.
As in Microsoft's other development tools, tabs at the bottom of the window switch you between design and code views. The XAML editor is for making changes to the scripts that run on a page; in the design view you can quickly change the position of graphical elements. If you've used Visual Studio.NET in the past, you'll find the idea of controls familiar, and Expression Interactive Designer makes it easy to hook a XAML control to an XML or object data source. A C# code editor makes sure you can link your WPF user interface to the rest of the world – whether it's a web service or the rest of a Windows application. Elements in a XAML application have individual timelines, which can be linked to deliver sophisticated animations without significant coding work.
The animation model is closely linked to the familiar .NET event model. Events can be used to trigger animations, and by creating multiple timelines for each object, complex animations can be implemented – clicking on a falling ball can resize an image, no matter when you click it. Timeline animations are all very well, but user interfaces need to be state machines – so it's a little surprising Expression Interactive Designer uses its timeline tool to manage control state. State is a complex issue, and the CTP's timeline approach does not make a very successful stab at delivering the tools needed to handle user interface state. While timelines can be used to show how state is handled, complex interactions between controls will need something more to show additional relationships.
Windows developers and designers should find Expression Interactive Designer easy to use. It shares common UI elements with other Windows development tools, and builds on concepts from familiar animation tools like Flash. Expression Interactive Designer won't be the only way we'll have to build XAML applications, as Microsoft is already showing off Cider, an integrated XAML development tool for the 2007 release of Visual Studio. There's no direct integration between Expression Interactive Designer projects and Visual Studio 2005, so developers and designers will have to find their own ways to work together, especially when adding code to handle XAML UI events.
For a beta product, introducing such a new way of working with an even newer set of technologies, Expression Interactive Designer makes a very positive first impression. If Expression Interactive Designer can help development teams produce WinFX applications that look like Microsoft's Max demonstration, then we're in for a very different looking Windows desktop.®