By Michael Burns | on December 17, 2007
Price When Reviewed: 345 . 417
Pros: Design-led workflow for building WPF interfaces. Well-structured tools and interface. Library of prebuilt event triggers. Resources: bundled training DVD and Visual Studio.
Cons: cons: Restricted to WPF development environment. No Mac OS support. Restricted to use of XML and CLR Objects as data sources.
Blend, formerly known as Sparkle, allows designers to develop user interfaces for applications based on the Windows Presentation Foundation (WPF) and ships as standalone or part of the Expression Studio.
Right from the start it’s obvious that Blend forms part of a wider workflow as when selecting a new project, you’re given the choice to work in Visual C# or Visual Basic, whatever matches the programmers who are creating the bones of the application.
Blend’s Toolbox offers a selection of both familiar and new functions. Two Illustrator-style selection pointers, as well as pan and zoom controls, sit alongside a camera orbit tool for use with 3D content. Likewise the element creation tools, (colour dropper and paint bucket) share a space with the Brush Transform tool, which can be used to modify the gradient and tile brushes for different effects.
Asset creation tools include pen/brush, shapes text and selectors for layout controls and UI creation tools. Completing the toolbox are a search field and the asset library, which contains all the controls that are available to the WPF as well as tabs for media and styles. The Artboard is sandwiched by two palettes of panels – one palette holds panels for building interaction and the other is for accessing the project and asset properties. The artboard can be zoomed to allow more space for design and the palettes adjust in size accordingly. Hitting the Tab key hides the palettes instantly to give you more space to work.
The Properties inspector holds panelled categories such as appearance, layout and brushes editor. There are a lot of properties available, so the palette is scrollable and there is a search facility on hand. The Editor section of the Brushes panel acts as colour selector, offering five different colour models: RGB, HSL, HSB, CMYK, and Hex. Hex values are displayed in a separate entry box, which usefully offers some recognition of plain English – typing ‘cyan’, for example, will change the selected colour accordingly.
In addition to normal brushes, Blend offers gradient brushes, which can be linear or radial, both with alpha channel support. There are also tile brushes and image brushes with similar customizable settings.
One powerful feature of Blend is its use of Resources. These are properties that can be saved as reusable objects to be applied to other elements. At a basic level, a resource could be a certain colour, used throughout the project. Or you could fill a rectangle with a black to blue gradient then save that fill action as a brush resource, with the ability to apply the same gradient to other shapes.
When you create and manipulate content in this manner in Blend you are actually creating a XAML (Extensible Application Markup Language) document at the same time. Simply put this is an XML file that describes all the elements in a scene as well as some information about the scene itself. Much like any modern Web design application, you can work in design view or switch to a script view, where the code is being written as you design the scene. Of course, modifications that are made in the XAML view are mirrored immediately on the artboard, allowing designers to see how code affects layout and colours.
There is some ‘science-bit’ however, in the shape of the Project panel. This displays the project references – a collection of .dll files that build the project. Variously these define the WPF and allow you to use its controls, provide support for XAML and describe and control any interaction features between your final application and the Windows OS.
Once you have your interface elements such as buttons, whether from creating them in Design or within Blend, you can begin to lay them out on the Artboard. WPF user interface controls are available, such as scroll bars or intelligent layout containers (such as uniform grids), which can be individually customized using the Properties panels and used to manage elements. In this way, you specify event and property triggers to make your elements respond to inputs like mouse over, mouse click rollover or key press.
Blend is set up to aid the process, including adding timelines automatically and offering a library of prebuilt trigger routines. Any such dynamic object created in this way becomes a resuable resource and is stored as a XAML file that can be passed to another designer, or developers, with all defined styles preserved intact.
Clicking on F7 flips the interface into the Animation workspace (above). Here the timeline takes a more prominent role, and keyframe animation is easy to set up for any properties of the elements on the artboard. Keyframes can be copied and pasted between elements and interactivity can be added by creating event actions that trigger specific timelines to run.
You can import 3D content (below), if it’s in the .obj file format, or convert any 2D content in Blend’s Project list into a 3D object. There is a rather basic offering of three types of material – diffuse, emissive and specular – with the colour, texture, and general appearance of each 3D object dependent on how these materials are ordered. The Viewport3D controls also include lighting and camera properties to add illumination and animation.
Blend also has the facility to drive applications from data sources, such as product lists or external databases (currently two types of external data sources – XML and CLR Objects – are supported). Using this method, user controls can be bound to the data source, enabling dynamic display of information or images as part of the interface. The process is not that complicated in practice, and like the rest of Blend follows a coherent workflow, so the application really is worth looking into for designers involved in WPF development.
Blend’s workflow may appear daunting at first, so a special training DVD is included in the package, which is a welcome addition on top of the supplied user guide.