Scott Guthrie and Craig Shoemaker take some time out of PDC 2008 to discuss Silverlight and highlights from the keynote address. Scott shares about current-day Silverlight integrations with Live Mesh, living through the Olympics and what might be expected from Silverlight in the future.
Silverlight Outside the Browser
Hosting Silverlight (or any RIA technology) outside the browser is enabled by integrating with Live Mesh. Live Mesh allows data synchronization and storage across different devices between desktop, web or mobile applications. The frame and security model available will host sandboxed applications and will work under many different RIA scenarios.
During the Scott Guthrie’s portion of the keynote address on day two of PDC, he introduces the BBC iPlayer. BBC iPlayer is a mesh-enabled Silverlight application that links the data running in and outside the browser. The "mesh-ified" experience allows users to begin watching a video on the iPlayer website and continue watching the same video on a mobile device – starting at the exact point where the user left the video on the website.
Web-Enabled WPF Applications
A close cousin to the Silverlight-outside-the-browser experience is the web-enabled WPF client application. Scott’s keynote also featured a touch-screen WPF application called Tesco at Home.
Tesco at Home
Tesco at Home is a desktop client that proves experiences that look great and incorporate 3D, web cams, animation and advanced behavior are accessible today with current technologies. The most striking feature of the application is the ability to wave a bar code in front of the webcam and the application adds that item to your shopping cart!
Note: Applications like Tesco’s are finally getting to the point where "average" developers have the tools and resource to make them possible. Coupled with the .NET development stack and a $1,500 touch-enabled machine building applications with surface-like computing and other advance behaviors are possible today.
Are Silverlight and WPF More Than Just a Pretty Face?
The value of the .NET platform is driving home the case that rich UI technologies like Silverlight and WPF are good for much more than animated logos and snazzy status bars.
A single language, a single programming model and a single set of tools makes any investment made in the platform leveraged for creating worthwhile applications on the desktop, the web or in the mobile space.
Case in point: the 2009 Olympics website.
Lessons Learned from the Olympics
The 2009 Olympics website is a true success story for Silverlight. The site hosted the following:
- Over 55 million unique users
- Over 3,500 video clips
- Up to 64 live streams
To add to the pressure, NBC paid $1 billion for the rights to this 17 day event. Silverlight and the .NET stack needed to be able to take media from Beijing, China and find a way to record, encode, and broadcast the content to 55 million people within 30 seconds.
If this project failed it would have been the end of Silverlight.
Not only was the project a success, but the website broke all existing records of media on the web. They were able to record stats on what was being watched, how long, at what resolution and more. The teams knew within a day they had a hit on their hands.
"Make it Happen"
You can almost hear Scott telling his team "make it happen!" once the project was green-lit. Development started in January 2008; the site went live in July with the games beginning in August. The most difficult aspects surrounding the project seemed to be the people and project management.
Technologically a number of supporting systems are required for the Olympics website. Each of the following elements helped ensure a success:
- Robust CMS: A rich content management system to serve the 3,500+ videos
- Advanced Media Encoding: Redundant hardware encoders to encode live feeds for 60 live events
- Sponsorship Support: Ad markers, leading roles, mid-point insertion and delivery statistics and reports for billing
The 1.7 terabits of concurrent data access represented too much data to push through any single data center anywhere in the world. Therefore to support the event, multiple redundant data centers helped serve the site’s content. (Because, you know, if a data center decides to blow up you can’t let NBC lose their $1BB investment!)
While Microsoft played a supporting role to the project, (the NBC development team built the site) Scott’s team made sure Silverlight was ready for the onslaught of the Olympics. They carried out performance tuning and extensive testing of the Olympics scenario.
Nail Biting moments?
With a project of this magnitude there must be one or two close calls, right? Two days before the Olympics started a construction crew in Chicago cut a fiber cable. A couple of hours of bouncing network traffic around were required to keep the system up.
Silverlight Player Ubiquity Strategy
The plan to have a wide-spread install base of the Silverlight player falls under a few categories:
- Killer Content: Sites like the Olympics, Office Web Companions, AOL Webmail, NetFlix Instant Watch and more will drive users to install the player
- OEM Deals: Agreements with partners such as Hewlett-Packard will feature the Silverlight player pre-installed on new machines
- Auto-update: The Silverlight 1 player has an automatic update mechanism that will help bring older player installs up to the current release
Silverlight Search Engine Optimization
The Silverlight team is looking at a number of ways to help expose Silverlight content to search engines:
- Screen Readers: While accessibility features are built in to Silverlight, the team is looking at enhancing the effectiveness of using screen readers on SL applications
- Maintaining URLs: They are looking at ways to publish URLs that will bring a Silverlight application back to a pre-defined state or location
- Hints: Further applications may be able to expose “hints” to help guide search engines to the appropriate content.
What’s to Come from Silverlight?
While Silverlight applications are currently a solid base for media and RIA scenarios, there is a lot more coming to the platform. In the future look for Silverlight to focus more on data for line-of-business and data-centric applications. The team is looking at ways to bring the ASP.NET Dynamic Data paradigm to the platform as well as simplifying n-tier remoting of data in Silverlight applications.
Open Culture: Welcome, jQuery
The recent announcement of jQuery being included with Visual Studio was a ground-breaking milestone for Microsoft. In the past Micro$oft has had an image of being a closed, proprietary evil beast, shunning the world of open source software. This image seems to be increasingly proven wrong.
What is Open?
"Being open" can take on many different meanings. Microsoft’s openness is found by their track record of engaging the following:
- Being transparent about their roadmap
- CTPs, developer previews and early-access betas
- Blogs from people inside Microsoft, doing blog and podcast interviews and the like
- Open into interoperable file formats and protocols
- Collaboration with the open source world
Is there more to come?
Now that jQuery is shipping with Visual Studio, what other open source projects can you expect to see Microsoft cozy up to? Well that all depends on how Scott and his team answer the questions: What do you engage and what do you embrace?
Embracing an open source project with dedicated support and shipping with a Microsoft product is not a decision the team takes lightly. Even beyond the obvious technical harmonies Microsoft may find with a given technology there still remain issues of how the group is run, legal aspect and more.
To engage with an open source project though is much less of a commitment and will perhaps be more common as time goes on.