MIX07 Keynote – Information Overload

BTW – long post! Too many announcements!

I’m just out of the MIX07 keynote featuring Ray Ozzie and Scott Guthrie (Yes I find it a lot of fun that the top guys at Microsoft on the technology side blog about what they are doing). I’m still trying to get my head around what I just heard. They have far exceeded my wildest expectations.

First – the client demos were sweet!

Neil Hunt of Netflix got on stage with some guys from Razorfish and demoed the great rich media and interactive video support in Silverlight. One of the cool things is that it was completely integrated into the back-end Netflix site for ratings, ordering and so on, has a chat app inside, collaborative movie watching where two people can watch the same movie from different parts of the world and it will keep them in sync and let them IM during the movie. That was cool and Netflix is a fantastic backer as they are very demanding on their systems and need the highest quality experience for their clients.

CBS got up and showed how they are integrating pro media with community contributed media tied to that pro media so that they can all of the sudden get content and points of view from an amazing number of sources instead of just their one camera guy.

Top Banana – I was already blown away when this section of the keynote came up. It’s one of the first managed applications with Silverlight and written with XAML and C# in Expression Studio, VS.NET and more. It’s a full blown video editor written in Silverlight. Wait – video editing in the browser? This is really blurring the line between desktop and web application. It’s only 50 kilobytes worth of payload to do all of the video editing. Yes – that’s 50k worth of code that’s downloaded. It does film stripping, frame by frame stepping, cutting, mixing, merging and everything that I could do with video. The did all of this in a month.

MLB.com are doing a ton with Silverlight as well. It has integrated overlays so you can watch the full screen video with overlays of your fantasy teams, pitch counts and more. It even ran on a phone! It’s a great experience and I’d love to talk more about it but I’m numb at this point with all the cool stuff.

Second – the Silverlight Beta (the cross-platform plug-in formerly known as WPF/e) is going to have much richer support for JavaScript and AJAX. That we expected and needed.

Third – there had been a lot of rumors and speculation about the next bit of business and that is that the Silverlight 1.1 Alpha is going to have the same exact CLR as the desktop version that allows you to leverage your existing .NET skills in VB.NET or C# to build RIA (Rich Internet Applications). Read that again slowly though. You will be able to write .NET to run in the browser on the client side of one of these RIA’s. In other words – you’ll be able to run .NET on a Mac in a Safari browser! That includes LINQ and the whole ball of wax! That just put Silverlight RIA’s in reach of any dev shops that are currently doing WPF with C# of VB.NET. And we are going to have support for Silverlight in VS.NET Orcas with a free download called the Silverlight Tools Alpha so we have proper tooling for the developers.

Fourth – The tooling is amazing. Expression Blend can export to XAML directly for Silverlight. That means that I’m not nearly as constricted by the limited number of controls and such that are available for Silverlight compared to WPF. It also manages and writes out all of your timelines, media integration, graphics work and so on. Expression Media does a great job of managing and encoding all of your videos. Expression Web has an AJAX Silverlight drop-in bit that can just drop in an RIA inside an existing application through drag and drop. As mentioned, VS.NET Orcas has support for development.

* Big point here * – Cross-Platform Debugging so you can do live debugging across the network to actually debug on the code that’s running on the Mac. You have access to the memory, objects, single stepping code and the whole nine yards! That’s amazing and it truly enables cross platform development!

* Another big point * – all of the tools from a SOAP perspective

Fifth – the Silverlight Streaming,  a companion service for Silverlight makes it easier for developers and designers to deliver and scale rich media as part of their Silverlight applications. Silverlight Streaming is a storage and video delivery service that will enable developers and designers to upload their application to Silverlight Streaming and then deliver this application to any website globally. Silverlight Streaming will provide 4GB of free storage as well as unlimited outbound streaming at 700 Kbps. For the first year, the service will be free. As the service moves out of beta it will be offered as part of the overall WL Platform offer, with continued 4GB free storage and free streaming up to 1 million minutes of streaming per site per month. Once a website goes over the 1 million minutes of streaming threshold, the site will have the option to take ads and revenue share or pay a small fee to help cover MSFT costs. Check out silverlight.live.com for more on this!

Fifth – and this one came out of the blue for me. The CLR will have full support for the DLR (Dynamic Language Runtime) including Iron Ruby, Iron Python and Managed JScript! Yes, you read that right – I had to ask for clarification when I heard about this too. You will be able to write your applications in C# or Vb.NET or Ruby or Python or Managed JScript! Sweet! That just put WPF and Silverlight (since it’s running the exact same CLR) in reach of any shop who knows XML so that they can write XAML and does programming. 🙂 I’m not saying that there won’t be a learning curve, but HOLY COW you can write Ruby to run in the browser on the client side of your application! For those of you who haven’t looked at Ruby and Python, you really need to take some time to delve into those languages and figure out some of the power and flexibility that dynamic languages bring to the table.

Sixth – Silverlight for Mobile!

Leave a Reply

Your email address will not be published. Required fields are marked *