Microsoft began its Windows business in the 1980s by selling the software (the operating system) that IBM’s hardware badly needed. This was the kernel of business that would eventually become Microsoft. As the PC (IBM PC at first) began its proliferation, growing in popularity exponentially, Microsoft began its growth as a software company. Sure, there was the enterprise segment which Microsoft tried to win over multiple times throughout its lifetime, but it was almost always dominated by UNIX variants. Both users and developers tolerated Microsoft’s environment as time went on, with Windows XP being the most successful app environment in terms of longevity.
In 2001, Microsoft bet the company on .NET. Let me remind you that this is now 2012, 11 years later. Windows Vista was the first OS to integrate .NET. The migration path for developers was clear: embrace .NET. Windows 7 wonderfully integrated the new .NET Framework 3.5, and now .NET developers could finally expect to build real desktop applications on Windows. Of course, there was also the legacy C++ (Win32) environment that had to be supported, which 99% of Windows apps still rely on, but that was obviously not a problem for anyone at Microsoft. Clearly, .NET would be far more successful as an API than Win32 ever was.
The year was 2011, and ARM processors began to worry Microsoft. There was only one time in the past when other architectures (besides x86) posed any real threat to Microsoft and this was in the early days of Windows NT, in the mid 1990s. But this time, the threat came from a plethora of non-PC devices called “smart phones” or “tablets” or “netbooks”. Not only are these devices extraordinarily cheap, cutting into Microsoft’s margin on sales of its OS, but they are also growing at a much faster rate than Microsoft’s flagship platform, the PC, on which its Windows empire was built. In 2012, you can get yourself a top-notch 2007 workstation in the form of a tiny ultra-thin laptop, and the price of the OS (Windows) represents at least half (50%) of the price of the device itself.
Things have changed, indeed, and Microsoft’s OS monopoly is now threatened by changing consumer expectations, and a changing hardware environment that no longer resembles the slow, homogeneous pace of change of the 1980 – 2005 era dominated by the desktop PC form factor.
It can be argued that Microsoft can expand into the enterprise sector to survive, but this sector requires a stable API and a secure OS. It requires the scalability and flexibility provided by open source software like Linux. It will be tough for Microsoft to penetrate very deep into enterprise, and this is exemplified by its inability to even gain a foothold in the cloud computing sector. Microsoft was never a successful hosting company, and I doubt they ever will be.
I urge the reader to take a look at this article: “Microsoft’s Extinction Event” written by Mike James over at i-programmer.info. New anti-Windows RT articles are appearing every day, and I agree in principle that Windows RT is a horrible step backwards for Microsoft, and a step away from its .NET strategy. It’s a classic case of “couldn’t leave well enough alone.” I have been calling for the end of Microsoft since April, 2009.
I have no doubt that Microsoft will survive for at least one more decade, but it will be in a greatly diminished form in terms of profits and market cap. The latest move with Windows RT and Windows 8 will cost them even more. It will cost them reputation, heavily. Instead of simply optimizing the performance of their already successful Windows 7 OS, they decided to diverge once again, trying to grab onto ARM market share at the expense of their traditional PC market share. The result will be catastrophic, as their PC clients will simply refuse to buy the new OS.
I really wonder how OEMs will handle Windows 8. Will Microsoft once again force OEMs to push an inferior OS like they did with Vista? It should be interesting to see how things evolve, but I suspect the strong demand for Windows 7 will, if MS is reasonable at all, cause a recall of Windows 8 for at least 2 more years. WinRT and .NET 4.5 are not small changes, and there are many things wrong with the way they are being deployed in Windows 8, such as the limited backward compatibility with .NET 4.0 or 3.5, that should raise eyebrows. They represent an unneeded “kick them while they’re down” moment for Microsoft’s developer community, and I for one will not stand for this.
One last thing to think about, because it is 2012, is how Microsoft will support its older .NET frameworks or its older Windows versions, including all the variants of Windows Server that have been released just since 2006. How will they support Windows Azure and Windows RT and Windows Phone and Bing, all of which never existed prior to 2009? Think about what all of this means for a company whose bottom line will decline. Going out with a bang, perhaps? Only time will tell, but I’m hedging my bets, and so should you. Learn Linux, intimately.