When most people think of Microsoft, the first thing that comes to mind is Windows. This is not because it’s the only product it produces, but because the operating system has defined the company, and everything it has done, for decades.
As people working in the field of development, we are keenly aware that Windows is just part of the empire, but it is a critical part. Some would say it is the defining part, but describing it as the leading part is probably more accurate, since as Windows goes, so go the development technologies Microsoft creates to support it.
It is hard to imagine Microsoft achieving any of what it has done in other market spaces (like developer tools) without Windows backing the play and causing the need for Microsoft to be in markets like productivity tools, SQL Server or CRM. It is like imagining Google without search; it does not compute. This raises the question of whether Microsoft’s future success is tied to Windows or not. There is no clear-cut answer, but in some ways we are finding out the answer now, and it is not looking good.
Windows is the core for a reason, and Microsoft has had a rocky patch in recent years with getting the world to accept its latest versions of the operating system on the client. It feels like a familiar cycle we have seen years ago: Vista was not well received and continues to be cited as a huge misstep by many pundits. Windows 7 seemed to right the ship for a while, but Windows 8 confused (and still confuses) many with its new interface and the initial loss of the Start button (more on that later).
Now we are expecting to see Windows 9 in 2015, and are left wondering whether the off-and-on, hit-and-miss pattern will continue. There have been shocks and surprises for developers along the way. With any luck we can use what glimpse we have of the future to chart the course going forward. There is also hope that the recent change of command may lead to the change of course needed to get Windows 9 right for consumers, power users, enterprises, and most importantly, for developers.
What’s in a name?
When Windows 8 first came out, the new Start Menu-based apps were called Metro apps, and these were the only apps that the Windows RT edition of Windows 8 could run (aside from Microsoft-only exceptions in the form of Office apps that run in a stripped-down desktop). The new Metro interface was also the default for desktop users, which became a major source of the dissatisfaction with Windows 8.
The new terminology did not last long as Microsoft claimed at the 2012 BUILD conference that Metro was just a codename and the new style of applications that leveraged WinRT were actually “Windows 8 Store Apps” or “Windows Store Apps” or “Windows 8 Style Apps.” This did not help matters as it made talking about these things awkward, and it did a poor job of masking the widely held belief that a lawsuit by a company in Germany named Metro was actually the driver here. The name fiasco did not help win hearts and minds, and it can still make conversations a bit stilted.
What seems clear now is that Microsoft wanted Windows 8 to compete in the very hot tablet market that was being dominated by Apple and Google. The problem is that many people were finding that the new, touch-friendly interface served up a miserable experience for desktop users who upgraded. The new paradigm broke faith with the tech-savvy in ways far worse than the issues with Vista. In this case, the problems were interpreted as a betrayal and abandonment rather than simple mistakes or bugs.
Aggravating this was the political situation at Microsoft in the lead up to the release of Windows 8. The leadership at the time had taken a hard line on allowing any communications other than Apple-like unveilings, and the rumor mill assumed the worst at every turn. Rumors of the death of .NET, Silverlight and every other dear developer technology were put forth, with some of them being borne out in the long run. This all has created a storm of fear and loathing in many previously devoted Microsoft developer circles that lasts through today.
The simplest way to understand how we got here is to understand what Microsoft was trying to do with Windows 8 and where those plans hit and missed. With no official word on this, but having watched it all unfold, it appears that the head of the Windows Division, Steven Sinofsky, took the lessons of Apple and Steve Jobs to heart because Windows 8 came on with virtually no information ahead of time that would allow feedback on the grand plan.
The grand plan was a good one because it meant embracing touch and seizing the tablet space, but the implementation was horrible because it broke long-standing covenants with the existing base and especially with developers. Casual users or anyone looking for more from a tablet got a Windows that was on track and a contender in that space, but users in the enterprise and anyone approaching power-user status were left wanting. Some adapted, some bailed, some clung to Windows 7, but many stewed and resented. Again, mistakes can be forgiven, but if the state of affairs is construed as intentional, then it is much worse.
Conspiracy theory? Or volatility of quality?
A recurring question is whether the client version of Windows has matured to the point that continued regular versions are unnecessary for anything other than driving profits for Microsoft. The best response to this is to harken back to the often-cited comment by Bill Gates, where he questioned why anyone would need more than 640KB of RAM.
In hindsight we see that allowing future versions of Windows to be hamstrung by that limit would have undermined the world of potential already realized. The client must evolve. Both Windows XP and Windows 7 have strong followings of people who will tell you that they really do not care if much more is ever added to their client OS of choice. Sticking with the same client OS for the next 20 years is harder than it sounds for a number of reasons that are not obvious to the e-mail and browsing crowd. This group does not see much value in kernel security hardening (though they should) and are not expecting to consume 3D media anytime soon.
Security and compatibility are the big issues. Many of the new features of a client operating system are there to support developers in delivering ever-inventive and useful solutions ,and the platform (the client operating system in this case) must evolve to support the native capabilities these innovative applications require.
If we take Windows XP as an example, we see that while it is a great little OS, it has stopped getting any love in the form of security fixes. Microsoft can be blamed here, but unless the company buys into the everlasting client OS concept, it has to draw a line somewhere. Windows XP also would not support the graphics that even some Web applications are starting to provide. Most software packages from third parties as well as Microsoft are leveraging new capabilities that are just not present in XP.
In spite of all these examples, we can still blame Microsoft for not simply adding features to XP. The problem is that supporting an OS takes money, and new version sales pay for the tail of support provided. It is a fact of life that there will be a steady stream of new client OSes as long as there is a market for them.
So maybe the problem is that these new operating systems are not getting better enough to justify the cost and turbulence they cause. You might even hear that Microsoft must have intentionally tanked Windows Vista so that it could save the day with Windows 7 and not have to innovate for an additional OS cycle. This, in my opinion, is certainly not the case.
Back a few years ago, the Syfy channel had a program lineup one weekend consisting of selected “Star Trek” movies. The announcer said that “Star Trek: The Wrath of Khan” would be followed by “Star Trek: The Voyage Home” and then “Star Trek: The Undiscovered Country.” No big deal, just some of the better movies from the “Star Trek” franchise. But it is what the announcer said after that that struck home. He said something like, “Fact: Even-numbered Star Trek Movies don’t suck!” It was an interesting observation that the movie franchise had managed to create what most consider a bad movie followed by a good one over and over, and yet there do not seem to be any accusations that this is intentional.
Maybe after a success, the producers, directors or writers think they know how it is done and stray from the path, or maybe it is just luck of the draw. It is likely that the same thing is at work at Microsoft in the Windows Division. An old saying about Microsoft is that their products are not done until they get to their third version, and another is that new versions require their first service pack before they are fully baked. This client-OS pattern of good followed by bad can be traced all the way back to Windows 98 if you count Windows 98, XP and 7 as good, well-accepted versions, and Windows Millennium Edition, Vista and 8 as less well-embraced iterations.
Denial, boycott and other coping mechanisms
As discussed earlier, Windows 7 is a well-loved client OS version, maybe even more so than Windows XP. By the time this article publishes, Windows XP will no longer be supported. Among those less than thrilled about what Windows 8.x has to offer, sticking with Windows 7 is a favorite tactic to wait it out. I waited out Vista in this way and was very happy that Windows 7 saved me from the tough choice of sticking with XP or moving to an undesirable OS.
Many of the faithful have spent a great deal of time adapting and explaining how Windows 8 is not that bad. There are many threads on how to use shortcuts and tricks to get around in Windows 8 without touch capabilities.
A popular coping mechanism, especially before Windows 8.1 was available, comes in the form of the Start8. Start8 is a utility that provides a Windows 7-like Start button on Windows 8 systems. Sold by Stardock for US$4.99, it fills the gap left by the Windows Division’s decisions about what users need.
Start8 has become a non-negotiable condition for using Windows 8 and even Windows 8.1, especially among developers and more than a few executives who are in the power-user category. It occupies a very tenuous position since it is very possible (and widely hoped) that Windows 9 will bring back the Windows 7 Start Menu, but for now it really does help make Windows 8 much more usable.
Even on Windows 8.1, where there has been a Start Menu of sorts, Start8 still has a place. I asked a devotee of Start8 if he was going to need it with Windows 8.1, and he said that the changes to Windows 8.1 were just half steps and that he still would not think of using Windows 8.x without Start8.
Stardock also offers another extension named ModernMix, which, according to Stardock, allows you to “Run Modern (Metro) apps in a window on your desktop.” This resolves another oft-heard complaint regarding the two-world scenario that Windows 8 imposes. For example, if a user opens a file on the desktop, the application that launches might be less fully featured then the Modern (aka Windows Style) app that would normally handle that file type on the touch-friendly side. Surprise is not something that information workers prize in a desktop client experience, so ModernMix allows those Modern apps to run windowed on the desktop.
This is a glaring violation of the usability sensibilities espoused by Microsoft User Experience gurus at the first BUILD conference, but it is productive. The following for ModernMix seems anecdotally to be less fervent than that for Start8, but it still seems to be popular.
Security and sideloading hell
Given how big Windows is in terms of the raw number of features, it is no wonder that not everyone cares or even thinks about many of them, even if they are important. Security is high on the list of features that are taken for granted, likely because like insurance, we seldom think about it until we need it (and do not have it).
Security features march forward more than any other feature set in an operating system because they must. Windows 8 has an impressive list of enhancements that help it thwart really advanced threats (such as buffer overflows) that in previous versions would cause an attack to completely undermine the system’s security.
While no details on security enhancements are out yet on Windows 9, it is likely that a great deal is going on in this space to keep up with the arms race that is computing security. Among consumers, security features are probably the least appreciated. There are no indications that Microsoft has skimped on the security as Windows 8 shares the enhancements that have been put into Windows Server 2012. In Windows Server, security is a serious feature, and perhaps in this case Windows 8 is just lucky to get the benefit of these enhancements.
Another area of functionality that is not important to consumers is loading your own applications onto the device. For Windows RT devices, this story is less than ideal, and some would say that in the case of Windows RT it is more accurate to say the lack of a story is a strike.
Getting your code onto the device without having to go through an App Store is known as “sideloading,” and with previous versions of Windows, it was never an issue. It is also not an issue on full Window 8 systems provided you are content with something that runs in the desktop and does not conform to the new style of running on the start screen, but Microsoft has pushed Windows Style Apps and Windows RT as the face of the new OS, so organizations that wanted to leverage lower-cost tablet devices for their workers need to sideload their applications.
Sideloading is a mechanism familiar to those who hack their phones, and it also sometimes refers to putting a whole new system on a phone. In this case, it is just the reality that a company that has 500 or 1,000 users with tablets does not want to put its business app on a public store in order to get it out to those users. They need a way to sideload that is not abusive, and the consensus among those polled is that no such mechanism is available.
Since Windows 8 first came out, Rockford Lhotka, CTO of Magenic Technologies, has been emphatic about the need for organizations to be able to load their own software onto WinRT devices in a way that is not overly burdensome. “The future of WinRT in business hinges on having a sideloading story that is comparable to ClickOnce with WPF or Silverlight deployment,” he said.
No one has done as good a job of documenting what Microsoft got wrong about this than Lhotka. He has documented the exact problems quite well in several interlinked blog posts, and has even speculated on why Microsoft did not get it right or fixed it since. If Windows RT survives into Windows 9, then this is a big item in need of remediation, but there is no word yet on whether Windows 9 will address this.
Mistakes and chances of redemption
Hal Berenson was a Distinguished Engineer at Microsoft until October 2010, and he has approximately 12 years of experience working there in positions where he got to see things done up close. In a blog post from a little more than a year ago, he asserted that the biggest problem with Windows 8 was the “shut up and ship” mentality that he lumped in with “a bunch of rookie m