Silverlight 5 Future Features

Justin Angel picture


Hi Folks,

I’d like to share with you some of the top issues that could be included in Silverlight 5 and get your perspective on them.

The full list of possible features can be found on UserVoice.
This is not meant to be a compressive list of possibilities or an official Microsoft document. These are just interesting highlights from the above mentioned list.


Possible Silverlight 5 Feature #1: More Platform Reach

Silverlight Platform Reach Spectrum

When talking about “reach” there are a few interesting dimensions:

1) Silverlight Browser Support: Silverlight currently only officially supports Internet Explorer, FireFox, Chrome and Safari. Support could be extended to Opera or other less prominent browsers.

2) Operating System: Silverlight is currently limited in the Mobile space (No Symbian support yet) and in the Gaming Console space.

3) CPU Architecture: Silverlight doesn’t support x64 CPUs, Mac G4 PowerBook CPUs, and a few other CPU architectures.

If you think extending Silverlight’s Platform Reach is important vote on this issue @ Implement Silverlight on more platforms
For Silverlight on the iPhone vote @ Get Silverlight on the iPhone


Possible Silverlight 5 Feature #2: 3D support

Matrix3DEx 3D space balder 3d Model Kit3D Sphere

In the future Silverlight could more effectively support 3D user scenarios.

There are a plethora of 3D use cases starting at 3D Modeling, 3D gaming and 3D Virtual World design.
Personally, I do not believe Microsoft should build another 3D framework. 
What I’d like to see the Silverlight Team do is enable success in the multitude of Open Source Silverlight 3D projects.

Such projects include Balder by Einar Ingebrigtsen for advanced 3D modeling, Matrix3DEx by Rene Schulte for 3D space design and Kits3D by Mark Dawson for WPF-Compat 3D API.
However, the existing projects are struggling with rendering performance issues, offloading computation to the GPU and UI virtualization. All missing from Silverlight 4. 

If you’d like to see Silverlight have better support for these 3D projects or just to have a better native story for 3D please vote @ 3D Support.


Possible Silverlight 5 Feature #3: Bundle Silverlight with Windows

Immediate Updates in Windows Update

At Mix10 Microsoft VP Scott Guthrie announced Silverlight Adoption rate is at 60% of all internet connected machines.
In the future, we could hope to see Microsoft bundle Silverlight with Windows or add it as a super-duper-should-have update to Windows Machines.

If you’d like to see this feature implemented vote @ Bundle Silverlight with Windows so that it will always be available


Possible Silverlight 5 Feature #4: Improved WriteableBitmap API

WriteableBitmap API in WPF  WriteableBitmap API in Silverlight

The in-memory drawing API in Silverlight is somewhat limited for advanced tasks, like:
1) No API for Drawing Shapes.
2) No API for Resizing & Rescaling.  
3) No API for Clear, Copy & Crop methods.
4) No API for Conversion to various formats.
5) Performance issues that plague any “1 pixel, 1 read/write” approach.

In future versions of Silverlight we might see these features or other in-memory drawing features implemented.
If you’d like to vote on that please do so @ Enhance the rendering bitmap API

In the meanwhile Rene Schulte has a Silverlight open source project named “WriteableBitmapEx” that enables some of these scenarios.

Matrix3DEx snapshot


Possible Silverlight 5 Feature #6: Store File Permissions Granted by the User

SaveFileDialog Print Screen

Using the OpenFileDialog and SaveFileDialog end-users can respectively grant read and write permissions for any file to a Silverlight Application.
Developers would like to see these permissions persist after the application has been restarted.

We can see in Silverlight 4 RTM that Full Screen, Webcam and Clipboard access already get persisted after application restart.
So it’s not unreasonable to hope this feature will be included in future Silverlight versions.

Remember my Answer for Clipboard Access

If you’d like to see this feature implemented please vote @ Make FileInfo class serializable


Possible Silverlight 5 Feature #7: Add PLINQ and TPL support

Sequential Foreach loop PLINQ foreach loop

In .Net 4.0 Parallel LINQ (PLINQ) and Task Parallel Library (TPL) have been introduced.
With PLINQ & TPL creating, debugging and maintaining multi core applications has been massively simplified on the .Net framework.
Read more about PLINQ and TPL at @ Visual Studio 2010 + .NET 4.0 = Parallelism for the Masses

With Silverlight supporting C# 4 and a majority on new .Net 4.0 features, it is possible we’ll see PLINQ and TPL in future Silverlight versions.
That would allow Silverlight to have the best in-browser threading  solution for any major programming platform.

If you would like to see this feature implemented vote for it @ PLINQ and TPL


Possible Silverlight 5 Feature #8: Reporting Controls and SQL Reporting Services Integration

ReportViewer ControlSQL Server 2008 Reporting Services Print Screens 

Microsoft has a great suite of Reporting and Analysis tools that are part of the SQL Server 2008 product group.
As part of ASP.Net and winforms there are ReportViewer controls that allow to view, zoom, page and export from predefined RDLS reports.

If this feature is implemented it would probably include a new Silverlight & WPF <ReportViewer /> control as well as deep SQL Server Reporting Services integration.

In the meanwhile Perpetuumsoft has a commercial 3rd party component that might help you out.

If you’d like to vote for this feature please do so @ Add Report Controls


Possible Silverlight 5 Feature #9: Media Playback Speed

Windows Media Player, Play Speed Controls

As part of the a user workflow some users watch or listen to media at high speeds.
The Silverlight MediaElement however does not support variable play speed. The WPF property MediaElement.SpeedRatio is missing.
It’s reasonable to assume Microsoft has heard this feature request many times and might be considering it for future Silverlight versions.

If you’d like to see this feature implemented please vote @ Media Playback variable speed/rate


Possible Silverlight 5 Feature #10: Better Full Screen Support

Full Screen Prompt in Silverlight

When a Silverlight-based application is in full-screen mode, most keyboard events are disabled.

Full-screen mode does not support drag-and-drop or multitouch input.

Windowless HTML overlay effects are not supported in full-screen mode.

Quotes from Full-Screen Support article on MSDN.

Silverlight Full Screen mode disables support for some key features in the Silverlight platform.
It is possible that in future Silverlight releases we’ll see some of these issues fixed.

We could see a Silverlight application in full screen mode with a security prompt to enable full keyboard input. Vote for this feature @ Full Screen with Full Keyboard Support
We could see a Silverlight application in full screen mode providing Multi-touch events.
We could see a Silverlight application in full screen mode enable the <WebBrowser> control so applications could integrate HTML content in Full Screen.

Other Silverlight Platform Feature Requests

A lot of other people would like to see a lot of other features implemented in future Silver light versions, here’s a shout-out to a few of them:





There are a myriad of other possible Silverlight features up on UserVoice for you to choose from.
See the full list @ Silverlight Feature Suggestions
If you’d like to make your voice heard leave a comment or better yet open up a new UserVoice issue.

The important thing is that you keep pushing for the features you’re interested in and let Microsoft know what’s important for you.
So go vote! Vote on Silverlight vNext Features



-- Justin Angel