Why Windows Store Is a Double-Edged Sword for Developers

Microsoft added fuel to speculations about its consumer-business prowess on Tuesday with the preview of its forthcoming Windows Store, which will accompany Windows 8, but there’s a more fundamental issue facing Microsoft than whether consumers will buy Windows 8 tablets and phones. Unless it’s going to be filled with all Microsoft apps, the new store needs developers, which might be hard for Microsoft to come by as it competes for talent against Apple’s App Store and the Android Marketplace.

According to one source, the Windows Store represents a double-edged sword. On the one hand, it’s necessary to move Microsoft into the age of tablets and other devices for which programmers—often younger and not so fond of Microsoft—want to use lightweight languages and write new kinds of apps. The Windows Store—the outlet to the world of potential customers on devices other than PCs—encourages C#/XAML and HTML5/JavaScript “Metro-style” applications that have an iPhone-style user interface.

On the other hand, the new process might alienate the 5 million existing .NET developers. Their .NET skills will still work in Windows 8—especially on the server side or for writing straight desktop applications—but their old applications won’t work, and they’ll have to learn the extensions for the new WinRT runtime. They’ll have to learn HTML5 or use XAML if they want to show up in the Windows Store, which is where all the action will be in a post-PC world.

DEVELOPER HEADACHES

If developers are going to learn something new, there’s an argument they might as well go with the proven iOS or Android platforms and not risk Microsoft either failing once again in mobile or deciding to kill yet another app strategy, as it did with Zune and Silverlight. One could argue it’s also an ideal time to learn PHP, Python, or Ruby on the server side, too. For a good list of developer concerns, check out this TechRepublic article.

Former .NET programmer Karthik Hariharan told me via e-mail, “If HTML5 fulfills the original promise of Java (write once, run anywhere with a consistent experience), then Microsoft is poised to be at the forefront of that new trend with the first viable commercial implementation of it. However, they will do this at the cost of their current developer base which is the large .NET community, who has, in general, responded negatively to the announcement.”

Hariharan added, “due to the consumer and enterprise shift to mobile devices, many former Windows developers have started writing Android and iOS apps. Much of their existing knowledge still applies here, but the apps they build on iOS and Android have larger audiences than those they could reach using Silverlight and .NET for Windows Phone 7.”

TO THE RESCUE?

In a world of walled gardens, however, that run-anywhere vision rarely pans out. Platform providers such as Microsoft, Apple, and Google don’t win anything if apps can run anywhere, like websites do—which is why there’s always a hook. Aside from a profit-sharing model designed to lure developers, Microsoft’s hook is WinRT. Former .NET product manager Scott Barnes, now with Riagenic, said WinRT is designed to provide a native app experience on Windows devices (much like .NET was back in the day), but it also limits the portability of even HTML5 apps.

One thing Microsoft definitely has in its favor, he thinks, is the ability to make Windows Store a cross-Microsoft experience that embraces everything from phones to PCs, to the Xbox. Microsoft touted its vast consumer footprint during the Windows Store launch and even said it will leverage Bing to push apps, so it appears to get that message.

Developers come before users, though, so Microsoft has to play its cards right. Ensuring .NET developers have a relatively pain-free transition to the world of Windows 8 and app stores might be critical, because new mobile developers haven’t been flocking to Windows (although Microsoft has paid some to come), and there’s no guarantee they’ll do so now, despite Microsoft’s clear courtship.