MSDN Follow-up: Silverlight 2

Click the image to the right to get my Silverlight 2 presentation slides.

This wraps up my set of three posts to follow up on questions asked during the MSDN events in Nashua and Stamford.  Let me again invite you to send me an e-mail if there's something that came up during the sessions that I haven't addressed in my posts.

    1. Is there an "express" version of Expression Blend?
    2. Does Silverlight have a 'native' TreeView control?
    3. Is there a framework for building Silverlight applications?
    4. What media-encoding formats does Silverlight support?
    5. How can I upload files through Silverlight?
    6. How are those revolving picture displays (carousels) in WPF and Silverlight implemented?
    7. Is there a Deep Zoom API?

Is there an "express" version of Expression Blend?

There isn't; however, there is a free 30-day trial available.  Note too that Expression Blend (and Expression Web) are available with an MSDN Premium subscription.  Programs such as Microsoft Empower for ISVs and DreamSpark are other avenues that you may be able to use toward procuring Microsoft design and development tools for reduced costs.


Does Silverlight have a 'native' TreeView control?

Not at this time; however, there is a CodePlex project that provides one.  I also found implementations by VectorLight.Net, Telerik, and ComponentOne, and I suspect there will be others as well.


Is there a framework for building Silverlight applications?

The patterns and practices team at Microsoft recently released the Composite Application Guidance for WPF (formerly code-named Prism) that provides guidance on building scalable and testable applications with WPF.  That body of work is being extended to support Silverlight as well, and an initial drop of "Prism 2.0" is available.  The contrib project on CodePlex for Composite WPF guidance also includes a "Prism to Silverlight" offering.  You might also want to check into Ninject, which provides dependency injection support for Silverlight.


What media-encoding formats does Silverlight support?

One of the 'eye-chart' slides in the presentation lists the following: VC-1, WMA, and MP3.  In September, Microsoft announced we would also be supporting MPEG-4 (namely, H.264 for video and AAC for audio) in a forthcoming release of Silverlight.  As I mentioned in the talk, Microsoft Expression Encoder is also available and can re-encode over two dozen audio, video, and image formats.


How can I upload files through Silverlight?

The Silverlight site has a great video by Tim Heuer on just this topic.  There's also a sample project on the Microsoft Silverlight Gallery that provides for multi-file uploads.


How are those revolving picture displays (carousels) in WPF and Silverlight implemented?

There's a video (with code) on the Silverlight site you may want to review.  I also found a couple of references to implementations from others that you may be able to leverage in part or in whole:

Infragistics, Telerik, and ComponentOne (to name a few) also have a carousel control you can purchase if you don't want to roll your own. 


Is there a Deep Zoom API?

Deep Zoom is the technology I demonstrated that provides for the great user experience in the Hard Rock Cafe memorabilia site.  Deep Zoom Composer provides an interface into building the MultiScaleImage that provides the experience, but the question refers to whether there is an API that would allow programmatically constructing the image from a series of other images.  Here is a Silverlight forum post that provides an option - by wrapping a command line utility called SparseImageTool.exe that ships with Deep Zoom; PhotoZoom is apparently built with this technique.