This is my second post in a two-part series about MIX09. The link to Part 1 in this series can be found here.
Expression Blend 3
Another highlight of the MIX 09 keynote (as well as a majority of the sessions) came from Expression Blend 3 and all of its exciting new features. Without a doubt, it stole the show throughout a great deal of the convention, and I have found that I’ve spent the most time post-MIX talking about the new features that it touts.
To me, most of the appeal for Blend 3 came with Microsoft’s strong statements about the importance of developers and designers working together to create exciting and engaging user experiences. I truly believe that we are now able to do that better and more efficiently than ever before. There were a couple quotes that I felt stood out in the opening keynote with Bill Buxton, and I couldn’t agree more with them. He stated that, “You do not aspire to buy a ‘thing’, but rather an experience.” Following this logic, according to Bill, the reason you buy a mountain bike is so that you can go screaming into a river with a smile on your face. I assume that another reason you buy a mountain bike is to flip over the handlebars and leave your blood on the mountain, as I have, but I digress. Later on in his keynote, he mentioned, “If you don't have as much detail in the transition as you do in the state, you're doing it wrong.” Yes and yes. I’m glad that someone so high up in Microsoft actually gets it in this sense.
Doc Brown is back from the future, and he brings great news!
Finally, what is an Expression Blend 3 blog post without the mention of full IntelliSense support for XAML and CS/VB code files, as well as integration with TFS! I also recall hearing support for Subversion and other open-source code repository solutions. Now, developers and designers don’t have to switch back and forth between Visual Studio and Expression Blend nearly as much as they used to, which is a huge advantage in my book. However, I don’t see Blend replacing Visual Studio any time in the near future, which isn’t the point of the tool anyway. Believe it or not, I did hear a fair amount of “Why do I even need Visual Studio anymore” conversations going on. I have also become a huge fan of Blend 3’s support for custom workspaces and the ability to dock any panel anywhere you like.
Expression Blend 3 XAML IntelliSense
Those of you that know me know that I had a hard time being sold on Expression Blend 2. I felt that there were too many features missing, and the XAML that it spit out was sub-par in my opinion. I always leaned on outside tools such as Kaxaml and then brushed shoulders with Blend 2 as we passed each other in the hall. However, after playing with Expression Blend 3 Preview, I feel like I may have finally be a full-on Blend convert. I may even be ready to spend 75-90% of my time using Blend 3 as my primary XAML styling tool. I just don’t know if I will ever be able to let go of my Split View.
SketchFlow and Application Flow Editor
Another one of the key features that were added to Blend 3 is the ability to produce quick and easy prototypes with a couple new features called SketchFlow and the Application Flow Editor. Some of the most exciting conversations that I partook in with MIX attendees came from discussions over the endless applications of these two features. I’m extremely pleased that the Expression Blend team is giving designers the ability to rapidly create interactive prototypes, especially because it is in a medium that allows for easy client feedback. The great part is that the prototypes that you build are actual WPF and Silverlight applications, only with grayscale “squiggly” styles applied to them. The idea behind the “squiggly” styles is that you want the client to focus more on the ideas presented, rather than superficialities such as color or font. Theoretically, when you are done prototyping, you could ideally just throw out the squiggly styles and start styling away.
Prototype Created in Expression Blend 3 w/ SketchFlow (courtesy of Microsoft Presspass)
Next, the Application Flow Editor is a docked panel in Blend that allows you to define the Flow, Navigation, and Composition of your application, with every “screen” having any number of different states. Basically, each screen that you define is like a whiteboard, with sticky notes and drawings if you choose to add them. Now, I am still a bit confused about the Application Flow Editor in that I’m not sure if it is exclusive to SketchFlow, but it is still a brilliant feature that I want to use immediately.
Application Flow Editor (courtesy of Microsoft Presspass)
Regardless, one feature that my friends loved was that Blend 3 also gives you the ability to automatically create documentation in Microsoft Word based on SketchFlow and the Application Flow Editor. The documentation includes sections for each of the screens in your app, as well as every single state of that screen, along with screenshots. This could provide a very
However, creating quick prototypes wouldn’t be useful if you couldn’t utilize professional-grade design tools to take your prototype to the next step. In a huge step forward for Microsoft embracing industry standards, Expression Blend 3 has support for importing Adobe Photoshop and Illustrator files. Layers and naming conventions are preserved, images are saved as PNGs, and any vector-based path is converted to XAML. Not only is the idea behind this tool exciting, the tool itself is very nice; it allows you to choose which layers you want to import, as well as giving you a nice preview (see screenshot). I am super pumped to use this feature on my next project.
Adobe Photoshop/Illustrator Import Tool
Finally, one feature that I am definitely going to be putting to use a lot in Blend 3 is a feature called SampleData, which allows designers to quickly generate… well, sample data! It gives you options for random names, addresses, phone numbers, plain lorem ipsum text, etc. The problem that Blend is trying to solve is that, while authoring prototypes, the designer probably don’t know the structure of data or have data source at all. This feature allows the designer to no longer rely on a developer hooking up mock data just to produce nicely-formatted fake names or fake addresses. This is a huge improvement over Expression Blend 2’s sample data generator, which I hardly ever used because it basically only supported lists of fruit names. I don’t know about you, but fruit names and person names are worlds apart in terms of layout, and it just wasn’t useful. I don’t know if I really have to explain why SampleData is an extremely useful feature, but I will say that I plan to use this all the time.
Conclusion
There were a large number of other great features announced, but I have to say that I was far too enthralled by Silverlight 3 and Expression blend 3 that these features paled in comparison. Be that as it may, I might as well mention some of the other announcements that caught my eye. Things like: built-in distributed caching support in ASP.NET 4, Web Platform Installer and Web App Gallery, SharePoint authoring support in Visual Studio 2010 (finally), support for different web.config files in VS2010 for each web application lifestyle stage you are in, Microsoft Bizspark, and new features in WPF4 (such as built-in touch manipulation, inertia, and Surface ScatterView support).
However, in my drive home, I realized that trying to summarize the announcements from MIX is pretty much useless without being able to plan ahead and imagine how myself or my company can utilize these tools to create the best user experiences possible. Whether it’s on the web, on the desktop, or on a Surface, it’s good to know that Microsoft’s direction is leaning more toward strong visual interfaces and compelling end-user experiences.