Linux is awesome. In fact, I've already told you some of the reasons why Ubuntu is better than Windows. But if it's so good, why do less than 2% of desktop computers actively run a Linux-based operating system?

That's a really tough question to answer. For a long time now, Linux users all over the world have been praying for the year of the Linux desktop. But if we're ever going to see Linux gain serious traction, there is still a lot that Linux developers need to improve to be a true contender.

Application Development

Many Linux developers tend to devote their time to the core operating system, leaving application development to someone else. This leads to a huge disconnect between the operating system itself and the applications it runs.

Countless open source applications have started life being the idea of one person, before growing into an unmissable app. Examples include Firefox, Filezilla, LibreOffice, VLC Media Player, and many more.

We know it's possible for the open source community to make great applications. So why are there so many poorly written applications that look awful, don't work very well, or a have a combination of both these problems?

This is seen time and again in the Linux community. You have a well-written operating system that is slick and looks beautiful. But apart from a few core applications, much of the software looks awful or is poorly written.

Basically, the community needs to start looking beyond the the operating system. There is a reason why Microsoft and Apple develop many of their core applications in house. It's the best way for users to have continuity in the experience that both the operating system and applications provide.

Elementary OS Application Continuity

Some Linux distributions are starting to think about continuity, like in the example above. But this is very much the exception, rather than the rule.

Installing Applications

If you want to install an application in Windows, you simply download the appropriate EXE file, then double click on it to start the installer. This is the same process no matter what version of Windows you are running.

In Linux it's a completely different ball game. Linux applications are installed and managed by repositories, which are one of greatest strengths of Linux. However, they are also one of its greatest weaknesses.

There are a number of different ways to install applications in Linux, ranging from extremely simple to almost impossible. Some of these processes are:

  • A software center -- Similar to a mobile app store, where you can search for and install applications with ease. However, these are only as good as the repositories you have loaded. Usually, lots of applications are missing.
  • Executable files -- These work like EXE files in Windows. But there are different formats for different flavors of Linux. Ubuntu uses DEB, but Fedora and SUSE use RPM, so you need to know which executable files are compatible with your distro.
  • Command line -- You will need to know the correct repository for your flavor of Linux, as well as the correct install commands. All of which are completely different depending on which flavor of Linux you run.
  • Compile from source -- Download the source code, compile it and create an install script. However, these days this is rare.
LibreOffice Installation Through Command Line

As you can see, the process of installing Linux applications can be convoluted, which can quickly put new users off. Linux is yearning for a simplified, universal way of installing applications. Sadly, this would require a huge overhaul of the fundamental way in which Linux works, so will probably never happen.

Better Support, Less Elitism

For the most part, the Linux community is a thriving, bustling beast that contains some extremely talented people. Installing Ubuntu (and most other flavors of Linux) is a very simple process for the most part, although this doesn't mean that you won't need help at some point.

If this happens, you can head over to the Ubuntu Forums -- or the appropriate forum for your flavor of Linux -- and ask for help. This is where the problems start. People are busy, so depending on what your problem is, you may find that you get little to no response. This means you may have to work things out for yourself, which is never good if you're new to the "community".

Linux Nerds Pointing Straight at You

If you are lucky enough to get a response, you may find it's not the response you were expecting. You see, there is a lot of elitism in Linux and this can sometimes spill over in to places like support forums were users of varying technical ability will be asking for help.

So if a new user posts up a problem, they may be ridiculed for not providing enough information. Worse, they might be accused of wasting time with a mundane issue that can easily be Googled.

Or mocked for just being a "noob".

Thankfully, this is becoming less and less frequent within the community, as seasoned users are starting to realize that new users need to be welcomed if we are to grow Linux to it's full potential. But the problem still exists -- I've seen it first hand -- and really needs to be completely eradicated from all facets of the Linux community.

We Need Fewer Choices

Having the choice to pick which Linux distribution you should run is great, but you can have too much of a good thing. There are currently 827 Linux distributions listed on Distrowatch. Eight hundred and twenty seven! That's a ridiculous number for anyone to sift through -- even for seasoned Linux users, like myself, never mind new users.

Closeup of HTML on Laptop Screen
Image Credit: Welcomia via Shutterstock.com

The problem is that Linux is open source. Simply, this means that anyone can download the source code for a Linux distribution and make their own version. If there's something you don't quite like, you can fork a project and start your own. This sounds great in principle, but in reality it is pointless. The huge list of distributions for the most part share the vast majority of code and applications.

Imagine what could be accomplished if these of developers decided to contribute to a smaller pool of core distributions, rather than doing their own thing! I think we would end up with a more developed Linux ecosystem with fewer problems.

The Boot Process

When you first boot up Windows, you get a Windows splash screen, then soon after you get a prompt to log in. That's not the case in Linux. Most distributions use the GRUB bootloader which by default asks how you want to boot the operating system, and it gives you 10 seconds to make the decision.

So as a new user, the very first thing you're greeted with after installing your distribution, is an ugly command line screen asking you make a decisions like which version of the kernel you want to boot.

It's a terrible first impression.

GRUB Bootloader for Linux Ubuntu

GRUB is awesome, and it comes in really handy when dual-booting, as it allows you to select which operating system you wish to boot in to. But why does it have to be so unfriendly to users?

Why can't it be a GUI were the user clicks on which OS they want to boot, and if there is only one OS, skip the GRUB prompt all together. Apple do it, so there's no reason why Linux can't. Some distributions are making waves towards doing this, such as Elementary OS. But there is a still a long way to go in order to make the boot process more user friendly.

Mac Dual Boot Selection Screen

We Need to Improve Linux

This article may read like I'm bashing Linux, or that I hate it. Nothing could be further from the truth. I adore Linux and the open source community in general. However, if we're ever going to have "the year of the Linux desktop" then things need to drastically improve.

What do you guys think? Is there anything else you think should be changed before Linux can truly go mainstream? Or is Linux fine just the way it is?

Feel free to leave your thoughts in the comments section below.

Image Credits: Sofia Santos/Shutterstock