The MIX11 conference spans three days and on the first two days it is kicked off by a 2 hour keynote where Microsoft have the opportunity to gather all the attendees in one room and deliver their message of choice. Yesterday was all about web technology. My expectations of massive Windows Phone, Silverlight and Windows Azure exposure turned out to be completely off. Windows Azure got very little attention and neither Silverlight nor Windows Phone was mentioned.
The second day’s keynote somewhat restored my confidence in my ability to predict what Microsoft wants to communicate to the developer community -- it was almost two hours exclusively dedicated to Silverlight and especially Windows Phone.
I should mention that I don’t develop for Windows Phone and I am not building anything with Silverlight and this is probably reducing my enthusiasm in my recap of today’s keynote. I’m a Windows Phone user though and a very happy one.
Windows Phone Mango
The next update to the Windows Phone -- which Microsoft have codenamed Mango -- was the centerpiece of the keynote. To me the most noteworthy thing in that update will be Internet Explorer 9 -- it will bring modern web technology to Windows Phone making html5/CSS3 developers able to build much improved mobile web experiences. Especially CSS3 is a lot about building web pages that can be used across different devices and so far those tools have not been available on Windows Phone. Getting good web standards support across all major phones is a fundamental requirement for progressing and modernizing the Web and it looks like Microsoft is playing nice and helping this happen.
Aside from enabling access to the modern Web with IE9 a massive number of new tools, features and API’s for Windows Phone app development were shown off. A new performance profiler was demonstrated -- it’s the kind of tool that helps developers find the code lines that needs to be optimized. It looked like Microsoft had put a lot of energy into this, ensuring it is both easy to use and informative enough to let developers become aware of performance related problems before their application ships.
An updated emulation tool was also shown -- a PC program that acts like a Windows Phone, making it very easy to code and test in quick cycles. The update contained motion sensor emulation features and the ability to emulate geo location. I would expect Windows Phone developers to have been sorely missing these features and judging from the applause the update was much appreciated.
The update also contains camera and motion sensor access for applications, a built in database and .NET data querying features (called LINQ), TCP sockets access (connect anything Internet), the ability to have XNA (great for games, heavy graphics) and Silverlight (great for UI) run in the same application and multitasking features. Since I’m not a Windows Phone app developer I’m not jumping around with joy over these updates, but I would expect the Windows Phone developer community to walk around with happy smiles on their faces today, it sounds like good stuff.
Finally the Mango update to Windows Phone will in itself improve speed, memory usage and responsiveness for existing application. The release date of the phone update was “later this year”, while all the developer tools should be available next month and will be available for free.
Silverlight 5 Beta
Silverlight 5 beta was released with improvements in video playback, 3D visualization features and developer tool enhancements. We got a demonstration of an upcoming website for the Navy Blue Angels that uses Silverlight -- what actually impressed me most with this site was the fact that most of it was build using standards compliant html5 elements like canvas, audio and video. Silverlight was used at a lower level page for doing composite video stuff, seemingly complex enough to actually explain the use of a plug-in. That impresses me because it is yet another testimony to the much improved attitude towards open standards Microsoft have displayed the last couple of years.
Kinect API and a Kinect!
Kinect for Xbox took the world by storm when it was released and the motion sensor hardware spawned a great deal of very innovative uses. Developers were forced to cross “The Barrier of No API” and hack their
Kinect to gain access to the motion sensor hardware, but many did and turned the motion sensor into drumming machines, drone remote controls, draw boards, augment reality experiences and a whole lot more.
A Microsoft Research project called “Worldwide Telescope“ -- a 3D+time representation of the known universe (planets, moons, stars and galaxies) -- was shown off with Kinect as the sensor and it was a fairly breath taking experience seeing clusters of galaxies spin and zoom back to earth, commanded by hand motions.
Microsoft announced the release of an API for Kinect, enabling .NET developers to continue doing all sorts of crazy stuff with Kinect, but with the help of an API this time around. To make that API seem a little more useful the keynote ended with all us attendees getting a Kinect to bring back home with us. It has been many years since I last got a piece of hardware which I couldn't use unless I wrote a program for it. Let the hacking begin :-)