Blog
Bio
The Technician
No Imperfections Noted
The Jeff and Casey Show
Jeff and Casey Time
Casey Muratori
Seattle, WA
The Next Twenty Years
Why the closed distribution model of Windows 8 must be changed for the sake of developers, consumers, and Microsoft itself.
For the first time in the history of the PC, Microsoft is rolling out a new Windows ecosystem for which they will be the sole software distributor. If you buy Windows 8, the only place you will be able to download software that integrates with its new user interface will be the official Windows Store. Microsoft will have complete control over what software will be allowed there.
Microsoft has stated that applications for the older desktop interface will remain unaffected by these policies. As long as they only use applications that run on the old desktop, users will still be able to buy, sell, develop, and distribute software without interference from Microsoft. Many Windows users have taken this as an assurance that the open distribution model that they enjoy today will still be available in future versions of Windows, and as a result, there has been far less public concern about Windows 8 than there might have otherwise been.
But how realistic is the assumption that the Windows desktop will still be a usable computing platform in the future? And what would be the consequences were it to disappear, leaving Windows users with only the closed software ecosystem introduced in Windows 8? To answer these questions, this volume of Critical Detail examines the immediate and future effects of Microsoft’s current certification requirements, explores in depth what history predicts for the lifespan of the classic Windows desktop, and takes a pragmatic look at whether an open or closed ecosystem would be better for Microsoft as a company.
Game of the Year 2032
According to PC Gamer Magazine, and many sources which agree, PC Game of the Year 2011 was Elder Scrolls V: Skyrim. In a move that surprised absolutely no one, Skyrim for the PC shipped on Windows, not MS-DOS. Even if the developers had wanted to, they couldn’t have shipped a modern PC game like Skyrim on DOS because none of the past fifteen years of graphics hardware innovation is available there. It’s absurd to even consider shipping commercial consumer software on MS-DOS today.
Hypothetically, let’s assume it becomes equivalently absurd, 20 years from now, to ship consumer software on Windows desktop. There are no desktop games in 2032 much like there are no DOS games in 2012. Everything runs in some much more refined version of the Windows 8 modern user interface.
Because no software can ship on this future platform without it going through the Windows Store, the team that built Skyrim would have to send it to Microsoft for certification. Then Microsoft would tell them if they could ship it.
Do you know what Microsoft’s answer would be?
I do. It would be “no”.
This is not speculative, it is certain. Skyrim is a game for adults. It has a PEGI rating of 18. If you read the Windows 8 app certification requirements you will find, in section 5.1:
Your app must not contain adult content, and metadata must be appropriate for everyone. Apps with a rating over PEGI 16, ESRB MATURE, or that contain content that would warrant such a rating, are not allowed.
And that’s the end of it. No Skyrim for the Windows Store, unless of course the developers go back and remove all the PEGI 18-rated content.
That’s 2011’s Game of the Year, banned from the Windows Store. How about 2012? With several highly anticipated games yet to be released, it’s anybody’s guess which game will be selected. But a random sampling of internet predictions suggests some of the leading contenders are Max Payne 3, The Witcher 2, Mass Effect 3, Assassins Creed 3, Call of Duty: Black Ops 2, and Borderlands 2. Of the four of those that have already shipped and been rated by PEGI, how many could be shipped on Windows Store?
Zero.
Now, there are certainly many people out there, perhaps even the majority, who believe that games aren’t culturally relevant. They are not great art, they might say, and therefore it is irrelevant if a major platform prevented their dissemination.
In the interest of illustrating the importance of an open platform more broadly, let’s give our games a cultural facelift. Let’s pretend we magically have a bunch of games with content equivalent to no less than the Emmy nominees for 2012 outstanding drama series: Boardwalk Empire, Breaking Bad, Mad Men, Downton Abbey, Homeland, and Game of Thrones.
Odds are that Downton Abbey would be the only one to clearly pass the PEGI rating test, but even if somehow the rest of them did, they’d be banned from the store for a variety of other reasons, such as section 5.3:
Your app must not contain content or functionality that encourages, facilitates, or glamorizes illegal activity.
section 5.6:
Your app must not contain content that encourages, facilitates or glamorizes excessive or irresponsible use of alcohol or tobacco products, drugs or weapons.
or section 5.8:
Your app must not contain excessive or gratuitous profanity.
This vision of a future Windows heavily censored by Microsoft is chilling. But how likely is it to actually occur?
For Windows RT, the version of Windows for low-power tablets and phones, this future begins on October 26th. Each and every Windows RT device sold will only be able to run software from the Windows Store, and all Windows Store apps must follow the certification requirements quoted above, as well as dozens more. Windows RT users won’t have ten or twenty years before they can no longer play the world’s most highly acclaimed games on their Windows devices. Those games will have been forbidden from day one.
But for Windows 8 and Windows 8 Pro, the versions that most desktop users will have, the timeline is not yet certain. Unlike Windows RT, these versions include the classic Windows desktop that still supports open distribution. Is it possible, then, that desktop users will never have to experience this future?
A brief examination of Microsoft’s own history suggests quite the opposite.
Anatomy of a Microsoft Platform Shift
In the late 1980s, much of the consumer computing world was already using graphical user interfaces. Machines like the Apple Macintosh, Commodore Amiga, and Atari ST had grown dramatically in popularity, and each shipped with a modern graphical operating system pre-installed. PCs, on the other hand, still typically ran MS-DOS, a command-line environment where applications had to individually implement their own rudimentary interfaces.
Despite this drawback, the PC was nonetheless flourishing. Because it was an open hardware platform and had achieved wide adoption in the business space, many of the era’s most famous productivity programs — like Lotus 1-2-3 and WordPerfect — treated MS-DOS as a flagship business platform.
Then on May 22nd, 1990, Microsoft shipped Windows 3.0. This version of Windows could do something no previous version could: it could run MS-DOS programs alongside native graphical apps. For the first time, people could run standard business applications without leaving a consumer-friendly interface. The Windows GUI itself may not have been as flashy as what was available on other platforms, but it gave people the option of using just one OS for everything, and customers wanted that. Adoption rates soared.
Over the next five years, Microsoft continued adding new APIs to Windows. Although people still developed MS-DOS programs, it became increasingly difficult to ship a business application that didn’t integrate with things like the Windows font manager, printing services, standard dialogs, and rich clipboard. Customers came to expect these things, and MS-DOS applications simply couldn’t use them.
As most apps either transitioned to native Windows versions or became defunct, games were the one major holdout. They lived and died by performance, and couldn’t afford the overhead Windows introduced. But eventually Microsoft found a way to give games the hardware access they needed, and slowly but surely, native Windows games became increasingly common. By the time Windows 2000 was introduced on February 17th, 2000, only ten years after the release of Windows 3.0, running MS-DOS programs had gone from the key feature that made Windows what it was, to a tacked-on compatibility mode only meant to support legacy software. MS-DOS as a platform, and any programs still tied to it, had faded into obscurity.
On July 22nd, 2009, nearly two decades after the release of Windows 3.0, Microsoft introduced the version of Windows many of us use today, Windows 7 64-bit. If you try to run an MS-DOS application on 64-bit Windows, you get a dialog box that says:
You may still be able to run the program, but you’ll have to install a 32-bit version of Windows, or download and install a special “Windows XP Mode” package from Microsoft’s website to even try.
The Return of 1990
The PC’s situation in relation to consumer computing is very much the same today in 2012 as it was in 1990. On the PC, we are still using the “Windows, Icons, Menus, Pointers” (WIMP) interface that has been standard for almost three decades (if only on PCs for two). But on the rest of the world’s popular computing devices — smart phones and tablets — WIMP interfaces no longer exist. OSes like iOS and Android have replaced WIMP with touch-centric interfaces, much as the Macintosh and Amiga eschewed command lines for GUIs in the 1980s.
But on October 26th, Microsoft will release their first touch-centric operating system, Windows 8. Rather than jettison WIMP entirely, they have chosen to include it as a subset of their new touch interface. Just as Windows 3.0’s interface ran alongside MS-DOS, Windows 8’s new interface will run alongside a traditional Windows 7 desktop.
Also just like Windows 3.0 and DOS, the integration between the two is largely superficial. Some parts are integrated, but most parts aren’t. You can create tiles in the new UI that launch programs in the old UI, just like Windows 3.0 could have icons that launched DOS programs. But just as DOS programs ran in a special container window, and couldn’t do things like opening other windows, presenting dialog boxes, using fonts, or transferring graphics to the clipboard, desktop apps are segregated in a special container desktop in Windows 8, and they can’t access most of the new Windows 8 UI features.
For example, desktop apps can’t be part of edge-swipe task switching. They can’t be snapped to the side as sidebars. They can’t participate in charm interface elements like extended search or share. They can’t present lock screen notifications. They can’t use live tiles. And these are just some of the features in this version of Windows. Who knows what new features Microsoft will add in future versions that will make desktop apps even less able to compete with native apps?
In short, the desktop in Windows 8 is where MS-DOS was in Windows 3.0. This brings us to a pivotal question: if Microsoft is as committed to the new Windows 8 user interface as they were to the GUI of Windows 3.0, what will desktop support in Windows look like going forward?
If you believe that history repeats itself, the answer is unambiguous: it will be relegated to obscurity in ten years, and it will cease to exist outside manually installed compatibility software in twenty.
Now, clearly any prediction about the future is uncertain. Many people out there probably don’t believe there’s any way the future of desktop computing looks like a much-revised-and-refined version of the new Windows 8 UI. But if you take a step back and realize that people thought the same thing about Windows 3.0 when it came out, I hope you can appreciate how real a possibility it is.
The Promise of Windows 8, Dead on Arrival
For present-day developers, the world of consumer computing pre-Windows 8 is a bit of a mess. There’s iOS, a platform where you can’t ship anything native without the haphazard and capricious permission of Apple. There’s Android, a pleasantly open platform plagued by mismanagement of hardware specifications, lack of commitment to native code support, and the threat of being seriously damaged by obstructionist patent lawsuits. And then there are platforms like Blackberry, WebOS, Kindle Fire (based on Android), and Nook which have yet to see adoption in significant numbers.
Enter Windows 8. It’s designed for touch input, has well-specified hardware requirements, features a well-documented native code interface, can be used directly as a development environment with no need for cross-compiling, and yes, it’s backed by a notoriously devious company which holds a patent portfolio five times the size of Apple’s. So if Apple did try to take the same litigious approach with Windows 8 that they took with Android device suppliers, we’d see a return salvo of infringement claims so massive it’d bury Apple’s fancy new headquarters in obtusely worded paperwork.
Perverse as today’s computing landscape may be, this could actually be a step forward for developers. Assuming developing for Windows 8’s new ecosystem followed the same rules as developing for the old one, any developer could simply install Windows 8, develop software that targeted the consumer touch market, then distribute it for free or as a paid piece of software via their website or a third-party distributor. Fewer platform headaches, no unreliable provisioning requirements for testing, no weird developer fees or subscriptions, and most importantly, no domineering Apple standing between developers and their customers.
But there’s just one problem. Microsoft has decided not to make the new Windows 8 ecosystem follow the same rules as traditional Windows. Unlike the transition from MS-DOS to Windows 3.0, Microsoft isn’t planning to expand the Windows ecosystem. They are planning to bifurcate it.
Monopoly
The problem begins with the Windows Store. If the name makes it sound like the Apple App Store, that’s because it essentially is the Apple App Store. It’s a centralized distribution mechanism that Microsoft controls which allows end users to purchase software from a catalog of titles explicitly approved by Microsoft.
This, by itself, might not be all that bad. There are valid arguments against the owners of a platform controlling the default marketplace for that platform, but if the platform allows people to develop and distribute software freely outside the store, then other companies can bypass the store altogether. Developers can distribute their software through other channels, or even provide competing stores, reducing via healthy competition the danger of abuse or obstruction by the platform owner.
However, it is clear from Microsoft’s publications on Windows 8 that in order to participate in the new user interface, you must distribute your application through the Windows Store. That means as of October, Microsoft itself will become the sole source of software for everything you run on a Windows machine that isn’t relegated to the older desktop ecosystem. Unlike the historical transition from MS-DOS to the Windows GUI, although the old platform (the Windows desktop) will likely remain open, the new platform (the Windows 8 UI) will be closed. This will put Microsoft in a wholly new monopoly position: that of sole software distributor for the majority of the world’s desktops.
Now, this is apparently a point of some contention. Perhaps because Microsoft has not made a bigger deal about it in their press releases, not everyone believes that distributing software for the modern UI will require developers to get Microsoft’s permission. But they are wrong. In order to set the record straight once and for all, a complete, thoroughly researched analysis of Microsoft’s official publications on the subject is included as Appendix B to this article. It demonstrates that there is no method for developers to distribute modern UI applications to the internet at large without receiving explicit approval from Microsoft.
So, with that in mind, it’s time to ask the fundamental question: if the new Windows 8 interface does come to completely replace the desktop, and Microsoft has complete control over what software can be published on that new interface, how dramatically would this affect the future of Windows? Will games designed for adults be the only casualties of a closed Windows, or is there even more at stake?
The Future Could Be Anywhere
Banning today’s most acclaimed game software from the new Windows 8 ecosystem — which also happens to be the only ecosystem that will be available to Windows RT users — is just one of the many negative consequences of Microsoft’s app certification guidelines. Other parts of the guidelines would have prohibited things like Flash, JavaScript and the dynamic web, even the app store itself, from ever being shipped if they hadn’t already existed today and thus been included by Microsoft in the platform itself. So it is clear that Microsoft has ensured that the new Windows ecosystem will only ever host the same narrow band of applications that Microsoft already believes is important.
But just because Microsoft has done a terrible job defining the boundaries of the new ecosystem, does that necessarily mean that the only alternative is to make the ecosystem completely open? Couldn’t Microsoft simply set new, better guidelines?
The answer is not unless they can see the future. And not just in a broad sense, but literally see it at full resolution, with clarity on every last detail. In the absence of such perfect foresight, how could any company possibly dictate the rules for future software without accidentally prohibiting things on which revolutionary new software might rely?
The reality is that even the world’s most successful companies are rarely able to accurately predict the future. Computing history is littered with examples. Digital Equipment Corporation, once the second largest computer company in the world, failed to foresee the desktop computing revolution and now no longer exists even in name. Silicon Graphics, once the world’s leading 3D graphics hardware company, failed to foresee the consumerization of that hardware and was eventually forced to declare bankruptcy.
Despite thus far avoiding a similarly dire fate, Microsoft’s track record on predictions is no better. As Bill Gates famously admitted in the late 1990s:
Sometimes we do get taken by surprise. For example, when the Internet came along, we had it as a fifth or sixth priority.
- Bill Gates, speaking at the University of Washington in 1998
And Microsoft’s subsequent change at the helm hasn’t brought with it any improvement:
There's no chance that the iPhone is going to get any significant market share. No chance.
- Steve Ballmer, in an interview with USA Today in 2007, where he predicted the iPhone would capture "2 or 3%" of the smartphone market
Without accurate knowledge of the future, by definition the only way to avoid accidentally prohibiting innovation is to not meaningfully prohibit anything. So the only certification requirements Microsoft could draw up that would fully support the future would be ones that effectively certified anything developers could possibly create.
At its heart, that is the very definition of an open ecosystem.
A Small Concession
For any developer keen on creating the breakthrough software of the future, it should be abundantly clear that the closed nature of Windows 8’s new ecosystem will be catastrophic for the platform. There’s no question it should be opened. But developers aren’t the people in charge of the policies for Windows 8.
So the more relevant question might be, can Microsoft afford to change course and allow Windows 8 apps to be distributed by anyone, not just the Windows Store?
Taking the long view, Microsoft can’t afford not to change course. They are already behind in every consumer market category beyond the desktop, so there’s no room for error. If a new software innovation comes around and, say, Android is its primary platform because it has open distribution, that could easily lead to another “lost decade” for Microsoft as they once again play catch up.
But corporations today don’t usually take the long view. Short-term profits and shareholder opinions are pressing, immediate concerns, and Microsoft is a public company held by numerous outside interests. So the question becomes, can Microsoft allow open distribution in Windows 8 without sacrificing revenue?
Surprisingly, the answer is that there will be little or no revenue sacrificed from allowing open distribution in Windows 8. That may sound absurd, but if you read Microsoft’s publications carefully, you will find that it is true. Although Microsoft has closed the distribution system of the new Windows 8 ecosystem, they didn’t close the payment system. From Microsoft’s own developer agreement:
In-app Commerce. You may elect to support purchasing options from within your app. You are not required to use Microsoft's commerce engine to support those purchases. If you choose to use Microsoft's in-app purchase commerce engine, purchases will be subject to the terms of this Agreement, including without limitation the Store Fee and licensing and roaming requirements.
As strange as it may sound, if a developer offers a limited application for free in the Windows Store, they may then sell, directly in the app, an upgrade or unlock to the full version for which they can accept payment directly. They do not need to pay Microsoft 20-30% royalties as with a Windows Store purchase. Thus any developer who wants to use a non-Microsoft payment system is free to do so. The only thing they can’t do is use a non-Microsoft distribution system, such as their own web page or store.
So it is almost impossible to conceive of a circumstance where Microsoft would lose significant revenue by opening the distribution system since it has already opened the payment system, and substantively all the revenue comes from the payment system. The only revenue Microsoft would still make from the store for an application that did not use their commerce engine would be the variable one-time application fee of less than $100 per app (not per purchase). The Windows Store would have to lose 10,000-20,000 apps to open distribution every day in order for this to amount to even 1% of Microsoft’s revenue. For reference, the most popular app store in the world, Apple’s, is estimated to receive a total of fewer than 500 per day.
Furthermore, the potential for migration of Windows Store customers from Microsoft to third party providers wouldn’t be any greater under open distribution. Anyone using the Windows Store as currently specified will be able to create an account with a third-party payment processor as part of any in-app purchase that supports it. Once they decide to make such an account, they can trivially use that account to pay for any other in-app purchase in all apps that support the same payment processor. The inertia of purchasing through a third party is only present the first time the user needs to use it. Open distribution would be no different. The Windows Store would remain the default source for Windows 8 apps, and only once the user decided to install and create an account with a third-party distribution source would the Windows Store lose its inertial advantage.
Thus Microsoft has almost no financial incentive to disallow open distribution. Presumably, there must be other concerns underlying their decision to keep distribution closed. Is it to mitigate the threat of malware? Is it to prevent piracy? Is it to better manage their brand? Until Microsoft is explicit about its goals so its decision can be assessed against them, we can only speculate on the motives, and all the likely candidates have other straightforward solutions that don’t involve draconian policies like forcing users to only install Microsoft-approved software.
Where We Go from Here
Experimentation on open platforms is one of the primary sources of innovation in the computer industry. There are no two ways about that. Open software ecosystems are what gave us most of what we use today, whether it’s business software like the spreadsheet, entertainment software like the first-person shooter, or world-changing revolutionary paradigms like the World Wide Web. It will be a much better world for everyone if this kind of innovation continues.
Developers, consumers, and even Microsoft should want the next twenty years to look like the last twenty: year after year of great new and previously unattainable things, brought to you by motivated, creative developers who were free to go wherever their vision took them, knowing full well that if they made something great, there was no barrier between them and disseminating it to the world.
With Windows 8, Microsoft is in a pivotal position to help make this future a reality. They could become one of the primary forces fighting to make tablet development as open as desktop development was under traditional Windows. They could take market share from the completely closed (and thoroughly dominant) iPad, and help restore to that space the freedom to innovate that developers lost when Apple imposed its restrictive policies.
Or, Microsoft can ship Windows RT, Windows 8, and Windows 8 Pro with their current policies in place, and be just another player in the touch device space, with their own set of ridiculous hurdles that severely constrain software possibilities and waste developer time with ill-conceived certification processes.
Why take this risk? Why not bend over backwards to give developers an open platform, so that each and every one of them will be not just supportive, but actually enthusiastic to help Windows make inroads into the tablet space?
The success of Windows 8 in the tablet and phone space is far, far from a sure thing. Does Microsoft really want to go into that battle without some of their biggest assets? Do they want the likes of Valve, controller of over 50% of all PC game sales, deciding to throw their weight behind Linux because the Windows 8 ecosystem completely prohibits third-party app stores like their flagship Steam? Do they really want the launch of Windows 8 plagued by story after story of notable developers coming out against the platform? And above all, are they willing to risk alienating developers to the point where they actively promote and foster competing operating systems as their flagship platforms because Windows no longer offers them the freedom to develop and distribute their software the way they choose?
Hopefully, for everyone’s sake, they will realize the only sane answer to all of these questions is “no”.
- Casey Muratori
2012 October 8
Appendix A
This appendix provides some brief statements about Windows 8 which were not explicitly covered in the article.
All versions of Windows 8 are closed for Metro apps, not just Windows RT. Although aggressively disputed by a number of people outside Microsoft, the truth according to Microsoft itself is that no final version of Windows 8 will allow free dissemination of Metro apps outside of enterprise domains. I have documented this meticulously in Appendix B.
But even if Windows RT was the only version of Windows with a closed ecosystem, this would still be extremely troubling. Windows RT could turn out to be the most popular Windows version in the tablet or phone spaces, and we need openness in those spaces just like we need it on the desktop. There is no reason to believe we should care less about the policies Microsoft implements on Windows RT than on rest of the Windows line.
Even if the Windows 8 UI debuts poorly, that does not mean it won’t eventually become standard. In 1990, many (if not most) serious computer users probably thought Windows 3.0’s interface wasn’t very good either. But ten years later, its direct descendent was ubiquitous. So regardless of what Windows 8’s UI looks like today, simply because people don’t like it or don’t see its future doesn’t mean its grandchild might not be the dominant paradigm down the road. By that time it will be far too late to convince Microsoft to open its distribution model.
People who do not prefer to use the Windows 8 operating system may still be hurt if it remains closed. If Windows 8 becomes popular, most users will be forced to use it at least occasionally (such as at work), and most developers will be forced to support it due to market pressure. People who dislike the operating system will need it to be as open as possible so that they can install software that replaces features they feel are implemented poorly, something that may well be disallowed by future Windows Store policies (policies similar to these exist in the Apple App Store requirements already, for example).
The fact that iOS is a closed platform is more reason to demand Windows 8 be open, not less. The fact that iOS is closed is actually the main reason why Windows 8 for tablets and phones must be open. If iOS were itself open, developers could go write whatever they wanted for the iPad and iPhone, and they wouldn’t have to care what Microsoft did. It’s precisely because iOS is closed, and Apple has repeatedly denied developers the right to distribute many kinds of interesting and commercially viable software there, that it is essential to have another powerful player in the space that’s committed to open software distribution.
Contrary to popular belief, Android, Nook, and Kindle Fire aren’t actually closed distribution platforms. Android, Nook, and Fire are all actually the same at the core (Android). Although they all have stores similar in behavior to the Windows Store, all three also allow you to install uncertified APKs (program package files) directly from the web. Granted, it is not exactly a well-oiled process on all of them, so in that sense their platform owners could do more to encourage open distribution. But at least they have not physically prohibited it, as Microsoft is doing with the new Windows 8 ecosystem.
Closed third-party stores like Steam are substantively different from operating systems which require all software to come from a single store. The crucial difference between the Windows Store and Steam is that Valve doesn’t own the underlying platform. Any developer can ship a distribution system like Steam to compete with Steam, and any Windows user could install it at the click of a button. The problem with Microsoft owning the distribution on Windows is that once the user has purchased a Windows machine, they cannot simply install, say, an Android system alongside it that they can effortlessly switch back and forth between instantly, as would be the case with Steam and a would-be competitor.
That said, Steam should be opened as well, but that’s an article for another time. In brief, what we really want is open Windows and open Steam, and we’re certainly not going to get there by having closed Windows and no Steam. That’s what we’ll have on Windows RT, and as I argued in the article proper, probably also Windows and Windows Pro down the line.
So we should certainly continue pushing Valve to open up Steam to all developers, but pushing Microsoft to open up Windows is more pressing because once it closes, there’s nothing a third party can ever hope to do about it.
Appendix B
Can a developer legally distribute a Windows Store app (formerly known as a “Metro” app) to everyone on the internet without first getting permission from Microsoft?
The answer to this question is unequivocally no. It does not matter whether you have Windows RT or Windows 8 or Windows 8 Pro, the answer is no on all versions of Windows thus far announced.
In order to ensure the accuracy of this statement, I called Microsoft’s public relations contact for developers and requested a fact check. I asked:
Can you distribute applications that use the Metro interface without going through the Windows Store? In other words, if a developer wants to distribute applications directly to the consumer, without the Windows Store, is there a mechanism for them to do this, or is the Windows Store the only way for consumers to install Metro interface-enabled apps?
- Casey Muratori
Their public relations firm was very responsive, pleasant, and quite helpful. They took the time to research the answer, and here is the relevant part of their response:
No, you cannot distribute Windows Store apps without going through the Windows Store. The exception to this is for enterprise apps (see this blog post). Developers can, however, create and offer desktop apps the same way they always have - through their own site or distribution point.
- Waggener Edstrom Worldwide on behalf of Microsoft Developer Relations
This statement confirms the policies as I stated them in the article proper: the desktop remains open, but the new Windows 8 UI is closed. For those interested in additional documentation supporting this conclusion, I have included a detailed walkthrough of the relevant Microsoft publications below.
A good place to start is a Microsoft publication about Windows 8 called How to Add and Remove Apps. In the introduction, they specifically state the following:
Typically, Windows Store apps are available only through the Windows Store.
and subsequently
Apps that aren't signed by Windows Store can only be installed on sideloading-enabled devices.
That’s certainly definitive, but unfortunately it uses the term “sideloading-enabled devices”, which has to be fully understood before it’s clear what this statement means. “Sideloading”, which is not originally a Microsoft term, typically means the transferring of something from one local machine to another, ie., something distinct from uploading or downloading. Unfortunately, certain vendors (including Microsoft) have mutated this meaning, and the term is now often used to describe the manual installation of an application on a device which has some other default method of installation (such as a store).
To understand Microsoft’s specific definition, look at their FAQ question “What is sideloading? Does the Windows Store allow it?” on their page Managing Client Access to the Windows Store, where they define the term as:
Sideloading, which is available in both Windows 8 and Windows Server 2012, refers to installing apps directly to a device without going through the Windows Store.
Thus sideloading is what we really care about in the debate about openness for Windows Store apps.
So if the only way to install a Windows Store app on Windows 8 without the Windows Store is to sideload, and in order to sideload you have to enable sideloading on your device, the obvious question is, can everyone enable sideloading on their devices for all Windows Store apps without Microsoft’s permission, thus making the platform effectively open?
Back to How to Add and Remove Apps:
You can enable sideloading on Windows 8 Enterprise or Windows Server 2012 by joining the computer to a domain. To enable sideloading on a Windows 8 Enterprise computer that is not domain-joined or on any Windows 8 Pro computer, you must use a sideloading product activation key. To enable sideloading on a Windows RT device, you must use a sideolading[sic] product activiation key.
Here, Microsoft has listed two different sideloading methods: one that requires domain joining, and one that requires a product key.
Insofar as it is discussed in Microsoft’s current publications, the domain-joining method is actually much more like traditional open distribution. From Deploying Metro style apps to businesses, Microsoft explains:
On an enterprise sideloading enabled edition, the IT admins need to verify: the PC is domain joined, the group policy is set to 'Allow all trusted apps to install', [and] the app is signed by a CA that is trusted on the target PCs
Thus if you are running Windows 8 Enterprise or Windows Server 2012, if you are actively joined to a particular domain, you can manually install Windows Store apps without Microsoft’s permission if those apps were signed by a certificate trusted by your device. Since you can, in theory, install any certificates you want, this effectively makes app sideloading work with no Microsoft intervention.
But there are two big problems. First, it only works if the user is domain-joined to an enterprise network, as mentioned above. Second, it only works if the user is running Windows 8 Enterprise or Windows Server 2012, because they are the only SKUs which support domain-joined sideloading as clients. For all the users running Windows 8, Windows 8 Pro, and Windows RT, this method is unavailable. From How to Add and Remove Apps:
You can enable sideloading on Windows 8 Enterprise or Windows Server 2012 just by joining the device to a domain. To enable sideloading on a Windows 8 Enterprise device that is not domain-joined, you must use a sideloading product activation key.
NOTE: To enable sideloading on [a] Windows 8 Pro device, you must use a sideloading product activation key.
and from the handy diagram on page 12 of the Windows 8 and Windows RT Volume Licensing Guide:
So unfortunately, this method does not allow distribution of Windows Store apps freely on the internet to all Windows 8 users. But there is still the second method which we have not yet discussed, the one that requires a product key. Deploying Metro style apps to businesses describes the steps for this method as well, step three of which is:
Activate a special product key by using a script on the target machine to enable sideloading. We'll go into more detail about how the IT admin will acquire the product keys in an upcoming blog post. The product key only needs to be install[sic] and activated once on the PC.
So the question becomes, can a developer get these required product keys without Microsoft’s permission? Product keys are supplied through something called a “Volume Licensing Multiple Activation Key (MAK)”, as is explicitly stated on page 12 of the Windows 8 Volume Licensing Guide for Partners:
Customers will also be able to enable Enterprise Sideloading of trusted Windows 8 apps on Windows RT, Windows 8 Pro, or Windows 8 Enterprise devices that are not domain-joined using a Volume Licensing Multiple Activation Key (MAK)...
which it later explains:
Medium or enterprise sized customers with Software Assurance for Windows or Windows VDA subscriptions in the following Volume Licensing programs will be granted Enterprise Sideloading rights and provided with the MAK keys as an SA benefit at no additional cost. Product keys for Enterprise Sideloading will be made available through the Volume License Service Center (VLSC).
So, this contorted method is definitely not open, because it will still require you to request product keys from Microsoft Volume Licensing, and Microsoft can simply refuse to issue those keys for any reason that they choose. In terms of openness, it is no different than going through the Windows Store, in the sense that you must check with Microsoft before distributing the app. It is also restricted a priori in that not all developers are even allowed to request such keys, since eligibility depends on your organization being in one of the special categories listed on Page 14 of Windows 8 Volume Licensing Guide for Partners.
So is that it for Windows Store apps? Not quite. Microsoft has publicly disclosed one more method for sideloading apps on Windows 8: developer licenses. From Get a Developer License (Windows Store apps):
A developer license for Windows 8 lets you install, develop, test, and evaluate Windows Store apps before the Windows Store tests and certifies them. Developer licenses are free, and you can get as many as you need if you already have a Microsoft account.
And from that same page:
When you run or debug a Windows Store app for the first time on a remote machine or on a device that's directly connected to your development machine, you're prompted to download a separate developer license for that machine or device. Because you can't install a developer license on a machine remotely, you must use the machine or device itself to get the license. After you install a developer license on that remote machine or device, you can install, run, and debug packages that haven't been certified.
That actually sounds pretty open, if a bit onerous: when I want to distribute a Windows Store app without Microsoft’s permission, I can send an unsigned app to end users, and they’d all install developer licenses and run it.
Unfortunately, reading the details reveals that this is explicitly disallowed by Microsoft. Although Microsoft allows an end user to obtain a developer license for the purposes of testing an app pre-certification, it explicitly disallows them from using a developer license to circumvent certification through the Windows Store, and claims that it will be monitoring for violations. Again, from Get a Developer License (Windows Store apps):
The license is provided on a per-machine basis and for a fixed amount of time. After the developer license on your local machine expires, you won't be able to run uncertified apps...
and
Microsoft can detect fraudulent use of a developer license on a registered machine. If Microsoft detects fraudulent use or another violation of the software license terms, we might revoke your developer license. The monitoring process helps ensure the overall health of the app marketplace.
With that, we’ve come to the end of the road for sideloading. So far, I have not seen any discussion by Microsoft of any legal method by which a developer can distribute a Windows Store app to an end user without Microsoft’s explicit permission, and that permission is not only legally required, but is enforced in the software directly via signing and authorization monitoring.
Hopefully, that definitively answers any speculation on this subject. Barring further publications from Microsoft describing new options for legal end-user sideloading, I contend that there is no way someone could reasonably construe that a Windows Store app could be legally distributed by a software developer to the internet at large without first asking Microsoft for explicit, digital permission to do so.
Site design and technology © Copyright 2005-2014 by Molly Rocket, Inc., All Rights Reserved.
Contents are assumed to be copyright by their individual authors.
Do not duplicate without their express permission.
casey muratori
casey's blog - post 4
prev
next
mollyrocket.com