Microsoft AiR (Artists in Residency) training
I recently attended Microsoft’s AiR (Artists in Residency) course held in Redmond, WA. It is a program offered by Microsoft in an attempt to get those in the industry up to speed on their latest Silverlight technology and their supplementary tools such as Visual Studio and Expression Studio.
The idea is to send out a team consisting of a designer and a developer. The team is presented with the challenge of developing an application within Silverlight using their new tools such as Expression Studio. The big focus here is Exoression Blend.
Blend is part of Expression studio and is designed with the intent to be the bridging tool between design and development. With a common code (mark-up language) behind the scenes known as XAML. Blend provides a designer the basic design tools required to get the design into a language format which can easily be integrated into development and possibly offer continuous design throughout the application development life cycle. Blend is not very ideal for creating and doing all of your design work, but it is flexible enough to be able to work with a design, even with minimal XAML or coding experience. It has design, code and split views, which allow you to learn XAML and how it works as you design. As much as Blend is limited in design tools, I was not totally aware of using Design and exporting XAML. I went straight to designing in Blend. And although it was a struggle, I did about 85% of the design directly in Blend, before realizing that I could work in Design to take care of my other tasks. Call me an idiot, it was a good lesson and I really learned how to work with the limited design tools in Blend.
Blend is where you would create your animations as well, which is slightly odd compared to my Flash key framed based animations I’m used to. There’s is time-based animation which is cool and practical in some cases. The timeline behaves slightly different in the fact that if you were doign a sequence of animation such as states for a button, you have to do each state in it’s own animation. You cannot view the whole sequence in one single view or play. This does make it difficult as a designer to ensure the consistency of your animation all the way through the sequence.
Other powerful benefits of XAML, is what a designer can do in relation to data (data binding) with complex graphics. Allowing the developer to access the design via code is also crucial and helpful in a very iterative design workflow. This dynamic workflow that the designer and developer have using XAML actually does assist in bridging the gap between the two, but is not the 100% final solution, which still has some work from the development companies who have created and are working on tools for this exact scenario.
A designer would probably work within Expression Design which does have export to XAML capabilities. There are also some plugins for using Adobe Illustrator and Fireworks for exporting to XAML. Once you get your design created in one of those applications, then I would recommend taking it into Blend to get all of your other work done such as the animations, and production.
Since I was working on pre-public betas, bugs were inevitable. It did not make it any easier getting used to a new design environment, let alone working on Vista from Max OS X.I will say however, that they are heading in the right direction. They also have other development tools which have already gone through the rollercoaster of development and getting their products to reach the needs of the users. Pretty much, they can definitely look to Adobe and what they have pioneered in the realm of design and development tools, yet they have a smaller advantage in the fact that they can start from scratch and build most of these tools on a symbiont foundation using XAML. Although Expression Design was purchased from a third party company and is not currently built exactly on this new framework.
A great reference manual for how XAML can transform design to development collaboration is,
The New Iteration
by: Karsten Januszewski and Jaime Rodriguez
As for the training course, I learned a lot! I was fortunate to go out there with one of our (EffectiveUI) very talented developers (Jordan Snyder), who was brand new to C# and the whole Microsoft development environment as I was to their design suite. We went through a crash course of training from a variety of Microsoft trainers and department leaders. We only had 10 days (including weekend) to get trained, up to speed design and develop the application. Sounds like my normal job, ha.
Our concept was an online collaborate audio step sequencer. If you’re not familiar with a step sequencer, it is a traditional digital audio tool that pretty much has a series of steps which could be viewed as noes. These steps (typically 16 per page), can be assigned specific sounds or instruments. They appear very basic to use, but can be a powerful tool in audio production and experimentation. Many of these have been built in a variety of online apps from Flash to Flex. Our unique approach was to make this collaborative between two remote users. They could work on the same composition from miles away, and not even need to know how to speak the same language, the music would be the universal language. You can see more about this app in my next post about my first Silverlight application NetStep.