RIA Development Center
FeaturesTipsEventsVideosSilverlight GallerySilverlight Hosting Resources
Which platform do you use most often?
(Check one)
AIR
AJAX
Flash
JavaFX
Silverlight
Other

View Results
Get regular email alerts when we publish new features!
DevX RIA Development Update

More Newsletters
Making Designer/Developer Collaboration a Reality (cont'd)

Silverlight Video Support Via Expression Encoder
One of the most important components of a rich Internet application is video. Regardless of the source of the video, Expression Encoder combines simple editing capability with extensive encoding and deployment capabilities. For hosting these videos Microsoft is offering a free (or in some cases low cost) home at Silverlight Streaming. In addition to optimizing videos for use with Silverlight applications, Expression Encoder includes the integrated capability to upload these videos directly to your Silverlight Streaming account. (Editor's note: For more on Silverlight Streaming, see this article.)

Thus once the designer has created (or selected) the video components for a project, the encoding and publishing tasks for Expression Encoder are simple enough that they can be performed by either a designer or a developer. However, while the selection of which player to use is typically within the purview of a designer, the choice of which encoding profile to use, involving a tradeoff between video quality and performance, is probably best decided jointly between the designer and the developer. If after publishing, one of the videos needs to be modified, Expression Encoder's publishing capability provides a simple and convenient mechanism for replacing the earlier hosted version of the video with the modified version.

On publication of a video, Expression Encoder provides an HTML snippet (also available directly from Silverlight Streaming) which can be directly pasted into a web page to access the video (see figure 9).

Figure 9. Expression Encoder Provides You with the HTML Snippet Necessary to Call Your Video from a Web Page.

Thus, a simple mechanism exists to incorporate video into a Silverlight project regardless of how the original video was produced. Moreover, the method used for inclusion is very unlikely to cause problems for either designers or developers working on the project.

New Paradigm Requirements
So what are the new requirements for developers and designers to follow in order to benefit from the new structure that Microsoft has created for the designer/developer workflow?

  1. Designers must learn to use Expression Blend to design Silverlight (and WPF) user interfaces. It is perfectly acceptable for designers to continue to use Photoshop and Illustrator to create bitmap and vector images or Premiere for video creation and editing, but UI layout and interactivity would need to be designed in Expression Blend so that the designer's work product is immediately usable by the developer responsible for adding application functionality to this design.
  2. As a first corollary to becoming proficient in Expression Blend, designers definitely need to learn XAML. This may seem like an imposing task but it really isn't harder than working with HTML (or CSS for that matter). The reward for mastering XAML is much higher productivity for designers in building the UI for the initial hand off to their developer partners.
  3. Designers and developers need to be in continuous contact regarding progress on the project. Before starting the project they must agree regarding their respective scopes of responsibility. Furthermore, as the project progresses they must constantly review each other's efforts to see how those efforts fit with their own portion of the project.
  4. Because of the shorter production cycle that this new designer/developer workflow permits and the need for multiple people to work on a project simultaneously, both designers and developers must learn to use an effective source control system. For this purpose both Microsoft-based and open source options are available.
  5. Developers have to become at least minimally proficient using Expression Blend. As of this point in time, the visual designer in Visual Studio 2008 is read-only for Silverlight applications (although fully functional for WPF). Obviously at some future date, this will be corrected, but in the meantime, the only usable visual design surface is the one in Expression Blend. Moreover, for creating any complex animation, the only suitable tool is Expression Blend.
  6. As a corollary to learning to use Expression Blend, developers also will have to become fluent in XAML. All Silverlight (and WPF) user interfaces should be constructed with XAML and it would be unrealistic to believe that underlying functionality could be bolted on without a thorough understanding of the XAML to which it needs to connect. Also, to the extent that a developer does make any changes to the project UI, it is critical that those changes be implemented in XAML rather than in C#. This is necessary in order to allow the designer to continue to be directly in contact with the UI without having to work through the developer on this aspect.
  7. Both designers and developers must accept a state of mind shift which accepts their relationship as more of a project start to finish collaboration than a designer hand off of a vision to a developer for subsequent implementation. There are many benefits which derive from this new relationship including, for example, the flexibility for the design to undergo continuous tweaking throughout the life of the project without a serious disruption of the developer's implementation. This benefit alone almost certainly will result in a better final result for the project without any concomitant delay in completion or substantial increase in costs.

More Resources

  • The New Iteration (an analysis of the designer/developer collaboration process by Karsten Januszewski and Jaime Rodriguez)


  • Building Microsoft Experiences (an interview with Karsten Januszewski)


  • XAML: Level 100 (blog article by Daniel Moth)


  • Microsoft Design Center (section of the Microsoft website dedicated to designers support)


  • SketchFlow: From Concept to Production (Mix09 Video)


  • SketchFlow: An Overview (Expression Team Article)


  • SketchFlow Showcase Video


  • Enhancing Designer and Developer Collaboration (Mix09 Video)


  • Expression Blend in Designer / Developer Workflow


  • Achieving Designer / Developer Collaboration and XAML (UX Passion blog article)
  • * This article was commissioned by and prepared for Microsoft Corporation. This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.


    Previous Page: Importing Graphic Assets into a Project  
    Cal Schrotenboer is a C# developer with experience in building Windows Forms application front ends for SQL Server databases. He also teaches programming classes at Foothill College in Los Altos Hills, California and Microsoft Network Administration (MCSE) classes at Mission College in Santa Clara. Cal maintains a WPF blog at www.WPFLearningExperience.com. His outside interests include travel and photography (www.travelswithcal.com).
    Page 1: Designer Developer WorkflowPage 3: Silverlight Video Support
    Page 2: Importing Graphic Assets into a Project 
    Rate This Content:
    Low     High
    2 after 3 ratings