| Comments

The Silverlight 5 Release Candidate (RC) is now available for developers to download.  As with previous preview releases, this is a developer-focused release, which means no production releases, no go-live license, etc.  This is made available for you to test your apps, upgrade to get latest features and to deal with the changes from beta to RC.

The beta was a great release and preview of what the team had introduced as new features.  You can read back on my Silverlight 5 guide to new features post regarding if you haven’t understood the latest and greatest additions.  However there are now some new available features in the RC including:

  • P/Invoke for calling native methods
  • 64-bit support for the plugin
  • Vector printing
  • Capabilities to support remote controls (for media)
  • In-browser trusted apps
  • PivotViewer now a part of Silverlight (with new features)

Some things have changed from beta to RC, to be sure to take a look at your code, references, namespaces, etc.

Pete Brown has a great announcement post on his blog with links to his (updated for RC) tutorials and videos for Silverlight 5. Be sure to go on over there and read and get the links.

| Comments

I’ve been working on some stuff around templates lately and had my own opinions of some of the value of certain features of the Visual Studio template functionality.  What I’m speaking of here is when you choose File…New Project or on an existing project Add Item.  Both of those show you a list of templates.  When you select one most typically you get new files in your project.  It is one area of Visual Studio that is the simplest to extend and provide specific templates for your developers.

There is an option for template developers to specify what, if any, files are open by default once the template is added.  Using Silverlight as an example, when you create a new project you’ll see that the default MainPage.xaml file is opened for you in the designer.  I wanted to get a feeling of what developers thought of this functionality.  Help me with some research?

This is, of course, totally un-scientific and I just wanted to get a litmus test of what people thought of that functionality (opening files by default, not just the concept of templates). Thanks in advance for helping out!

| Comments

Last night after a quick e-mail exchange with Phil, David and Scott I revised my Silverlight Toolkit “NuPack” packages I had previously created when NuPack NuGet first came out.  At the time there were a couple of things still not supported and frankly, I got busy and never bothered to check back.  Scott had seen something on a forum inquiring why Silverlight stuff, namely our open source controls, aren’t deployable via NuGet.  There wasn’t any other reason other than resources not currently scheduled to add this to the build flows, etc.  So I spent a few minutes revising the packages and putting them up there:

Silverlight Toolkits on NuGet

What you see above is the “Add Library Package Reference” results after you install NuGet.  Now instead of having to install an MSI, etc. you can basically add a reference to the package and the bits will be copied to your project and automatically referenced.  In order to componentize the main Silverlight Toolkit, I created the NuGet packages in a way that they can be individually consumed, or a meta-package as “All.”  It’s cool that NuGet allows you to create a meta-package which is basically a dependency graph.  For instance, my “all” package has zero content…but here is the .nuspec contents:

   1: <?xml version="1.0" encoding="utf-8"?> 
   2: <package> 
   3:   <metadata> 
   4:     <id>SilverlightToolkit-All</id> 
   5:     <version>4.2010.04</version> 
   6:     <authors>Microsoft</authors>
   7:     <description>The complete Microsoft Silverlight Toolkit.  Details at http://silverlight.codeplex.com</description> 
   8:     <language>en-US</language>
   9:     <licenseUrl>http://silverlight.codeplex.com/license</licenseUrl>    
  10:     <projectUrl>http://silverlight.codeplex.com/</projectUrl>
  11:     <dependencies>
  12:       <dependency id="SilverlightToolkit-Core" version="4.2010.04" />
  13:       <dependency id="SilverlightToolkit-Data" version="4.2010.04" />
  14:       <dependency id="SilverlightToolkit-DataViz" version="4.2010.04" />
  15:       <dependency id="SilverlightToolkit-Input" version="4.2010.04" />
  16:       <dependency id="SilverlightToolkit-Layout" version="4.2010.04" />
  17:       <dependency id="SilverlightToolkit-Theming" version="4.2010.04" />
  18:     </dependencies>
  19:     <title>Silverlight Toolkit - All</title>
  20:     <owners>Tim Heuer</owners>
  21:     <iconUrl>http://silverlight.microsoft.com/assets/sl-32.png</iconUrl>
  22:     <tags>silverlight toolkit sltoolkit</tags>
  23:   </metadata> 
  24: </package>

It’ basically defines the pointers to what it needs and NuGet does the magic to manage the dependencies on install.  For the Silverlight for Windows Phone Toolkit, we also have icons.  NuGet allows me to package up those icons as well so that when the package gets added, so do the icons (NOTE: there is still a step to mark them as content in the project).  I point this out because when the phone toolkit first came out some of the samples weren’t working for people because they didn’t read that they had to actually include some icons to get them to work.  Using NuGet, at least we’re able to help them even further.

I really like this model.  I love that I can use a familiar “Add Reference” gesture in Visual Studio, but I can also use a PowerShell VS window to do my package management as well if I wanted.  Take a look at the NuGet stuff and if you are a Silverlight developer, now you have everything easily at your fingertips!

NOTE: The version numbers in the toolkit packages are package version numbers.  We’ve never really promoted the toolkit versions as they literally are (i.e., 4.0.31319.blah) but rather as the release timeframe i.e., “April 2010” release.  Because NuGet follows CLR versioning taxonomy I created the package versions to hopefully be somewhat descriptive: 4.2010.04 – For Silverlight 4, April 2010 release – as an example.  It’s not perfect, but it works.

NuGet has over 670 packages now in the repository with an amazing set of tools readily available at your fingertips.  There are some good Silverlight nuggets in there as well and it is nice to have our toolkits in there now also!  When updates come out, the Library Package Manager will show the updates, giving the developer the option to update them quickly.

Hope this helps!

| Comments

Today we are releasing an update to Silverlight 4.  This is an update to two areas where no workarounds could be provided for customers and we found it important to fix.  The two issues in today’s update (which brings Silverlight to version 4.0.51204.0) are:

Diacritics

Foreign diacritical marks (usually accent marks on non-US languages) do not display in a TextBox control or a RichTextBox control in an out-of-browser (OOB) application on the Mac platform.

This update simply fixes what was a broken piece of functionality.

Trusted and Signed Applications

Before you apply this update, a Silverlight 4 OOB application can enable an update only when the application is signed with matching certificates that have not expired.

This update relaxes this restriction. After you apply the update, an OOB application can enable an update if the following conditions are true:

  • Both the new application and the old application have valid signatures.
  • The new application is signed with a trusted certificate.
  • The Subject and the Issuer of the certificate that is used to sign the new application match those of the certificate that is used to sign the old application.

Summary

This update will be provided via Microsoft Update and other auto-update mechanisms for users.  We felt the need to service these issues because of the lack of a usable workaround for customers.  In the end this will benefit all Silverlight out-of-browser applications.

If you are a developer, you can always update the latest developer runtime by downloading it here: Silverlight Developer Runtime

You can read the ‘official’ KB article 2477244. Hope this helps!

| Comments

Silverlight 5

Today we had the SIlverlight Firestarter event and revealed to the world for the first time, not only the plans for the next version of Silverlight, but also a slew of demonstrations of some key features.

If you weren’t able to attend live or online real-time, we have recorded the sessions which will be available later this week on Channel 9.

There has been a lot of confusion on the future of Silverlight.  Microsoft wants to ensure we have a great developer platform portfolio that supports all great technologies like HTML5, Silverlight and WPF.  We’ll continue to invest in these technologies for the future of developers to target multiple platforms, technologies and devices.

But for now, let me share some of the things we announced that we’re working on to deliver for Silverlight 5…

Media Improvements

  • Hardware Decode and presentation of H.264 media
  • “TrickPlay” allows video to be played at different speeds and supports fast-forward and rewind. At up to twice the speed, audio pitch correction allows users to watch videos while preserving a normal audio pitch.
  • Improved power awareness prevents the screen saver from being shown while watching video and allows the computer to sleep when video is not active.
  • Remote-control support allowing users to control media playback.
  • Digital rights management advancements allow seamless switching between DRM media sources.

Application Development

  • Fluid user interface enables smoother animation within the UI. Layout transitions allow developers to specify animations to apply when elements are added, removed or re-ordered within a layout. This provides smoother user experiences when, for example, items are inserted into a list.
  • Text improvements make it possible to build rich magazine-style text layouts:
    • Multicolumn text and linked text container allow text to flow around other elements.
    • Tracking/leading set precisely how far apart each character is for full creative control.
    • Text clarity is improved with Pixel Snapping.
    • Text layout performance is significantly improved.
    • OpenType support has been enhanced.
  • Support for Postscript vector printing enables users to create reports and documents, including the ability to create a virtual print view different from what is shown on the screen.
  • Applications can now work the way users expect with added support for double-click and ComboBox type ahead.
  • Databinding enhancements allow more work to be done more easily via XAML:
    • Debugging support now allows breakpoints to be set on a binding, so you can step through binding failures.
    • Implicit DataTemplates allow templates to be created across an application to support a particular type by default.
    • Ancestor RelativeSource allows, for example, a DataTemplate to bind to a property on the control that contains it.
    • Binding in style setters allows bindings to be used within styles to reference other properties.
    • The DataContextChanged event is being introduced. Markup extensions allow code to be run at XAML parse time for both properties and event handlers, enabling cutting-edge MVVM support.
  • Networking and Windows Communication Foundation enhancements:
    • Reduced network latency by using a background thread for networking.
    • WS-Trust support: Security Assertion Markup Language authentication token.
  • Silverlight 5 performance improvements include these:
    • Reduced network latency by using a background thread for networking.
    • XAML parser improvements that speed up startup and runtime performance.
    • Support for 64-bit operating systems.
  • Graphics improvements
    • Graphics Processing Unit (GPU) accelerated 3-D application programming interface (API) provides rich graphics on the Web for building advanced data visualizations and rich user experience (UI).
    • Immediate mode graphics API allows direct rendering to the GPU.
    • Hardware acceleration is enabled in windowless mode with Internet Explorer 9.
  • Silverlight offers a new class of trusted applications that brings desktop capabilities to the browser for the first time. These features, when enabled via a group policy registry key and an application certificate, mean users won’t need to leave the browser to perform complex tasks:
    • Host HTML content as a Web browser control within the Silverlight application. HTML pages, such as help content or e-mail, can be integrated within the application.
    • Read and write files to the user’s My Documents folder, making it easier to find media files or create local copies of reports.
    • Launch Microsoft Office and other desktop programs. Users can open Microsoft Outlook and create an e-mail message, or send a report to Word utilizing the power of Office.
    • Access devices and other system capabilities by calling into application COM components. Users can access a USB security card reader or a bar-code scanner.
    • Enjoy full keyboard support in full screen, which enables richer kiosk and media viewing applications.
    • Call existing unmanaged code directly from within Silverlight with P/Invoke.
  • Out-of-browser trusted applications are further enhanced:
    • Existing unmanaged code can be called directly from within Silverlight with P/Invoke.
    • Child Window support allows multiple windows to be launched from the application.

Summary

So as you can see an impressive list of features we’ve been really working hard on to deliver.  We hope you like the features.  Please continue to suggest features to our team at http://silverlight.mswish.net and vote up others that already exist.  We really hope you look forward to the next version of Silverlight as we’re excited to bring it to you.

Sorry to burst your bubble, but no downloadable bits for you to play with just yet :-).

Hope this helps!