Microsoft has announced details of Silverlight 5, a major new release of its browser plug-in and desktop runtime for Windows and Mac. Silverlight is also the primary application runtime for Windows Phone 7, though this update does not apply to the phone yet. Silverlight 5 will go into beta in the first half of 2011, and release is planned for the second half of 2011 – no more than a year or so away.
So what’s in Silverlight 5?
On the media side, there is hardware decoding of H.264 video (an overdue feature) plus enhancements including TrickPlay which enables fast-forward and rewind. There is also remote control support of some kind. According to VP Scott Guthrie, you will be able to stream HD video to a netbook.
The bigger area of change is in Silverlight as an application runtime. Here are the highlights:
- Text rendering is much improved, with multi-columns, OpenType support, and control of tracking and leading.
- Postscript vector printing greatly improves printing support, and you can now create a dedicated print view different from what is on screen.
- A new hardware-accelerated 3D graphics API, as well as immediate mode graphics which lets you render directly to the GPU.
- There is a 64-bit version of Silverlight 5.
- WS-Trust support for secure messaging in tandem with Windows Communication Foundation.
- Databinding enhancements, and support for debugging a binding by setting a breakpoint on it.
Alongside these, trusted Silverlight applications have new capabilities. But what is a trusted application? In the past, Silverlight applications become trusted if they run out of the browser and the user gives permission via a dialog. In Silverlight 5 this changes. A Silverlight application can be trusted within the browser as well, though Microsoft says this only works “when enabled via a group policy registry key and an application certificate”. This implies that the feature is aimed at corporate environments rather than for applets with a broad reach.
Once trusted, an in-browser Silverlight applet has the following additional features:
- A new web browser control lets you host HTML content within a Silverlight application.
- Read and write access to My Documents
- Ability to launch Microsoft Office applications – examples include creating an email message or opening a report in Word
- Access to COM components – Microsoft gives the example of accessing a USB security key or a bar-code scanner
- Ability to call native code vith PInvoke (Platform Invoke)
In addition, out of browser applications support multiple windows including child windows, so they can be made to behave even more like normal desktop Windows applications.
You can see the theme here: making trusted Silverlight applications more powerful so that a larger proportion of custom business applications can be implemented in the browser or as Silverlight out-of-browser applications, rather than as traditional Windows applications that require desktop deployment. Put this together with Office 365 and Windows Azure, and you can see how well Silverlight works as a component in Microsoft’s cloud stack – provided users do not have anything inconvenient like an Apple iPad.
But what about the Mac? All these “trusted” features appear to be Windows-only. I asked about Mac support and was told:
We’re evaluating mechanisms for enabling similar trusted applications on the mac.
Fair enough; but the way this is put does suggest that having retreated from any ambitions for broad device reach in statements at the recent PDC conference, it now seems that Microsoft is further retreating from Mac and Windows parity, and moving Silverlight more towards being an application runtime for Windows – though note that there will still be a Silverlight 5 for the Mac and which will have the features that do not require COM or PInvoke.
It is disappointing that there is still no built-in local database support, though there are third-party offerings.
There are a couple of ways to look at Silverlight. Microsoft’s lack of commitment to cross-platform parity and its unwillingness to address broad device support means it does not look good as a broad-reach browser plugin, despite its great features on systems that do support it.
On the other hand, as an alternative to desktop Windows applications Silverlight looks increasingly attractive as its capabilities increase.
More information on the new features here – though note it neglects to mention what will and will not work on a Mac.
I am glad they do not ship a native database, as there is already a SQLite in C# that runs on Silverlight.
This means less work for Moonlight tracking another MS-specific API 😉
I hope they also provide hardware acceleration for 2D (e.g. Direct2D), which would be great for diagramming apps!
Was anything said about enhancements to Visual Studio LightSwitch from the new features of Silverlight 5?
Cheers,
–rj
>Re. LightSwitch.
I didn’t hear any mention of LightSwitch in the Gu’s keynote. I’d also like to hear an update and roadmap on that as well. I think it has the potential to be quite a “big deal”.
A lot of the LOB features in SL they talked about and the Business Intelligence features they talked about, dovetail well with LightSwitch.
Alan Cobb
Tim,
The MAC support or lack of, is really a tax being paid to the Windows side of the business. Given the HTML5 vs SL debate internally now is definitely not the time to flag wave the Apple compete especially with Wp7 in play – career suicide.
P/Invoke and COM support on the MAc make no sense so expecting MS to implement them is silly.
Developers basically are not dumb. If you know you’re deploying across platforms then there are certain features of Silverlight you’ll have to omit. Funny enough thats usually the case no matter what the development platform is.
@skc P/Invoke could work on the Mac. COM would be little use but there is AppleScript.
Tim
That was exactly my thought by the end of the keynote. The word “Mac” was never breathed (did I miss it?). Will h/w acceleration work on the Mac? Will the new 3D capability work on the Mac? If so, didn’t Microsoft think developers would be interested in knowing it?
Microsoft has already thrown cold water on the hope of SL supporting any non-Windows platform other than the Mac. And now they don’t even talk about the Mac anymore. It is starting to feel like SL is going to (d)evolve into a Windows only technology, which doesn’t make much sense as a development platform for web apps (except maybe internal corporate web apps). The #1 suggestion on the Silverlight Feature Suggestions Forum is “Implement Silverlight on more platforms”. That suggestion has far and away more votes and comments than any other suggestion. Yet Microsoft does not seem to be listening. Sadly, they seem to be moving in the opposite direction.
I heard about an iOS support. If it’s true it must be implemented without any browser installation or plug-ins. Did you heard something about it?