MIX 2011 Keynote 2 Highlights
The phone update was halted due to a variety of reasons including manufacturing defects. No one particular reason affected a large number of phones but Microsoft didn’t know that at the time. For example, one problem that affected about 100 phones was a flag that indicated the original OS installation failed. The phone was still usable until the update was applied, at which time it flipped into diagnostics mode. Moving forward Microsoft believes that they have a better understanding of what can go wrong and have developed a better update mechanism to prevent future problems.
Microsoft builds and ships phone updates, but each phone operator has to approve the update for their own customers. A big reason for this is that manufacturers and operators write a lot of the phones software, far more than you would see in a traditional PC.
In order to support the Nokia deal, Windows Phone has entered a lot more markets. The next OS will support 16 more languages. Developers in 38 countries can create apps, but users in only 35 of them can buy apps. The largest market where apps can be written but not purchased is China.
On the user experience side the biggest new feature is the integrating applications into search. For example, when searching for the word “movies” the phone will bring back movies playing nearby. When viewing the movie’s fact card, there is now a pivot called “Extras”. This is where applications come into play. Clicking on an application in this view, for example IMDb will launch the Internet Movie Database app with a deep link to the movie the user was viewing.
Just like on the desktop, Microsoft is bragging about the performance enhancements of IE. Using their HTML 5 Speed Reading demo they showed IE 9 on Windows Phone was twice as fast as Android, with the browsers running at roughly 22 fps and 11 fps respectively. iPhone was also shown, but it was running at a mere 2 fps. To put this in context a Sony Laptop (VPCCW17FX) running Windows 7 and IE 9 scores 60 fps with hardware acceleration and 11 fps without.
As expected the next OS update will include multi-tasking and support for raw access to the camera, compass, and optional gyroscope. The tiles interface has also been improved. In the past applications always started with their main menu or home screen. Now developers can offer shortcuts that launch the application with a specific feature started.
The combination of these features allows for some interesting user experiences. In the demo they showed an airline reservation for Qantas.
On the development side there will be a simulator for the accelerometer in the emulator. This can be used to manually simulate movement or to replay recorded actions. Another development tool is a GPS location simulator. This supports single location and planned route simulations.
In terms of performance Microsoft is doing two things. For developers the next SFK will include a truly impressive performance profiler. In one timeline you can see frame rate, CPU usage, memory usage, storyboard events, image loads, and GC events. Like the Red Gate ANTS Profiler, developers can select arbitrary regions in the timeline. When looking at a specific region you get detailed performance warnings. You can also drill down into storyboards and see how much time is being spent on rendering specific controls.
On the internal side Microsoft has improved their own code in the areas of scrolling, image decoding, garbage collection, and memory usage. No applications changes are needed to take advantage of these improvements.
SQL CE will be supported in the next version of Windows Phone. There is nothing particularly novel about this, it is pretty much the same ORM style database access that .NET developers are familiar with.
Sockets are also being supported. It was stressed that the API is exactly the same as the API used in .NET 4.
Silverlight for the Browser
There is a huge set of new features for Silverlight in the browser available in the beta 5 release, but almost none of it was covered in the keynote. There were a couple of impressive demos, including one showing HTML5 being used for the core site and Silverlight for smooth streaming video. Another showed off some 3D features brought over from XNA. But while they were flashy, you are better off looking at these resources for more information.
Kinect SDK for Windows
The balance of the keynote was focused on the Kinect SDK for Windows. There isn’t much to say other than it’s a non-commercial release with a possible commercial release in the future.