Microsoft is more than an operating system company. It's a platform company.
That's the overall message from its Build developer conference this week. And if it's going to remain a platform company, it needs to keep developers on its side. With much of the developer messaging over the last year focusing on the new WinRT runtime at the heart of Windows 8, it's no wonder that many developers -- especially those building enterprise Windows applications -- were feeling a little left out. Build 2013 was Microsoft's chance to reconnect with those developers and to showcase new tools, technologies, and roadmaps.
Making WinRT more palatable -- and less central
WinRT remains an important part of Microsoft's developer story. It's the foundation for creating Windows Store apps, and it's where much of Microsoft's API attention remains focused. That's not a bad thing -- it's designed for the next generation of app development and for building smart endpoints for cloud-hosted services.
Even so, there's renewed focus on .Net. It's the heart of the server and cloud story, and if WinRT is about building endpoints for devices, .Net is about building services in the cloud and in the data center (and also for desktop apps).
So where did WinRT fall down over its first year? Firstly, it was designed to work with a limited set of use cases. That, combined with its strong sandbox, meant it was hard to build apps that worked together, and there were limited tools for connecting to external hardware and for displaying built-in help.
The Windows 8.1 refresh of WinRT begins to fix many of those issues, with improved tooling for handling communication with external devices (including Bluetooth connections, and for working with a range of USB inputs and outputs). It also introduces the concept of child security domains, which will allow applications from the same developer to communicate across the walls of the Windows 8 sandbox without using Microsoft's built-in contracts. Contracts remain the key to allowing communication between apps, giving users the ability to construct their own workflows between apps from many different developers.
Getting the evangelists out there
New features in WinRT are all very well and fine, but developer engagement is key to Microsoft's future. Recent changes at the top of its developer evangelism team are a hopeful sign, as are admissions that the company has failed to encourage developers to use technologies like Portable Class Libraries (a way of encapsulating common code so that it can be used across WinRT, desktop and server .Net, Windows Phone, and Web services).
Build put the evangelism team front and center, publishing email addresses and Twitter handles and showing demonstrations of how new tools and services would work in developers' own applications, not just in Microsoft's.
Another interesting note: This was the third Build conference, but the first to be held in the San Francisco Bay Area -- the heart of Google and Apple territory. (Prior to Build, Microsoft held a similar event called the PDC or Professional Developers Conference; the last time it was held in the Bay Area was 1996.) While Microsoft says it was a decision made around available space and hotel capacity, the choice of venue could also speak to the fact that Microsoft knows it needs to reach the large base of developers who are intrigued with -- and building for -- Android and iOS. Certainly Microsoft went out its way to show more than its own Visual Studio IDE, with cross-platform development tools like Xamarin used in many presentations, and keynotes showed Git being used to manage iOS code generated by the Azure mobile services platform.