If you talk to Microsoft veterans you can find many who either proposed, or actually worked on, Windows application stores dating back to the 1990s. None of these actually shipped. There are now plenty of leaks out on the web about a “Windows 8” App Store, and while some are saying this is better late than never I think the timing says more about the technology world evolution over the last 15 years than about App Stores specifically. This post is going to explore four reasons (well, three plus a bucket of other points) why Microsoft hasn’t/wouldn’t/couldn’t/didn’t want to/etc. introduced a Windows App Store to date. And by the end perhaps we’ll see why past impediments no longer factor into the discussion and now is the time.
In this age of instant software gratification via download over high-speed networks it can be difficult to recall that in the 1990s nearly all software was purchased through bricks-and-mortar retailers, resellers, and distributors. Later in the 1990s and into the early 2000s we saw a shift towards purchasing from on-line retailers(e.g., Buy.com, Amazon.Com, etc.), something that is still with us today. In fact, a great deal of software is still sold through these channels. For example, businesses purchasing software through Microsoft’s Volume Licensing programs are still sent to resellers just as they were in the 90s. So every time Microsoft has looked at the idea of an app store it has had to face the issue of what would an app store do to its existing channel partners. Back in the 90s this classic channel conflict was at the forefront of the discussion. Microsoft’s channel was considered one of its great strengths compared to traditional competitors, and at least a temporary bulwark against emerging competitors. As a result, although many at Microsoft were aware that someday it would be easier to purchase and download software over the Internet, premature disintermediation of its channel partners was something to be avoided at all costs.
Of course the channel has played an ever shrinking role in delivering software to consumers and in the case of the smartphone and media device (e.g., iPad) markets consumers expect to purchase and install software directly through the device manufacturer. Further disintermediation of the channel for Windows applications targeted at consumers would have little impact on overall Microsoft sales. Microsoft could actually bring its channel into the new world by allowing them to have “private marketplaces” in a Windows 8 App Store. For example, Microsoft prefers to use resellers and distributors for the Volume Licensing programs because it reduces the number of organizations that it must have a direct business (e.g., Accounts Receivable) relationship with. I imagine Microsoft would want to continue this business model.
The bottom line here is that channel conflict issues almost certainly dominated Microsoft’s internal thinking about a Windows App Store from the mid-1990s through the early 2000s. And no matter what the technical people wanted to do, the bottom line impact dictated the answer.
The odds are that everyone reading this is doing so on a broadband Internet connection with a speed of 1 Mb/s or greater. An unlucky few might be on slower versions of broadband (e.g., 640 Kb/s), many of you have home connection speeds of 6-12 Mb/s, and a rare few are probably in the 25-50 Mb/s range. Software downloads are reasonable on any of these connections. But state of the art in 1994 was dial-up at 28.8 Kb/s. At the end of the 90s most people were still on dial-up, which maxed out at 56 Kb/s. U.S. Broadband penetration at the end of 1999 was only about 5% (more people were still using 14.4 Kb/s modems than broadband). These numbers are really important when you start thinking about when Microsoft would have delivered a Windows App Store. Windows 95/98/98SE shipped into environments where the bulk of users either had no Internet connection or had a dial-up connection of 14.4 – 28.8 Kb/s. Windows ME and Windows 2000 were designed when speeds were at 28.8 – 56 Kb/s. Windows XP was designed when typical speeds were 56 Kb/s or less, and by the time it shipped in 2001 only about 15% of U.S. users had broadband connections. So from a practical standpoint an OS supported Windows App Store made no sense through the launch of Windows XP, an operating system that dominated the market until just the last few months.
The first version of Windows where one could make a real argument that an App Store made sense from a network infrastructure perspective is Windows Vista. Its initial design took place when broadband penetration was low but on a steady growth path. By the time Vista shipped broadband penetration had crossed the 50% mark in the U.S. and no one was making decisions that catered to dial-up users. The Longhorn project that lead to Vista was also supposed to produce a major leap forward for Windows, and an App Store certainly would have been appropriate to that goal. Unfortunately the Longhorn project was a disaster that distracted Microsoft for 5 years and required Windows 7 to focus more on righting Vista’s wrongs than on exciting new things like an App Store. I don’t recall if anyone talked about Longhorn including an App Store, but in any case we didn’t get one. At least we can say that network infrastructure, while a key reason for not doing an App Store in earlier versions of Windows, should not have played a role in keeping an App Store out of Windows Vista or Windows 7.
By the way, although I used U.S. numbers in making this case I don’t believe worldwide penetration rates would change the story much. There are some countries that were ahead of the U.S. in broadband penetration and many that were behind it. So relative to decision making at Microsoft I think using U.S. numbers as a proxy in this case is just fine.
If the previous two items seem like ancient history that no longer applies, this item is the real killer even for today’s Windows 7 world. Take a look at App Stores as popularized by Apple and by Windows Phone and you see they offer far more than simply a way to purchase and download applications for your device. They enforce application models that let you put applications on your device that you can largely trust to be free of malware, that won’t reduce your device’s reliability, that won’t interfere with other applications that you load on your device, and that can be cleanly and completely removed from your device. That is not something that is possible on Microsoft Windows today.
Let’s take just one area and drill in slightly, installation/setup. Windows installations “spray” settings all over the Registry, put files in multiple directories, execute code during the installation process, overwrite shared files (DLLs) that other applications may rely on, etc. Even software that does clean initial installation will then often do these nasty things (and potentially require administrator privileges) on the first run of the application. Not only can a poorly coded setup, and application, make your system unstable but removing it is a very difficult thing to do. In fact, many Windows applications leave various “artifacts” sprinkled around your system when you remove the app (meaning you can never completely remove them). Compare this to something like Windows Phone 7 where all setup is done declaratively (no code execution permitted), the location of an application’s artifacts is well known, the application setup doesn’t touch shared files, etc. This makes it very difficult (if not impossible) for a Windows Phone application to mess up your device or any other application. It makes application removal easy and fast. Most importantly, it makes it possible for the Windows Phone Marketplace to verify the application meets minimum quality requirements before accepting the application; And thus allows the Marketplace to offer a reasonable level of assurance to the end user that they can go ahead and install the application on their device. This is not possible with any existing version of Windows.
Keep in mind that Microsoft has been struggling to correct this problem for some time now. “DLL Hell”, for example, is a long understood problem that Microsoft has partially addressed over time. Microsoft further made progress when it introduced .NET. However, there hasn’t been anything as proscriptive as the application models that Apple’s IOS or Microsoft’s Windows Phone 7 have. The application world on Windows effectively remains the wild, wild west.
The bottom line here is that for Microsoft to have a viable Windows App Store they first need to create a new Windows Application Model! Fortunately the rumor mill is starting to fill up with news of just such an application model, called AppX. Is this new model real, is it part of Windows 8, is it really called AppX? These and many other questions are things we’ll most likely have answers to over the next few months.
One thing I’m going to speculate on is that the only applications that will be available in a Windows App Store will conform to AppX (or to Windows Phone 7’s app model if that isn’t a strict subset of AppX). Windows 8 itself will continue to support the full range of applications that work on Windows 7, however only apps that conform to a new app model will be allowed in the store. Another option would be to have a way to purchase legacy apps in the Windows App Store, but for the App Store not to manage their installation or removal. Personally I’d rather Microsoft focus on the new app model and let the legacy world take care of itself.
There are actually many other factors that undoubtedly have added to the delay in having a Windows App Store. For example:
- Anti-Trust Concerns. Had Microsoft been the company to pioneer an App Store back during the period of anti-trust hysteria, how would software competitors as well as the channel reacted? No doubt software competitors would have attacked the idea as way to keep their software off the Windows Platform. For example, a cross-platform software company might have considered it too difficult to meet the requirements to be in the app store and then felt that users would favor things in the store (such as Microsoft’s own apps) over the competitive ones. Or they might just have wanted to use the Windows App Store as another way to beat Microsoft when it was down. And almost certainly parts of the distribution channel would have screamed to the U.S. DoJ or EU about Microsoft cutting them out of the picture. At this point all the precedents for an OS Application Store have been set by others, particularly Apple. Neither software competitors nor the channel are likely to get hysterical (though they might raise concerns about specifics things that Microsoft will then address to keep the peace).
- Liability Concerns. What liabilities might you be subject to if software in your app store does cause problems? Again I think that Apple has paved the way, and while lawyers still might raise concerns they won’t be enough to prevent their from being a Windows App Store. I will point out that something like AppX would help appease the lawyers since the ability for an app to cause problems would be greatly reduced.
The only real remaining inhibitor to Microsoft introducing a Windows App Store is having a good App Model, and it seems that we might be about to get one in Windows 8. Yes Microsoft is a bit late to the party, but largely because the Longhorn/Vista effort probably resulted in the effort to provide a clean Windows App Model being delayed several years. Not only does Windows 8 mark the perfect time to finally introduce a new App Model and App Store, it also likely marks a turning point for Microsoft. Windows 8 will be the point where Microsoft finally makes up for the lost 5 years.