DCSIMG
You are reading a MIX Online Opinion. In which we speak our minds. timsneath Meet Tim Arrow

Opinion

16Comment Retweet

What’s New in Silverlight 3?

Mar 18, 2009 By Tim Sneath

I thought I’d pop along to Joe Stegman’s packed MIX09 session as a way to quickly distil some more detailed information on the new features in Silverlight 3 – it’s easier to plagiarize someone’s session than to do a write-up from scratch!

Video/Audio. As mentioned in the keynote, Silverlight 3 supports the H.264 video format in addition to VC-1; this is an emerging industry standard that is used by YouTube, and has hardware decoders available on many devices. It also supports the AAC audio format; both this and H.264 are implemented within the MP4 container format (i.e. .MP4 and .M4A files).

GPU Acceleration. This is an opt-in feature that is available within the Silverlight 3 runtime, both in-browser and out-of-browser. Within the Silverlight object tag in HTML, you simply add a parameter EnableGPUAcceleration, set to true, to enable final surface draw GPU acceleration. You then add the CacheMode property on the element itself.

3D Support. Silverlight 3 includes perspective 3D, which gives you much of the benefit of 3D without the “productivity penalty” of having to write it from scratch. Within a parent element, you use a Projection attached property. For example:

<Border.Projection>
   <PlaneProjection x:Name=”p3” RotationY=”-30” />
</Border.Projection>

Animation Easing. There’s now a series of easing functions.

Custom Dialogs. We now have SaveFileDialog support in Silverlight 3. For security reasons (because Silverlight runs in the sandbox), we don’t return a path to the developer. Instead, you can open a file from the result. For example:

mySaveFileDialog.Show();
if (mySaveFileDialog == true)
   return mySaveFileDialog.OpenFile();

Effects. Effects (introduced in Silverlight 3) provide a low-level way to impact visual behavior (rather than functional behavior). We provide drop shadow and blur effects out of the box, but you can also create your own. Custom effects are implemented as HLSL shaders – these can be compiled into byte code using a DirectX SDK utility, which Silverlight 3 then consumes. Shaders allow developers to modify each pixel on a UI element before the pixel is rendered.

Pixel and Media APIs. You can now read/write pixels from a bitmap. There are two ways this functionality is exposed: either as an in-memory bitmap or by saving a visual to a bitmap. Also supported are raw audio/video APIs that enable dynamic sound generation, custom video codecs or indeed alpha video channels.

Local Messaging. One common challenge is messaging across multiple Silverlight plug-ins. In Silverlight 3, we now support “named pipes”-style messaging across not just objects on the same page, but even multiple Silverlight instances across multiple browsers. Joe demonstrated Silverlight chess playing between an instance running on Chrome and an instance running in Firefox.

Out of Browser. This is enabled on a per-application basis, using a manifest (the standard Silverlight 3 template includes the appropriate section: you just need to uncomment it). A user can start a Silverlight out-of-browser “application” either by right-clicking on the Silverlight content, or by clicking on a custom button within the application itself.

Tooling. The Silverlight 3 tools will introduce a new compression algorithm that will reduce the size of XAP files by 10-30%.

Follow the Conversation

16 Comments so far. You should leave one, too.

Bill Moore (gravatar) Bill Moore said on March 18, 2009

Wow that is great. Speaking from the front line several of these features have been the reason I have not been able to sell a Silverlight based solution. Thanks for addressing them guys.

Jesse (gravatar) Jesse said on March 18, 2009

Did they add support for capturing WebCam or Microphone? Love all the new feature but was really hoping that Audio/Video capture would now be possible too

Dan (gravatar) Dan said on March 18, 2009

Will it be available across all platforms within weeks of the windows release? WebCam and Microphone? I’d really like to see that.

Damian Hickey (gravatar) Damian Hickey said on March 18, 2009

Any sign of context menu support?

Kamran Shahid (gravatar) Kamran Shahid said on March 19, 2009

Any Idea of making it truly crossplatform in SL3 version.
Mean Like Flex i have to build one solution on one IDE and it will run on every platform like linux.
Current Moonlight sort of stuff via help of Eclipse is not truly platform independent thing.And it is more convenient to convince the clients rather then in current case.

Jamal (gravatar) Jamal said on March 19, 2009

microphone support is a must do thing , this shall enable VOIP enabled web sites , i think its not there in this release .

Neeraj Trivedi (gravatar) Neeraj Trivedi said on March 19, 2009

Great to listen all new features in silverlight, want to know the support for the right click context menu in new version.

Fungo (gravatar) Fungo said on March 19, 2009

Will it have video play speed variation?

I really miss being able to watch videos on channel 9 at 1.4 or 1.5x speed.

Kelps Leite de Sousa (gravatar) Kelps Leite de Sousa said on March 19, 2009

This is all great. I’m really sad that I could not be there. When/where will the sessions be available for download? So far, the only thing I found was the Keynote and it’s still streaming, no download option available.

Binoj Antony (gravatar) Binoj Antony said on March 19, 2009

And when will moonlight get up to speed with all this?

sean (gravatar) sean said on March 19, 2009

Until webcam and video capturing is supported Silverlight will always play second fiddle to Flash.

Michael A. (gravatar) Michael A. said on March 30, 2009

I was really hoping for more in the 3D department. It appears to be more 2.5D than 3D. Microsoft should incorporate a full 3D rendering engine from Direct3D in Silverlight. Realtime 3D is one of Microsoft’s strengths, and would really move the web forward in 3D, and give it a big advantage over Flash.

guest (gravatar) guest said on April 26, 2009

Personally i very unhappy to see Microsoft position about Silverlight. You write it for windows. You write it for mac.

But Apple and Microsoft not really concurrents at all. Apple sale hardware. Microsoft sale soft. Another market places, understand? Another why i sure about it – there is exist Microsoft Office for mac. Microsoft never want give concurrents good advantages. All commercial ads just games.

You don’t want bring Silverlight to Linux at all. You don’t want develop it. You pay Novell for making shitty Moonligth. Why?
You want decline all responsibility. You don’t care about it at all. You wan’t make you own standarts and want what “all people must use Microsoft Software”. You have 80% at market today? What the hell? You need more? You want 100% ?! Crazy people.

Adobe Flash – multiplatform. They have cool stable x86_64 version for Linux developed by Adobe. But you just need words for sales managers:
“Yes of course we support all platforms”
Today you develop Silverlight 3 beta. Linux people only have Moonligth 1.0 stable. I can’t view Silverlight 2.0 today – becouse Moonligth unstable today.
You cay – this is not our problems, buy Vista. I say you – this is another option why i never buy Microsoft hardware/software. I hate you marketing games like this.

daya (gravatar) daya said on May 04, 2009

Well,
Any idea how silverlight3 enhance rendering of audio/video..?
Is there any support for secure TCP/UDP communication or IPv6 ..?
Is there any source code avilable for capturing either audio or video ..?

Pooran (gravatar) Pooran said on June 08, 2009

Awesome :) Looking forward to develop a whole new range of applications :)

YeahWell (gravatar) YeahWell said on June 24, 2009

I was rummaging through Flex 4(Gumbo) and noticed that while in Full screen mode the text input events are disabled. So a full screen application in Flex 4 is out of the question??!!. (Just let me uninstall Flex 4 Trial – there we go). Lets see what SL3 has to offer.

Add your social network profile — we’ll use it to find your avatar. Or, just add your email. That works too.