Silverlight 5 Future Features

Justin Angel picture

Justin
Angel

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:

image

image 

 

Fin

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

 

Sincerely,

-- Justin Angel



Comments

Hardy Leung Says:

Justin,

Thanks for sharing your thoughts on Silverlight 5.

Regarding WriteableBitmapAPI, please keep in mind that WriteableBitmapEx is *NOT* a substitute for better WriteableBitmap API. WriteableBitmap does not lack functionality, but performance is just not there (not rschu's fault though, he used what he can). There are many highly touted HTML5 scenario that simply cannot be done in Silverlight no matter how hard one tries. For example, http://mugtug.com/sketchpad. Someone can do it in Flash, someone can do it in HTML5 canvas, but no one can do it in Silverlight at this moment, not at the level of responsiveness shown in that application.

Thanks.

Hardy Leung (ksleung@tagxedo.com)
Tagxedo, word cloud with styles
http://www.tagxedo.com

Jens Lewald Says:

No one can use your example.

Because it works only in some browsers.
That is the bigest problem of html5.

Braulio Says:

What about copy / pasting a bunch of XAML and pasting it into e.g. word or... (similar approach we do with an HTML page)?

Bart Czernicki Says:

Nice article. I voted for 3D support already. That would be big.

I also would love to see some kind of local database that can be synced with RIA Services(?)

Jose Luis Latorre Says:

Great one, love uservoice and voted again - all my previous sl3 requests were "done" except for 3D support...
Also added one wish I have... Native Natal support...

Definitely being able to interface through this device would add an edge, multitouch is here but the future is 3D movement & interaction, for games and for business... so that's my wish? Your thoughts? :)

Navedac Says:

Have MIDI support in Silverlight 5 ?

Jaime Bula Says:

Fix the save as dialog so it can have a default (suggested) name for the file that is being downloaded.

Sung Says:

I am really missing a trigger feature in XAML.

david Says:

Default name in save dialog + trigger + Reporting services + 3D + GroupSize in Grid.
That will make my life so easier.

Daniel Says:

What bout more sophisticated authentication/security/crypto functionality (client certificates as credentials for web service calls, creating/verifying signatures, more encryption algorithms)/ WS-* support???...

Kevio Says:

Silverlight 5 needs to support playback of .wav files. I have
a repository of hundreds of GB of .wav files that cannot
be converted to mp3, so I need this feature (and I need it now).

Ray Says:

you're so demanding ;)

Pradnya Says:

I wished and would be a kind request to include this feature in Silverlight 5

Nick Says:

Silverlight would be adopted much faster if it were easier to work with data. Traditional .Net developers don't want to have learn a new way of using data sources to adopt this! Figure out a way to make it happen, paaaalease.

Pooper Says:

Better printing support, PDF support

Georges Says:

Any new information about the writeableBitmap possible new features ?

Thanks