Windows 8 Store Outlook

With the impending release of Windows 8, all eyes are on the new Windows Store, Microsoft’s walled garden for Metro apps. Apparently there aren’t that many of them, though – only around 2,000 at launch, with new submissions leveling out already. As Bill Reis points out, this is less than the number of Windows 8 tablets Microsoft gave away at BUILD. He identifies a number of possible causes, including the learning curve for the new WinRT API, poor sales on the old Windows Phone Marketplace, and Microsoft’s seeming hostility towards its developers.

Frans Bouma has something to say on that last point. His attempt to sign up for the Windows Store reveals an incredibly convoluted Kafkaesque procedure, full of absurd rules and needless delays, even though he just wanted to post links to desktop applications. You should definitely read his post if you think about publishing on the Windows Store. Also note Kevin Daley’s story whose attempt to register for the Windows Store resulted in the wholesale destruction of his payment data across all Microsoft services…

Despite such difficulties, former Microsoftie Hal Berenson is convinced that Windows 8 will win by default, whether through the sheer volume of preinstallations on new PCs or its unique ability to run Office on tablets. Those are good points, but one should never underestimate the capacity of arrogant companies to self-destruct – “we’re too big to fail” is what Sony thought when they released the PlayStation 3. Berenson added an interesting retrospective on Steven Sinofsky’s strategic decisions for Windows 8:

You may recall from other sources that Steven Sinofsky has never been known to be a .NET fan. While others within Microsoft, and even senior people in the (pre-Windows 8) Windows organization, wanted to move to an entirely .NET app model for Windows Steven did not. He (and others fyi) wanted to re-engage the native code C++ developers that Microsoft had been neglecting. And they wanted to co-opt the huge base of web developers to create apps for the Windows platform. Well, what had the Windows Phone guys done? They’d implemented a .NET only app platform. Could the Windows Phone app platform evolve to address the native and web developers? Sure. But with no existing library of apps and a desire not to have .NET-centric platform at the core of Windows Sinofsky apparently felt pretty comfortable ignoring the Windows Phone team’s work.

And so Microsoft deliberately alienates its large base of loyal and locked-in .NET client developers, hoping to gain a larger base of C++ and web developers instead. So far that strategy doesn’t seem to have worked very well. We’ll see if this picture changes once a substantial number of Windows 8 installations exists.

5 thoughts on “Windows 8 Store Outlook”

  1. Hi,

    i do not really think that Microsoft hoped to make .NET developers turn to C++ or to Web( JavaScript). They would be really fool to believe that. Surely, .NET “as a brand” is on it’s way out: A large portion of it is already duplicated in the new WinRT thing and eventually all of it would be WinRT-included in the future.

    The funny thing is, that a lot of people inside and outside of Microsoft have a problem with .NET (performance related mainly) but nearly none of them has a problem with C# as a language.

    And we see some really hard work that is done or beeing done to C#: Async/Await, Project Roslyn and even we have rumours that they are working on a native code compiler for it. So, native code, may not eventually means (only) C++ for Microsoft….

    All i am saying is that they seem to not give up on C#. So, what will be the deal here ?

    Ah, on Wednesday this week, Anders Hejlsberg has somethong to announce…Maybe the native code compiler ? Maybe a C#->Javascript compiler ?

    1. I also don’t think they wanted existing .NET developers turning to C++/JS but rather to pull in new people who weren’t already on the Microsoft platform, e.g. iOS developers. That I think hasn’t happened yet.

      I don’t expect MS to abandon C# or .NET altogether, they are safe in the server space. Compiling C# to native code or JavaScript to keep it viable on clients is definitely an intriguing idea, though. I’ve heard those rumors, and I hope some of them are true — C# is a great language and deserves more exposure.

  2. I have the same thoughts. I also think that Anders Hejlsberg wouldn’t be satisfied if his 10+years work (C#) would be squeezed at the server space area only. A C# to JS compiler would be something very nice, now that other similar “technologies” (like Silverlight) have died.
    As for the (C#) native code compiler, i really believe that the DevDiv inside Microsoft have way more reasons to bring it to life…

  3. I think you took the point about .NET a little too far. The real question is around putting .NET at the center of the Windows 8 world vs having it be one of the options alongside Native and Web “stacks”. They went with the later option. Then the secondary question is for the .NET stack do you use the existing class libraries that represent a .NET “operating system” abstraction (though often little more than wrappers on Win32) or make developers switch to class libraries for the new native Windows Runtime? Again they chose the later. So you get the benefits of C#, of Managed Code, etc. but the apps are clearly “native” Windows 8 apps rather than “.NET Apps running on top of Windows 8.”

    If you step back and take a deep breath, don’t you want your apps to be native to the platform? No matter what languages and tools you use to build them?

    1. Certainly, I agree that users shouldn’t notice the tools with which an app is built. In the case of WinRT, though, there are a few spoilers in the “all tools are equal” idea.

      For one, the WP7 folks had already invested a lot of time building touch screen apps that looked and worked very much like WinRT apps, but now they’d have to rewrite them for a different API to work on Win8 tablets. Understandably they are annoyed, and may take this opportunity to move away from .NET altogether.

      Moreover, the extra CLR on top of WinRT looks suspiciously like a fifth wheel, especially on limited mobile hardware. Microsoft has been emphasizing C++ and JavaScript client development; the once lively .NET blogs at MS have largely fallen silent. Direct drawing to the screen is crucial for games, and XNA was a popular .NET API for the job, but now it’s only supported in C++ (I believe volunteers are working on a managed wrapper).

      So taking all the hints, my guess is that the WinRT CLR will go away in Windows 9, unless so many apps use it that Microsoft can’t afford to remove it. Of course, they might just have a native C# compiler ready at that point!

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.