The Silverlight browser plug-in started out back in 2006 as a project called WPF/e – Windows Presentation Foundation Embedded – or as the team also called it, WPF Everywhere.
The idea was that it would ship for the browser in 2007 and then on Windows Mobile by the end of the year. Although Microsoft has demonstrated Silverlight Mobile several times since then, it's only just arriving on mobile.
The Symbian beta is available now and Windows Phone Series 7 treats it as much more than an add-on; it's one of the only two ways to write Windows Phone apps.
The version of Silverlight that will be on Windows Phone (that you can already try out with the emulator in the free Windows Phone Developer tools) is closer to the desktop version than you might expect (and it's hardware accelerated like Silverlight on the desktop).
"This isn't Silverlight 'lite', it isn't Silverlight 'different', it is Silverlight," corporate vice president Scott Guthrie told TechRadar. It includes "all the APIs of the current Silverlight version 3 and quite a bit of Silverlight 4; it's a superset plus some extras".
The difference is less about what the phone can run and more about thinking about what you need on a phone. "Pretty much all the features that we think are mobile-specific, that you'd want in the phone, are there," says Guthrie.
"There are features like printing and more business features that don't necessarily make sense in the phone, but all the graphics, the access to the webcam and microphone, those we already have."
Optimising Silverlight for phones
Microsoft has also done a lot of optimisation of the way Silverlight is rendered on Windows Phone, mainly, says Guthrie, "because on the phone you have ARM processors typically and instead of one giant one you have about four cores the more work you're doing on a processor - one quarter of an Arm processor - the slower your app is going to be. So we did a lot of work to partition the graphics operators out across multiple CPUs, and the animation system. We have to do that because otherwise you can't get above 12 frames per second."
Interestingly, he promises that those improvements will make their way back to desktop Silverlight; "probably in an update to Silverlight 4 and certainly by [the next version]".
The other main difference between Windows and Windows Phone is that Silverlight on the desktop supports multi-tasking (it's based on the Windows standard .NET components); although Guthrie says the Windows Phone OS is "a multi-tasking OS" third party Silverlight apps won't run in the background.
One reason is battery life: "As soon as you allow arbitrary apps in the background, you run things down".
The other is stability: "typically," he claims, "when Windows crashes, it's a driver – but you don't blame your USB mouse, you blame Windows. We're trying to be careful in terms of not providing a hand grenade for people to play with and not realise they can blow themselves up. We're trying to make sure the user experience is good out of the box."
For users frustrated by the notion that, say, the route in their navigation app would go away if they answer a phone call, he promises that the team is listening to feedback and "we're going to continue to innovate and learn".