I just got back from the Mix08 conference in Vegas. It was fantastic! Scott Guthrie and Ray Ozzie showed off some new web tools during the opening keynote and it's clear that Microsoft is jumping into the web with both feet. Ray Ozzie pretty much said that Microsoft will be coming out with a new cloud based services model that will include most (if not all) Microsoft applications. Hosted data services are also coming and I'm interested to see how they differ from SQL relational databases. Ray didn't say anything about Microsoft hosting services but if I was in the hosting business I might be a little worried about what will happen down the road.
Silverlight, Silverlight, Silverlight was the battle cry from just about every Microsoftie I met. They are pushing this hard as THE platform for rich internet applications (RIA) in the coming years. NBC will be launching a silverlight based web site for Olympic coverage and if it does everything they showed in the demo the internet is going to grind to a halt with that much video running at once. Clearly, Microsoft wants Silverlight to take down Flash as the defactor way to add video and animation to web sites. Given Microsoft's ability to build great developer tools to support their platforms they just might do it.
Scott Hanselman gave a great presentation on ASP.NET MVC or Model View Controller. He started off by opening Notepad on a 40 foot projection screen and just typing random funny comments about the crowd. The room was silent in less than a minute and I thought it was a genious way to start things off rather than screaming for everyone to sit down.
MVC is an alternate way to build ASP.NET web pages instead of using WebForms. With WebForms you have a .aspx page and a code behind file. The code behind file pulls information from your business objects and binds it to controls on the .aspx part of the form. Everything is in one giant <form> tag and viewstate is used to emulate winforms-like interactions. With MVC you have views which are html pages or template language pages that accept some data and are responsible for rendering out angle brackets. A controller is a class that does not have a corresponding display page and is responsible for pulling data from business objects and packaging it into a bundle of data for a view to render. This is very similar to Ruby on Rails and will give ASP.NET programmers an alternative to WebForms. Scott was very clear to point out the MVC is not replacing WebForms and that the two can co-exist in the same web site if you want.
Wednesday night Microsoft sponsored a party at TAO, a night club in the Venetian where the conference was held. They brought in Steve Wiebe who attempted to regain his title as Donkey Kong champion of the world. Steve wasn't able to beat the high score but he did reach level 22, known as the kill screen, where Mario dies because the programmers were out of memory. The kill screen has only been reached 5 times during competition. If you're in Vegas you have to try the Kobe beef sliders at TAO which are incredible!
This was the first MIX conference that I've been to and it was different from other Microsoft events. There were so many opportunities to meet both Microsoft team members and other developers that I'd really recommend it to anyone building web applications on the Microsoft platform. Next year's Mix09 conference will be at the Ventian in Vegas March 18-20, 2009.