Pages Menu

Posted by on Dec 2, 2010 in Development | 0 comments

Silverlight Firestarter: Silverlight 5

I’ve been watching the Silverlight Firestarter event tonight, via live stream. I’ve not seen all of it, and I’m still watching it now, but this is my list of take-aways from the keynote and some of the other sessions. I’ll be updating this post with the video feeds for each presentation as they become available.

Edit: now that the live streaming has finished you can either watch the whole thing, or jump to different presentations. The video is at Here are the timings for the stream for each of the different presentations:

  1. Scott Guthrie – The Future of Silverlight – 00:00:30
  2. Jesse Liberty Data Binding Strategies with Silverlight and WP7 – 01:41:11
  3. Yavor Georgiev – Building Compelling Apps with WCF using REST and LINQ – 02:28:32
  4. Dan Wahlin – Building Feature Rich Business Apps Today with RIA Services – 03:56:04
  5. John Papa – MVVM: Why and How? Tips and Patterns using MVVM and Service Patterns with Silverlight and WP7 – 04:45:44
  6. Tim Heuer – Tips and Tricks for a Great Installation Experience – 05:41:22
  7. Mike Cook &  Jossef Goldberg –  Tune Your Application: Profiling and Performance Tips – 06:27:12
  8. Jaime Rodriguez – Performance Tips for Silverlight Windows Phone 7 – 07:26:47

Keynote – Scott Guthrie

First up was the Keynote, with Scott Guthrie.

Scott highlighted that Silverlight was definitely not dead, and proved it by announcing Silverlight 5, which comes with a slew of new features. There was some good examples, including one which started out as a demo, but has now been released as a “real” app: Facedeck.

There was a great mini-demo showing how easy it is to stream video from a web-cam using Silverlight, in a way that is accessible even by devices that don’t support Silverlight, such as Apple iPads. There’s also some stuff that’s been done in SL5 to allow the application to utilise hardware graphics power, rather than just software rendering. Using IIS Media Services 4 and Expression Encoder were used to go to fully working webcam video running on laptop, Windows 7 phone and iPad in under 5 mins!

There was a good reminder of the PivotViewer control, which I saw a couple of months ago and really must play with.

Then came some really good stuff in quick succession. First was debugging support for XAML code. This should make XAML a much more friendly place. Standard breakpoints controls throughout!

Secondly was an automated UI testing tool for Silverlight, which will be built into VS 2010. This looks exactly like I always wanted WinForms UI testing to look like. User recording, drag text and create verify rules, recorded journeys saved as code and editable etc – all very very cool.

Finally, there was a quick demonstration of Cresent. This is apparently built of SQL Denali, so I have to look further into this, but the Silverlight stuff looked really impressive. I’ve been spending the last couple of days doing R&D on Sharepoint 2010, Performance Point and BI, so that’s really rung a bell. Looks like Microsoft will be shifting the ground just as I get my BI feet!

You can follow Scott on Twitter: @scottgu

Data Binding Strategies with Silverlight and WP7 – Jesse Liberty

Jesse followed the Keynote with an amusing talk on databinding in Silverlight (4). If you’re new to databinding in Silverlight, this is definately worth a watch. One thing I learnt tonight:

in c# you can avoid public properties that just set and get using this syntax:

public int myInt {get; set;}

Jesse also gave a great explanation of why you shouldn’t be scared of item templates (I was) and good examples of how to perform one and two-way data bindings.

Jesse has a load of tutorials and other useful information on his website:

You can follow Jesse on Twitter: @jesseliberty

Building Compelling Apps with WCF using REST and LINQ – Yavor Georgiev

Yavor talked about the differences between WCF and WCF RIA. RIA is simpler than WCF, but there are things you can’t do. However, for solutions that are simple and Data – Model – View based, then RIA is much quicker.

He also gave a good explanation of why Silverlight only makes asynchronous service calls, and what you need to know if you’ve only ever made synchronous ones.

When debugging Silverlight making service calls, there are two things you can do to make sure the errors you’re getting back are as meaningful as possible:

  1. Use the client network stack (instead of the browser one): WebRequest.RegisterPrefix(“http://”, WebRequestCreator.ClientHTTP)
  2. In the web.config of the service set IncludeExceptionDetailofFault to true. This is strictly for testing only, not production!

Next up was a quick flow through doing authentication using both Windows Authentication & ASP.Net auth. However, he also pointed to the Windows Identity Foundation, which is how you do it “properly”!

Yavor finished with an overview of how you consume data from existing services, such as older SOAP webservices, or RSS feeds etc. Note: for RSS Silverlight has a SyndicationClass you can use.

You can follow Yavor on Twitter: @digthepony

I’m pretty zapped now (after a full day at work), but I’m listening/watching Dan Wahlin presenting about RIA, which I need to watch again when I’m paying proper attention, and looking down the list there’s plenty of other good stuff to see.

If you’re into Silverlight, if fact, especially if you’re NOT into Silverlight but think you probably should be, the Firestarter event is a great way of propelling yourself into the application space, and giving you some ideas to get going with it.

John Papa MVVM: Why and How? Tips and Patterns using MVVM and Service Patterns with Silverlight and WP7

Written by Tom Morgan

Tom is a Microsoft Teams Platform developer and Microsoft MVP who has been blogging for over a decade. Find out more.
Buy the book: Building and Developing Apps & Bots for Microsoft Teams. Now available to purchase online with free updates.

Post a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.