Since the rise of Windows 95, Microsoft has dominated the desktop computer for years and can be considered a monopoly in the PC industry. Most applications for personal computers are created for Windows and the same can be said about games.
Linux has a strong presence in fields like web hosting, IOT, and smartphones. It only makes sense for Linux to increase its presence in the PC industry.
Thought out history, we can see that monopolies usually never push the boundaries when it comes to innovation and consumer benefit to the fullest potential. In my recent Medium post The case for switching from Windows to Linux based alternatives, I talked about Microsoft starting to tear down privacy on Windows 10 and wanting to centralise app distribution. In my opinion, it is a step backward for consumer freedom but is beneficial for Microsoft. I don’t think the right solution should be to interfere with regulations but today for PC’s there isn’t a viable competitor to offer a choice for consumers.
But this isn’t really just about privacy or centralisation but more about the lack of competition in the computer industry. The free market and competition are really what drives innovation forward and Microsoft has a much smaller incentive to innovate and satisfy customers completely because everyone needs Windows to run Photoshop or the latest triple-A title game.
Linux is an alternative operating system that has been around for more than 20 years and is a viable alternative to Windows today but really lacks what I would call final tweaks that enable non-tech savvy users to start using it.
The user shouldn’t have to memorise terminal commands and edit complicated configuration files just to make Linux usable.
Now, there are distributions like Arch that focus on the exact opposite, complete manual customisation from A to Z, and that’s great that there’s such an option for Sysadmins and Tech nerds. But here I want to focus more on those Linux distributions that position themselves for typical users who are not engineers or developers.
From my journey trying out different types of distros, I found that a lot of them have issues that can be fixed. A few examples:
Screen compositing disabled by default
Most Linux distributions use the Xorg display server and a window manager. These 2 programs are partly responsible how graphics are handled on Linux. Still, in 2017, a lot of desktop environments do not have screen compositing/v-sync enabled by default and that means video playback and other UI elements will suffer from screen tear.
Every time you install Linux, you have to check if the problem exists. I use a screen tear test clip from YouTube. In my experience, usually, this does not happen on the two most popular desktop environments Gnome and KDE but for everything else, it is a hit or miss.
This is one example where the default configuration is not set up for the best experience. Those who have the patience, will open the terminal and do all that work, but not someone with less experience and no desire to dig deep into Linux forums.
Fragmentation vs Healthy competition
An important part of Linux is package managers. They control how apps are installed/deployed on the Linux machine. There are about twenty of them according to Wikipedia. Do we really need 20 ways to install apps on your computer? In reality, most users don’t care if under the hood the command is “apt-get install vlc” or “pacman -S vlc”. They just want to install the app painlessly and developers want a universal way to deploy apps.
App hunting: Default app lists, Remote repositories, and version numbers
Every distribution comes with a specific list of apps that are available to install by default. The trouble starts when every distribution has a different count of apps and different version numbers. Typically stable and conservative distributions have outdated apps and cutting-edge systems get updates much faster. There is no consistency.
So, to get all the necessary apps, first, you have to install what is available by default, then for Debian or Ubuntu, you have a .deb installer file that some publishers provide, some don’t, and the third option is to install things with the terminal.
All this inconsistency makes installing apps unnecessarily complicated.
The need for better GUI’s for tasks
Most of PC hardware works out of the box and essential software is available to install but sometimes, a lot of things need to be done in the terminal and there’s lack of good graphical user interfaces in some areas. Either it is easier and more convenient to do things in the terminal or there is no way you can change the configuration without it.
Suggestion 1 — Include the configuration that most users prefer and make it easier to adjust it for those who don’t.
Locate the things that are used by the majority and offer them by default. A screen tear-free experience, for example.
Suggestion 2 — Don’t reinvent the wheel, contribute to existing projects.
Lot’s of developers think their solution is the best and other solutions are bad. Usually not the case. People tend to be very romantic about their code. Seems to me that this is the case for the Linux desktop community. Imagine if everyone could agree on just 2 or 3 dominant package managers and focus all that time to improve other parts of the OS experience.
The idea is to run each application in a sandboxed virtual environment/computer so that it can run on any Linux distribution even if the system uses a different method of installing apps. This fixes all of these problems. It will be easier for developers to deploy apps. They will have to do it once and the app will be available everywhere and updates would be provided to all computers at the same time, no matter the underlying system version, be it stable and conservative, or rolling release, cutting edge.
Suggestion 3— Improve GUI’s for typical tasks
Ideally, if a user is not a developer, make it so that the use of terminal is not needed and implement all settings that might need adjusting in a graphical user interface so that users shouldn’t have to dig into complicated configuration files.
Gnome recently released its newest 3.26 desktop version which includes a redesigned and improved settings app. This is a great example where the graphical user interface was improved and made better for users and looks like the KDE desktop is following lead.
The biggest downside of Linux is lack of a lot of software and games that are available on Windows. It cannot be easily influenced but I believe that if the community wants Linux to succeed than we should fix everything that can be directly influenced and hopefully, developers will more inclined to support it as its market share increases.
I think this year brought many improvements for Linux. Canonical, the company that develops Ubuntu, the most popular Linux distribution, made some bold and encouraging moves and has announced that it will discontinue Unity, their default desktop environment and instead will choose Gnome, the most popular desktop on Linux.
I think this is a great move because collaboration rather than fragmentation will lead to a more polished experience for users because more resources will be dedicated to improving the experience on one desktop rather than two. Ubuntu developers will be able to contribute more to the Gnome project and by the departure of Unity, there will be less fragmentation in desktop choice. This potentially could have a huge impact in the Linux community because Ubuntu is the most used Linux OS by numbers.