Author: Victor Gaudioso
Publisher: Friends of Ed, 2010
Aimed at: Silverlight programmers; designers
Pros: Shows how Expression Blend fits in with Visual Studio
Cons: Too superficial
Reviewed by: David Conrad
Expression Blend is a tool that isn't used enough by Silverlight programmers. It is usually seen as something for the designers to use to create animations and special effects. If you are a developer then you can do just about everything you could possibly want to simply in Visual Studio. This book might change your mind. It isn't strong on programming but it does at least show how Expression Blend fits in with Visual Studio and how it goes beyond the basic abstractions that you might know in XAML and code to allow you to create animations using interactive designers.
Chapter 1 gets you started with a simple applications and Chapter 2 provides an overview of what is in Expression Blend 4. Chapter 3 is an introduction to C#, XAML and object oriented programming and to be honest it reads like an "outsiders" account looking in. The example is too big and there is too much space-consuming code that doesn't actually tell you very much. Put simply the chapter is too complex for the beginner and doesn't add anything if you already know how to program in C#.
Chapter 4 looks at layout controls and again it doesn't have much to say to a programmer and the listings of XAML and code are overlong and don't really add much.
Chapter 5 is about timed storyboards and creating an example - a Newton's Cradle. For programmers this is a good demonstration of a different way of doing things. Instead of hand coding your animation you can simply create it using Blend's graphical tools. The creation of the Newton's Cradle is a good tutorial introduction to this way of working.
Chapter 6 is about the Visual State Manager and a project to create a Media Player. Chapter 7 is on behaviours and explains to programmers why they were introduced at all.
From this point things are a little downhill. Chapter 9 is on events and is entirely missable if you know anything about programming in C# or Silverlight. Similarly, Chapter 10 introduces classes and interfaces which is unlikely to be new to you. Chapter 11 deals with control templates and custom controls - again something you should already know about. Then Chapter 12 puts some of this to good use by creating a custom content panel - why isn't entirely obvious. Chapter 13 then goes on to describe another example an out-of-browser COM application and Chapter 14 describes a photo booth application.
The book picks up in terms of interest at Chapter 15 on the MVVM pattern, but to be honest it doesn't really give you a clear idea of what is going on and it mostly fails to sell what is after all quite a good idea. The final chapter is on SketchFlow prototyping which does introduce some new thoughts even to the skilled programmer.
Overall this isn't a wonderful book because it doesn't address either of its possible audiences. It doesn't show designers how to cope with the coding aspects of using Expression Blend well enough for them to make progress. However, it devotes a lot of space to covering, not particularly well, some fairly basic ideas of programming.
Where the book does succeed is in demonstrating to programmers that there are other tools than Visual Studio. For me the Newton's cradle example was probably the best part and I have reconsidered my view of Expression Blend. However, I will be looking for another book to help me find out what I can do with it and how to best integrate it into my use of Visual Studio.