Why Windows is so popular?

Mohammed E.Amer
6 min readAug 9, 2019

--

I stopped using Windows about a decade ago. I switched to MacOS for sometime and then to Linux till the current moment. However, this article is not about personal taste. Despite I like Windows or not, Windows, according to netmarketshare (as of Aug, 2019), powers 87% of the desktops/laptops on the internet. I am trying here to trace the roots of this popularity, trying to be neutral as far as I can.

The Curse of Zeno

As in the Achilles and the tortoise famous paradox devised by the Greek philosopher, Zeno of Elea, where you start does make a difference. Windows had an early on start in the beginning of 1980s. Although Linux didn’t kick off till the early 1990s when Linus Torvalds started the Linux kernel, the Macintosh system was emerging at the same time. One line of argument is that due to its early start, Windows could attract more users over the time and gain more grounds, rising in popularity and limiting other operating systems market segments.

However, such an argument is complicated by the fact that for Windows to achieve that, it must be a very competitive product that is near optimal to the limit that users will be very reluctant to migrate to another platform. But is it true that Windows is superior to other common *NIX systems, like MacOS and Linux?

WTH is superior?

“Superior” depends on who you are and how you measure the performance. A graphic designer would define a superior OS as having very good aesthetics and rendering. A developer needs low-level access and flexibility with the environment. An engineer may be looking for an OS that easily leverages the computational power of hundreds of cores. However, for the average every-day user of desktop/laptop, what mostly matters is the familiarity and usability.

No doubt that *NIX systems are far more robust, reliable and secure than any Windows platform. Use a Windows 7 for a couple of hours and most probably you will run into two or three “Not responding” applications that you will need to start the task manager to kill and relaunch them again. This is not acceptable to happen on an experienced developer’s machine and is an unforgivable sin if it happens on a server. However, for the every-day user it is not a big deal if he is getting benefits on other aspects that are more critical to him. One of the big selling points of all times for Windows was the Microsoft Office tools and similar everyday general productivity tools. The selling point was neither an IDE, an SDK nor a fancy Numerical computing framework.

The usability of the Windows is totally justified against Linux, specially in its early days, when it was a privilege of the tech savvies only. However, this is not the case with Macintosh. Macintosh emerged around the same time and was envisioned with ease of use in mind. Why, then, is that discrepancy in the market share?

The OEM Forest

Original equipment manufacturer (OEM) is simply the hardware manufacturer of the different components in your desktop/laptop.

Operating systems from the early on were faced with the problem of communicating with the hardware. How the operating system is supposed to identify and communicate with different hardware by different manufacturers despite the heterogeneous protocols, signaling and all other sorts of discrepancies?

The philosophy adopted by the Windows, and Linux later on, was that the OS should be equipped and ready to work on any hardware in the wild. This of course entailed more development overhead and more susceptibility to variance in behavior across machines. Apple, on the other hand, has chosen to support only a subset of the hardware, basically the ones that will be shipped with their machines, and ignore all the rest. So, in fact, yes, the Macintosh system is stable, however, only in its sanitized hardware environment. If you ever tried, like I had, to run Hackintosh or similar variants of modified MacOS for PCs, you will definitely remember how many times you got kernel panic or other sorts of failure due to hardware incompatibility and malfunctioning kexts.

Hence, a big part of the usability of Windows is that you can install it on nearly any commercial hardware/machine. This is a big deal since you don’t have to buy Apple’s over priced hardware and you do have the flexibility to customize as you wish.

Have we ever met before?

Linux is now different from before and a lot of distributions are designed to be very user friendly. Still despite Linux is the number one choice when it comes to server deployment, it is far behind Windows when it comes to every day usage. The main reason here is familiarity.

The familiarity of the Windows is a feedback loop that benefited from its very early start, long history of average user market dominance and usability. Most users get their first impressions about computers from interaction with Windows machines and thus get attached to the Windows culture. Many people have asked me to introduce them to Linux before, and the first question I get every time is: “Where is My Computer?” or “Where is C” and when I explain that the there is no “My Computer” or “C” in the Windows sense, they get shocked and ask the next obvious question which is: “How then I am supposed to access my files?”. As Windows is usually the first OS the average user will be introduced to, due to wide adoption by schools and desktop/laptop manufacturers and long history of market dominance against Macintosh and Linux, most users are familiar with the Windows culture and so are more likely to adopt Windows as their main everyday OS, which will feedback into more Windows familiarity.

In my opinion, however this point is subjective, the *NIX directory structure is more simple than the Windows equivalent. It is designed to abstract any reference to the physical drives or partitioning. However, since most people are more used to Windows, they find it just more familiar, even if it is in some sense lower in level.

Linux is so self-blaming

I once made the sarcastic comment that hackers are no more able to hack Windows since they can’t find a place to put a new backdoor.

Viral epidemics in Windows are something we are used to. I once made the sarcastic comment that hackers are no more able to hack Windows since they can’t find a place to put a new backdoor. Despite *NIX systems are not immune to viruses, they are generally very secure and, specifically for Linux, very actively patched that viral epidemics almost never happened, at least not any place near to the Windows scale. This continuous and active auditing and improving process has its downside, which is that the Linux APIs, libraries and dependencies are relatively fast changing ones. This is concerning and annoying for application developers, specially the proprietary ones, because they have to keep their pace with the relentless Linux community. This is complicated more by the different distributions and flavors of Linux existing in the market. Windows seems to have solved this kind of backward compatibility issues by avoiding any redesign, just doing patching in the ugly way and by introducing the .NET environment later on. MacOS seems to be doing very good in terms of security and robustness, but as I mentioned, in its hardware comfort zone.

The emerging Snap package manager by Canonical is trying to address this issue by introducing self-contained applications that can be installed on any Linux distribution, reducing the development and deployment hassles. This is still not mainstream as of the current time, however.

Conclusion

Windows achieved its popularity by targeting every-day average users, who are not mainly concerned by the optimal robustness and security of their machines, but are more focused on the usability, familiarity and availability of productivity tools. MacOS, despite being very usable, more stable and secure, was simply isolating itself in a hardware niche and marketing itself as an elite expensive option. Thus, it lost in the familiarity battle, while it created a cult-like community. Linux had a late start, wasn’t very usable at the beginning and despite catching in usability, it is still a bit fragmented and demanding for developers.

--

--