So I am in the session for Silverlight 2 for Mobiles at the PDC.
So the Public CTP of Silverlight Mobiles will be available Q1 2009, so my guess would be it will made available at Mix09.
We got loads of demo's at the PDC Session. The good news is the same tools you use at the moment to create Silverlight 2 applications will work allow you to create Silverlight 2 Mobile applications. After all it is Silverlight 2 on a mobile :)
YOU DO NOT HAVE TO DO ANYTHING TO MAKE YOUR SILVERLIGHT APPLICATION TO MAKE IT WORK ON THE MOBILE, NO RECOMPILING, NOTHING.
The same app on the web will work on your mobile device.
The demo's given were a Silverlight application on a browser running in the Mobile Device Emulator (Windows Mobile Emulator). Not only did we the demo's in the emulator we saw thee applications compiled and deployed to a windows mobile device, and demo'd
The demos we were given:
- Hello World Button
- Rich Vector Graphic Animation of a Duck (done in blend)
- Baby Smash (by Scott Hanselman)
- Slot Machine
- Connect 4
- Dancing Man
- Web Service Image Downloader
- BBC IPlayer
Different User Experiences for Different Devices
This is not to say that all Silverlight applications are suitable to be run on the phone and desktop. This is due to the sizing of the application. An application that looks nice on a large desktop may not look so nice on a tiny phone, and vice versa. So you can give smaller less rich versions to phones, and very rich versions to desktop applications.
So you may wish to check the device and route them to a suitable version of the Silverlight application. Request Headers give you this information today.
Keyboard interaction is another area where you would want a different experience on the phones. So for example you probably want to limit your app to numeric input for certain devices (especially important in games)
One of the very cool things done, was a gesture helper. This meant the mobile application supported gestures on the phone, by mapping mouse inputs to gestures, very cool. I hope this code is made generally available or production quality code is provided with the CTP (or on codeplex) so everyone doesn't have to keep ripping off Gesture Helpers.
Mobile Devices will run effectively a Silverlight 2 plugin on the device (just like the browser)
Microsoft are trying to work deals so that Silverlight is bundled with Device Vendors, so the user doesn't have to download the Silverlight plugin.
They are looking in the future to support mobile specific functionality, such as capturing camera input (this wasn't demo'd).
There are also plans to run Silverlight 2 applications outside of the browser for mobile devices (just as was announced for desktop applications).
The last demo we saw a Silverlight 2 Mobile application interacting with the cloud.
The chap controlled a WPF application on his desktop via the cloud, and navigating the application on his phone using the accelerometer of his phone. He then was able to transfer object from his machine to his phone via the cloud.
Very cool demo.
So although Silverlight 2 will be supported on Mobile Devices you will wish to give different user experiences to different devices, so you must think about this, design for it, and test it on different devices.
Very Cool Stuff, just wish we had a CTP now.
However you can simulate a lot of this with todays technology, by rendering appropriately for various screen sizes. You just can't test it on a device or emulator.