What does Microsoft's Windows 8.1 plan mean for developers?

If Microsoft brings back the Start Button and adds a boot-to-desktop option with Windows Blue, should Windows developers still be counting on Metro as their future?

Since I blogged last week about Microsoft mulling the return of the Start Button and a boot-directly-to-desktop option in Windows Blue, I've heard from a number of developers wondering what the latest Windows plan means for them.

One of Microsoft's goals with Windows 8, sources have said all along, was to try to convince the developer community that it is/was still worth writing "killer apps" for Windows. But if Blue, aka Windows 8.1, allows users to opt to boot straight to the Desktop and avoid the Metro Start Screen as much as possible, doesn't this undermine the message that Metro is the future? What's the reason Windows devs should bother putting their eggs in the Windows 8/WinRT -- rather than the tried-and-true Win32 basket?

Right now, we don't know exactly how the Start Button, if and when it returns to Windows 8 with Blue, will work. Word is that it will simply take users to the Metro Start Screen and not open up the Start Menu (with access to commonly used programs, files, etc.). If this is the case, the Start Button will function as more of a familiar "anchor," designed to calm users' worries about the unfamiliarity of the new Windows 8 interface. This new Start Button will send users to the Metro Start Screen, not the Desktop (if rumors are true), so it won't be signaling that Microsoft is backtracking about its Metro commitments.

So far, there hasn't been a leak of "Visual Studio Blue," but this is believed to be coming this year. The VS Blue release supposedly will support Microsoft's work to bring more into alignment the app platforms for Windows Phone and Windows 8, from what I've heard from my sources.

The "app platform" is the set of application programming interface (API) frameworks and control libraries. It includes the WinRT API, the Windows Phone API, the .Net Framework. The app platform also encompasses the layout and rendering engines (HTML, XAML, DirectX) used for designing the user interfaces for Windows variants, as well as supported languages for development, such as C++, C#, and JavaScript.

Currently, on the language front, Windows RT supports C#, JavaScript, and C++ (primarily for games). Windows Phone supports C# and C++ (also mostly for games). On the layout and rendering front, Windows RT supports XAML, HTML, and Direct X; Windows Phone supports XAML and DirectX. The control libraries for Windows RT and Windows Phone are unique, meaning they are not shared between the two platforms. And on the API front, Windows RT supports WinRT and a small subset of Win32/COM (only accessible from C++ apps). Windows Phone supports a set of .Net APIs; WinPhoneRT, which is a setset of WinRT, plus some new APIs unique to Windows PHone; and some Win32 and COM APIs for access to certain low-level file system and networking features.

(This Windows Phone Dev Center article from Microsoft covers the overlap between the two platforms on the XAML front.)

Development for both Windows RT and Windows Phone can be done in Visual Studio. Windows Store/Metro apps are distributed via the Windows Store in Windows, while Windows Phone apps are distributed via the Windows Phone Store.

With Windows 8 and Windows Phone 8, Microsoft took steps toward bringing these two different app platforms closer together. Developers can write Windows 8/Windows Phone 8 apps that share a lot of code. But they also can end up writing apps that can't be ported at all across the two platforms. (If a phone dev writes an app using XAML plus the .Net API set, it can mean a huge rewrite is needed to bring that app to Windows 8, one of my contacts told me.) And they still need to submit their apps to two different stores with different approval procedures and rules.

Supposedly, with the coming Blue updates, Windows 8 and Windows Phone 8 will be brought into closer alignment -- which would be a big Metro selling point for the Softies. To do this, Microsoft needs to make it possible for devs to reuse as much code as possible, which means the company needs to more closely align the language support, the layout/rendering engines, and the control libraries -- not to mention the dev tools and the distribution platforms.

"The holy grail is to fire up Visual Studio, create a single app in any language you want that works on both platforms, with UI and functionality that adapts to the form factor and features of the device, and with one click submit to a unified store," one of my sources said.

But Microsoft is still years away from achieving something even close to that perfect world. The goal with the Windows Blue and Windows Phone Blue releases is to remove some of the more obvious seams between the different platforms and give Microsoft a more appealing, unified dev story.

The Redmondians are betting that Start Button and boot-to-the-desktop won't be perceived by developers as a nod to stop writing to the Windows 8 and Windows Phone 8 app platforms. Windows devs: Do you think they're betting right or wrong on this one?

This story originally appeared as "Microsoft's Blue: What will developers do?" on ZDNet.

 

Join the discussion

Conversation powered by Livefyre

Show Comments Hide Comments