Mike Hodnick's Blog

MIX11 Review

MIX I'm back from Microsoft's MIX11 Conference which was held in Vegas this past week. The best part of these conferences is the networking; I met a lot of new friends and new colleagues and hung out with some of the coolest people from the Minneapolis area. I left the conference motivated to get better at my job and help my company get better. I'm very excited about what Microsoft developers are doing these days.

However when it came to the main technology messages from Microsoft out of the conference, I was not "wowed". I thought that the messages that received the most emphasis at the conference actually had more hype than real value. As for the content I actually did enjoy at the conference - it was content that really wasn't geared towards "user experience", which is what the MIX conference is all about.

The Things I Liked

Before my buzz kill reigns down, first I'm going to talk about what I enjoyed most at the conference: Windows Phone 7, Nuget, and The Web Stack of Love.

Microsoft showed what is coming down the pipe for Windows Phone 7 later this fall. WP7 is turning out to be a great device with great tooling support. There were two new features presented at MIX that I really liked: background processing and deep link tile support. Other features such as being able to combine XNA and Silverlight in the same app were also pretty nice. After seeing the WP7 content at the second keynote and at some of the sessions I was fired up to write WP7 apps again. That's what I felt like last year at MIX10, but back then all we had was an emulator with no app store.

With MIX being a conference that is centered on user experience design and development, I was a little puzzled about the promotion that Nuget received at the conference. Nuget is a developer tool that makes developers more productive in Visual Studio and doesn't have anything to do with UX design and development. That being said, I think Nuget is one of the greatest things Microsoft has done for its developer community because it embraces open source software and delivers access to open source tools directly to the .NET developer's environment. Because of that, Microsoft and developers are better off that MIX showed off Nuget at the conference. Nuget may not have been the best match for content during the week but it was a great time to show it.

The last of what I enjoyed the most was what Scott Hanselman calls the Web Stack of Love: ASP .NET MVC 3, Entity Framework Code First, SQL Compact 4, jQuery, Modernizr, and other tools. These tools are the building blocks of web apps and web experiences on the Microsoft platform. If you're building a web site or app, or building a set of services that an app or mobile device needs to talk to, building it on this stack will make it fun. What I like best about these tools though is that Microsoft is now beginning to approach par with what the Mac and Linux kids are doing with web frameworks these days. Entity Framework's "Code First" feature is what I like the best. Combine this stack with Nuget and you have a Microsoft web development experience that you've never had before.

The Things I Disliked

There was a variety of things that I actually disliked during the conference. They included the promotion of Internet Explorer 9, apologies for WP7 updates, lack of a Kinect SDK, conversations about HTML5 and the HTML5 buzz word, and the debate about HTML5 and Silverlight.

The promotion of Internet Explorer 9 at MIX11 felt forced and contrived. Microsoft went out of their way to state how IE9 outperforms the competition and how the IE9 team has made more on-the-ground progress with respect to adopting HTML5 features. They also touted IE9's ability to deliver better performance on Windows 7. As a web developer, how does any of this help me? If I'm developing an app for the web, I typically don't have any control over which operating system or internet browser a user is using. Thus this extreme marketing fluff we received at MIX11 for IE9 seems out of place. It would have been better suited for television or a non-developer audience. Perhaps the worst part about this though is that this message was the focal point of the keynote on the first day.

On the day 2 keynote, Microsoft invested a large chunk of time on stage apologizing for snags in the first WP7 device update. I understand that Microsoft needs to explain what happened, but it was a waste of time watching them explain it on stage. A press release would have been a better delivery method. I would have rather seen 20 more minutes on new WP7 features or tooling.

I was predicting and hoping for a beta release of the official Microsoft Kinect SDK at MIX11. My prediction was wrong and no SDK was released. Instead, Microsoft re-stated their goal of releasing the SDK this Spring. That's old news folks. Every conference attendee received a Kinect sensor bar at the conference. Don't get me wrong, that was completely awesome, but what are all of us supposed to do with these Kinects? I'm afraid the momentum for Kinect development will be lost by the time the SDK is out. Think of how much momentum would have been gained if a beta SDK would have been available at the conference in conjunction with receiving the Kinects. I can understand the possible reasons for this bad timing though - Microsoft never imagined the demand for an SDK last November when the device was released and they haven't exactly had much time to get something together for the conference.

What do you think of when you hear "HTML5"? For so many conference attendees they talk about it like it is a new platform that will transform how they do web development. While it may be a transforming standard, what percentage of HTML5 apps will actually need to provide the highly rich media features that HTML5 provides? Basic HTML layouts, CSS, Javascript, and Ajax are here to stay for a long, long time and my bet is that 90-95% of web sites and web apps will be able to rely on those tried and true tools and features for many years to come - even if they are using that HTML5 document type. There are some great layout features of HTML5 that I like - but I wouldn't say they will cause a sea change in web development. The HTML5 features that will deliver multimedia capabilities with animations, audio, and video may cause that sea change - but in my opinion the majority of web-based solutions in the future will not leverage these types of features. Maybe I'm not thinking forward enough here but the point is that HTML5 is a hammer and a lot of folks seem to think that all of their problems are nails. Let's keep it real and remember what HTML5's roots are: HTML.

Last I'll touch on the Silverlight vs. HTML5 debate going on in the developer community. This debate came up a lot among conference attendees. Personally, I find it entertaining that folks are so wound up about this topic. Many attendees expressed concern over the lack of direction and guidance from Microsoft at the conference about these two technologies. I really think this is silly - will there ever really be a clear choice? Would you even trust any "official" guidance given to you by a vendor (who has a financial stake in these technologies) at a conference? The choice between HTML and Silverlight is dependent on an application's requirements and its users or audience - not on a strategic direction from a large software vendor.

This week, someone asked me what kind of developer I was. I responded by saying I tend to develop a lot of web apps, and they then tried to clarify by asking if I was a Silverlight developer or ASP.NET developer. For me, the answer is neither. I think what really boggles my mind about the HTML5/Silverlight debate is why some folks put themselves in only one of these camps and therefore get concerned about this topic. As developers, shouldn't we be prepared to learn and use any technology? Isn't it dangerous to put all of your eggs in one basket? I considered that maybe this is easy for me to say since I'm a consultant who thrives on adapting to the latest shiny object, but even if you're working in-house on a product or team would you still invest everything you've got into a narrow technology stack?

Ultimately I'm glad that Microsoft didn't provide clear guidance or a clear direction on where Silverlight is going. I don't think its for a vendor like Microsoft to decide - especially in cases where it appears to conflict with HTML5. The project's requirements decide. Besides, I believe there will be a need for both technologies for a very long time anyway: web browsers will all need HTML, and if web users don't adopt the Silverlight plugin in large numbers then there are still Windows Phone 7 apps and lightweight "out of browser" slate apps (remember that ARM processor demo at the day 1 MIX keynote?) that need to be developed with Silverlight tools.

Hope and Change for Next Year

The bottom line is that I wished there would have been more new technologies and tooling announced and made available to conference attendees. That's the bar that was set at MIX10 and MIX9 (WP7 and Silverlight 3/4, most notably). I walked away from MIX11 without feeling like I had anything new to play with. Sure, there are the Silverlight 5 beta tools, but that's it.

If Microsoft can't keep up with releasing new technologies and tooling for each MIX conference then they need to get back to their roots with MIX and make it more about User Experience. Otherwise MIX just seems to compete with PDC each year. MIX felt like it started losing its identity this year. I think getting back to UX would strengthen the conference.