MIX 07: Wrapping Up and Returning to Earth

by John Osborn

The 72-hour conversation known as MIX 07 is over, and I'm home again, with a real lawn that's filled with unplanned violets and dandelions and neighbors who are still asleep when I step outside to pick up the morning paper.

What's the right Las Vegas image to press into service as metaphor for this "game changing" event, as Ray Ozzie and many bloggers have called MIX 07? The mouse colored hills and flats that give way to the flashing lights of Las Vegas Boulevard (aka "the Strip") as you descend into McCarren Airport? The piles of chips changing hands at the Venetian's roulette tables 24/7? The nearly full moon above MIX party-goers on the Roof of the Pure Nightclub at Caesar's Palace on Tuesday night? The electronic din and the crowds milling about the Treasure Island casino at 2:30 a.m. as I headed for the airport shuttle Thursday morning?

Any of the above would do. But for me, the memory that stands out is a human one: the near standing ovation the 4000 conference attendees gave Scott Guthrie, General Manager of the group responsible for ASP.NET 2.0, ASP.NET AJAX, and now Silverlight, when he walked onstage at the Monday keynote to take the audience through the major announcements of the day.

Over the past few years, Scott has emerged as one of the most prolific and accessible of Microsoft's bloggers, even as his responsibilities have increased. Like many of my peers, I often find myself going first to his site for a concise technical synopsis whenever a major announcement is made. You could sense a genuine warmth in the applause (and cheers, even) which took several moments to abate. What did it mean ? It struck me as both an appreciation for Scott as a person and for the steady stream of new frameworks and tools the UI Frameworks and Tools team he leads has released to the Microsoft developer community as the web has evolved.

The real star of MIX 07, of course, is the Silverlight 1.1 Alpha (formerly known as "Codename WPF/E"), a new version of Microsoft's cross-browser, cross-platform plug-in for delivering so-called Rich
Internet Applications (RIA). Think of it as a new development platform, one that happens -- by design -- to play well with the HTML DOM, with JavaScript, and with the backend server of your choice, preferably ASP.NET, but also PHP or even Rails. With Silverlight, it's now possible to write .NET applications that run on any of four tiers: a desktop client, a web server, inside a database (as a SQL Server 2005 CLR-hosted stored procedure) and, finally, in a browser. The achievement is made possible by development of a mini-CLR that runs in Internet Explorer, Firefox and Safari browsers on Windows and Macs. Silverlight 1.1 runs a more complete version of the .NET runtime than the one that's distributed with the Silverlight 1.0 Beta, which is primarily a tool for adding graphics and media to existing ASP.NET AJAX applications. With Silverlight 1.1, you can accomplish much more. Here's a quick rundown of what you get:

  • a refactored version of the .NET CLR, with memory management, garbage collection, managed exception handling, and just-in-time compiler and execution engine;

  • a subset of the .NET base class library, including the type system, collections, IO, support for isolated storage, regular expression engine, reflection, and so on;

  • a feature-rich presentation framework, as you would expect; but it's worth noting that while Silverlight 1.1 will support custom controls, early versions do not include a ready-to-use control library

  • a data framework, including LINQ and XML support; and

  • a communications framework that ultimately will include support for web services, Atom/RSS and more.

The Silverlight CLR weighs in at roughly 4 Mb and installs on first download in less than 30 seconds. The execution environment is very fast, beating JavaScript handily, while providing functionality that's just not possible without a runtime like .NET. This amazing, shrinking CLR was achieved by leaving some things out (like COM), by extreme refactoring (like reducing the color enumeration from hundreds to six or nine) and by assigning space budgets to the various feature teams. The goal is to keep the size below its current 4 Mb, but if future applications need more, Silverlight will allow them "pay for play", enabling them to add types to the framework as required. Silverlight, says Guthrie, will allow "friction-free" deployment of .NET.

You program a Silverlight application with either C# or Visual Basic, or with one of the dynamic languages announced at MIX. IronPython, IronRuby JScript (a new ECMA 3.0 compliant version), or VBx (Visual Basic 10, which will include new dynamic programming features).

To get yourself up to speed on what all the excitement's about, I'd start first with the Scott Guthrie interview on Channel 9 and then take a look at the SilverLight Architecture article on MSDN , a good overview of what's included. Check out the handy visual it provides showing the differences between the Silverlight 1.0 and 1.1 packages. Also, check out the great Microsoft Silverlight 1.1 Developer Reference poster, which maps the collection of technologies and products lined up to support the new platform.

If you want to see slides and demos, there are some excellent developer breakout sessions posted at the MIX 07 site including (sorry, no direct links available):

  • DEV 07 and DEV 22: Building Silverlight Applications Using .NET (Parts 1 and 2)

  • DEV 11: Building Rich Web Experiences Using Silverlight and JavaScript for Developers

  • DEV10: Extending the Browser Programming Model with Silverlight

To see the complete list of developer sessions, go to the MIX 07 sessions page, select "MIX07" as the conference, "Breakout" as the session type, and "Developer" as the track type.

Finally, don't forget to check out the new O'Reilly Short Cut, Getting Started with Silverlight, by Microsoft MVP and Silverlight insider Shawn Wildermuth.

There was more to MIX than Silverlight, but there's hardly room to do the other announcements justice. Microsoft released the Visual Studio "Orcas" Beta, which now supports ASP.NET AJAX and JavaScript, as well as Silverlight and the new dynamic languages. The "Orcas" Beta includes an ASP.NET Futures CTP package which contains new dynamic data controls that are distinctly Rails-like in their functionality, plus new controls for adding Silverlight media and access to XAML objects, new AJAX functionality, support for dynamic languages in ASP.NET and more. Also unveiled was the alpha of a project code-named "Astoria", which is developing an approach to data access that moves the heavy lifting in data-centric applications out to the web where it can be exposed as web data services and accessed by clients using HTTP, JSON and XML. There is much to be unpacked here, and we'll be taking a closer look in the weeks ahead.

In a MIX session that he led with Matt Gibbs (co-author of the O'Reilly ASP.NET AJAX UpDate Panel Short Cut and member of of the ASP.NET AJAX team ), Jeff Prosise, a Wintellect co-founder and consultant, said we would all remember MIX 07 as a revolutionary moment, the time "when the way we program the web changed." We'll have to leave that judgment to the future, but in bringing a new programming model to the table, Microsoft has at least broadened the web development game for everyone, regardless of your current platform of choice. And for Microsoft developers, Silverlight brings more than a measure of salvation, validating their investment in .NET technologies and tools and opening a way forward for them to lead the revolution as applications move from the traditonal Windows desktop to the web.