At PDC 2008 in the session Microsoft Silverlight 2 for Mobile- Developing for Mobile Devices, Amit Chopra revealed some interesting details about Silverlight Mobile that I haven’t seen written elsewhere.
The presentation mainly consists of “here’s Silverlight running on Windows Mobile”. The interesting bits are at the end. I dear reader, present these to you here.
Compact Framework, small but mighty
The Compact Framework provides a great deal of rich device integration and sheer programmability. It is a pleasure to create software for. I even think that Compact Framework based applications have been a reason for customers, particularly in the Mobile Fieldworker areas to adopt Windows Mobile devices.
If you’re a Compact Framework developer like me, you may have been frustrated by the default “yesterday” appearance of the System.Windows.Forms forms engine. It takes a great deal of work to make forms look good.
Silverlight, a Framework Apart?
I for one was very excited last year at the thought of a Silverlight (ie WPF) graphics engine being available for Mobile Device development. I was then saddened to learn that the Silverlight runtime would not be extending the Compact Framework, but would exist in addition to Compact Framework.
This is disappointing news. (I am now showing my disappointed face….beware!) It appears that Microsoft (at the moment) seem determined to give Silverlight minimal access to the device. This is aligned with the idea that Silverlight is only a competitor to traditional Flash app that runs from a Web page.
Although this may be acceptable for certain kinds of desktop oriented Silverlight applications, I doubt this is a believable use case for mobile developers. The power of mobility is not only the ability to access data anywhere, but the ability to talk to the features of the device.
In the presentation mentioned at the outset, there was declaration of the intention to support Webcams, accelerometer and other device features in the future, depending on the support for this on other platforms (eg Windows and Mac).
So, we are restricted to the lowest common denominator. You may believe this is for technical reasons. It isn’t. Because….
Silverlight Uses the Compact Framework!
Amit said that the Silverlight runtime for Windows Mobile may be smaller because it may omit certain codecs and it also shares the Compact Framework Clr. He went on to say that the Compact Framework would be a prerequisite to installing the Silverlight runtime.
A new and nobler purpose for Silverlight Mobile
It’s Microsoft’s belief that targeting Windows Mobile 6.? (Sorry about that WM2003 and 5) and Nokia phones will mean Web users will eschew DHTML and Flash websites for Silverlight ones.
With the proliferation of device operating systems (particularly that pesky iPhone) I don’t think this is a likely scenario. Do you? Well do you?
I’ve I got an idea! As it’s unlikely Microsoft will backtrack on their “one platform everywhere” philosophy for Silverlight, why not, in addition enable Silverlight as a cutdown WPF for the Compact Framework on Windows Mobile? Microsoft, I know you can! Doing this would earn the gratitude of all Compact Developers and provide a side benefit to their current Silverlight efforts on Mobile.
Call to Action
If you agree, please add a comment or bookmark this article using the links below, blog about this yourself or email the people at Microsoft. Amit said they wanted feedback, lets give it!
(BTW Any physical resemblance between Amit and myself is entirely coincidental, so don’t say it)
Giorgio Sardo’s Blog (Email: gisardo @ microsoft com) – Evangelist for Windows Mobile