Well, I made it back from Microsoft's MIX 2010 conference late Wednesday night or early yesterday morning depending on how you want to look at it. I came back from Las Vegas with a thinner wallet, some more information on the latest Microsoft techs, and an odd expectation that I should be periodically offered another gin and tonic at my desk.
In a nutshell, I enjoyed my time and there was a lot of good content to be sure, although nothing too surprising. I missed any sort of "wow" aspect of the show. I guess, while what was said was really cool, it wasn't new. The Kool-Aid was still good, but I've had that flavor before. So, for those that couldn't make it, I will try and highlight some of the better items and point you in the right direction for resources in case you missed some of the more common items.
Windows Phone 7
Probably the most anticipated part of MIX was more information on the new Windows Phone 7 that was announced last month. Now, as a developer, the thing that appealed to me the most was that it supports Silverlight development. Not Silverlight-lite, but full blown Silverlight! Currently it is capable of running Silverlight3 apps and 4 is rumored to be on its way. It is just not promised to be included by the projected late fall release date. Also, this current incorporation of Silverlight is just for sandboxed out-of-browser applications. The browser (an offshoot of IE) is still in progress as far as what plugins (Silverlight, Flash, etc.) it will support. Again, they are trying to get Flash and Silverlight in the browser by their launch date, but no guarantees. They also have their very own App Store, I mean marketplace for people to either try or buy games and applications. Developers may specify what is included in the trial version but applications must be installed either from the marketplace or directly from the developer. This may make it a little interesting for internal enterprise application development, but they may change this in the future. And in order to encourage the development of applications for the phone they are releasing free versions of tools. Also, as an added bonus, if you're developing on Windows7 with a multi-touch enabled monitor, the emulator in VS2010 will behave just like touching an actual phone! And for you game developers out there, XNA development is also fully supported for the phone!
Alright, well, first thing to notice is that they now claim to have Silverlight installed on 60% of computers that connect to the internet. Slowly but surely it is getting out there. Hopefully this will exponentially increase as more and more companies continue to adopt it. They did announce the release candidate of Silverlight 4 is available and that the official release should be in April. They also are providing a free upgrade to Expression Blend 4, the beta of which can be downloaded now. Silverlight 4 has a whole slew of new features and controls which has been talked about largely since last year's PDC. Perhaps once I catch up on everything I'll dive into some of these features in another posting.
Windows Azure Platform
So, real quick, the idea of hosting your application externally with a separate provider that would handle the management of your environment and ensure your uptime based upon some pre-agreed SLA is nothing new. The advantages that you get today are very similar to the advantages from a while ago. What then is all this fuss about "the cloud" if the paradigm isn't anything new? Well, what Azure is, is a platform that allows you to manage your remotely hosted data, applications, what have you, in a much more abstracted fashion. Yes, there are ultimately virtual machines on servers somewhere, but you don't have to think about it that way. If you want more storage space or processing power, just turn up the dial and there you go. You don't need to worry about spinning up a new OS and installing the necessary software. If you need a new database, well, there you go! SQL Azure currently allows you to have databases in the cloud (in 1Gb, 10Gb, and most recently 50Gb sizes) which may be managed like any other database. The data may also be exposed as OData feeds (more on that below) just by checking a single box. They are currently working on a profiling tool as, since it really is a shared environment, the standard profiler will not suffice. In Windows Azure, you may also configure IIS on it to run PHP. The MS guys kept reiterating that they aren't as concerned with what you use it for as long as you use it, which I thought a little interesting.
Internet Explorer 9
As if having clients be two versions back on IE wasn't bad enough, IE9 is coming and looks really nice actually. There are a couple of big things to note. One is standards compliance. IE9 has improved upon its already much better Acid3 test scores from PDC. It also adheres more closely to CSS3 and HTML5 specifications. Better than the current versions of FF and Chrome even! Yes, I am comparing a beta version of IE to production versions of other browsers, I realize that. My hope though is that by the time IE9 releases, the handful of CSS3 inconsistencies still in some of these other browsers will also be resolved such that everything is nice and consistent and I won't have to worry about it. I was also happy to hear that Microsoft is making a concerted effort to be more involved with standards committees and the community at large (such as more involvement with JQuery). Another big thing that they highlighted about IE9 was the hardware acceleration. It was really hard to miss as is the impact it will have. While the current version of Safari still seems to be faster than this latest build of IE, when it came to leveraging some of the new capabilities of HTML5, IE absolutely crushed the competition. It was really impressive actually. I'm still not happy with the idea of improving performance by throwing more power at something instead of making it more efficient, but the speed and handling was undeniable. Also, IE9 will not run on XP because of the requirements for the hardware acceleration. So hopefully that combination will get people onto Windows7 and IE9 and off of XP and IE6. Hopefully.
OData & Codename "Dallas"
Another topic that got a lot of coverage at MIX was OData. OData is Microsoft's Open Data Protocol which they are pushing to get data out into the wild for easier and more efficient consumption. When I say they are pushing it, all SharePoint 2010 lists will expose their information as OData feeds, Excel2010 will be able to consume this type of data, and man did they make it easy to program against! The idea is that certain people, companies, organizations have really extensive data that can be leveraged to enrich applications and user experiences instead of each individual person or company having to throw something together. An example they gave was using Netflix's information about movies and another company's information about UPC codes to scan a DVD's barcode and pull up all sorts of additional information about it. Now, as data is one of a company's greatest assets, Microsoft wanted to allow this information to be bought and sold. Enter project code named "Dallas". Dallas is basically a marketplace for data feeds. You may specify the terms and conditions for using your data as well as what and how your data is organized. There are a couple of dozen feeds out there currently and more should be coming.
And lastly, as any blog will never do justice to actually being at MIX, there are videos of most of the sessions that you can watch online. My recommendation is to grab few tall boys, stay awake until dawn, throw away any money you may have in your wallet, sit down and watch one or more of the following…
Developing with WCF RIA Services Quickly and Effectively – a nice overview for those that may have heard some of the pretty cool benefits but want something a little more applicable to the real world than most tutorials.
An Hour With Bill Buxton – Bill is just flat out entertaining. He offers some great insights into usability and how we should be designing as opposed to how we are.
The HaaHa Show: Microsoft ASP.NET MVC Security with Haack and Hanselman – an interesting format where we see how various attacks are made and what should be done to prevent against them.
Lap around the Windows Azure Platform – for those that don't know much about Azure or this new cloud paradigm, this is a nice overview.