Linux for the layman

kohloth

kohloth

Posted on June 8, 2019

Linux for the layman

Originally published at socket-two.com on 30th Apr 2019.

For the past decade, charts depicting operating system market share in the context of laptop and desktop computers have looked much the same. Wherever you look, you will see that windows has consistently dominated by a large margin, occupying about 90% of machines. MacOS has consistently been a distant second, at 7% - 8%, and the remaining slice of the pie - a very thin slice - has always been the claim of the paradoxically plump little penguin, Linux.

Why is Windows so popular? Is it because it is better? Or is it just because it is what people are used to?

Maybe a small patch of light can be shed on the answer to this question in the form of another question: In the context of I.T., what percentage of the global population is a demographic that fears the prospect of unfamiliarity, and will go to considerable lengths to avoid it?

A few summers ago, I was sat with some friends in a garden just after dusk. The chiminea burned with a warm glow, and the birds were just settling. Such a scenario can garner a predisposition to philosophical thoughts, and the Linux-loving part of me could not be restrained from a small attempt to proselytise. (Unfortunately for some, Linux-converts often harbour this urge).

I explained how the customisability of the operating system allowed me to be more productive and comfortable while working. In particular, I described the convenience that emerged from the expressiveness and directness of the command line as an interface, and the power that came from the command line's applicability within repeatable and automatable bash scripts. I also talked a bit about how operating-system-level, configurable keyboard shortcuts could be set up to very easily open - and switch between - programs: Something that sped up my workflow considerably when using Vim, Terminator, and Chrome in unison as a fragmented development suite.

"That's all very well..." began one of my good friends, clearly having taken aboard the gist of my descriptions. "But if you're not a computer programmer, if you just use a computer for common day to day stuff...word processing, surfing the web, playing music, watching films...Windows is fine."

I nodded with a frown, and granted that it was true. His point about Windows being fairly well suited to such tasks was technically correct. But then something very interesting dawned on me. While Windows is fine for the majority of most people's casual computing needs, even at this level, Linux is arguably, demonstrably better - although personal preferences abound. An accessible Linux distro, such as Ubuntu, will actually provide the rudimentary operating system features that all users lean on with a reliability, efficiency and, crucially, a user-friendliness that can make Windows look like the unusual, obstinate one.

It also occurred to me since the discussion, that getting used to modern Linux is, relatively speaking, very easy. The learning curve involved in transitioning from any version of Windows to Ubuntu Linux or Linux Mint, is no more painful than transitioning from Windows XP to windows 7, or from Windows 7 to Windows 10, when the operating system is only used for basic tasks. That is to say, it is not very painful at all. Linux's unpopularity, in the context of this, and it's excellent suitability for all users and it's free price tag could be considered paradoxical.

Before going any further, I ought to clarify that I am not claiming that Linux is fundamentally, or objectively speaking, necessarily a better tool than Windows, in and of itself. However, I am claiming that a large number of computer users are likely to be pleasantly surprised if they put the effort in to make the switch, and that the effort is trivial.

In a similar way, I would not ever claim that a rubber mallet is, objectively speaking, a better tool than a steel claw hammer. Even in consideration of a specific scenario when a worker must hammer large softwood parts into place without damaging them, I would not claim that the rubber mallet could be said to be objectively superior - A worker may have an excellent technique with the claw hammer, they may feel that it is lucky. A wide variety of marginal things could make the contrary tool more conducive to productivity. However, in consideration of the simple fact that the rubber mallet distributes force more evenly over a greater surface area, I would draw attention to the existence of an advantage that is obvious, significant, and widely applicable.

Arguing this theory to my friend, citing the user interface, relaxed attitude to updates, increased stability, and ease of software installation yielded a response that was similar to my own. He nodded and frowned a little. No verbal response was forthcoming, but the message was clear.

"That may be true...it may be...but I am not really inclined to take the proverbial leap of faith."

Therefore, as a Linux devotee, I will attempt to make a more compelling case for the adoption of Linux here. However, before I do, I would like to reiterate that this is not an academic, evidence-based discussion, or a claim that Linux is fundamentally superior. It is, however, a collection of points that I would like the reader to consider, in support of the theory that Linux is (Specifically Ubuntu Linux and Linux Mint), in many ways, more convenient and user-friendly than Windows when undertaking common, causal tasks. It is for this reason, and within these parameters, that I make my argument.

Linux for the Layman

The graphical interface

As the user in consideration is not necessarily technically proficient, and perhaps coming from a Windows environment, it is not unreasonable to assume that the graphical user interface will be their primary method of interacting with the machine. Therefore, it is important to their unimpeded use of the system that the graphical user interface is good. It is the glue that holds together all the computers windowed applications, and is the operating system function that the user will be most acutely aware of. It should be intuitive, ideally attractive, and it should implement the most useful of features well. Customisability is a valid concern here, but only when customisation is important and significantly advantageous to casual tasks. When considering the components of the user interface, the most important parts to a casual user will likely be the program launcher and dock (aka the "start bar"), the window management system, and the default file browser program.

The Windows start menu and dock is probably its most iconic feature. The concept behind its earliest incarnations is simple. Users may click on the bottommost, leftmost button to see a list of installed programs, and click on one of these programs to launch it. When a program with a graphical user interface opens, a small box representing it is added to the dock, and when it closes, this disappears.

The publication of Windows XP saw the start menu pop-up exhibit a few more features than it's Windows 95 / 98 predecessors, now also consisting of a list of frequently used programs, utilities, and file system locations. It's not hard to imagine that these were handy additions for most users. In particular, a clear link to the control panel was probably helpful in directing casual users to the system configuration when they needed it.

Windows 8, however, introduced a dramatic reinvention of the start menu, whereby the small pop-up was replaced by a full screen list of shortcuts, utilities and file system locations. Furthermore, attention-grabbing widgets such as weather reports, news stories, and even some thinly-veiled product promotions were added. Windows 8.1 and Windows 10 paid heed to the outraged objections that were voiced by it's user base, and reverted back to the pop-up that users were familiar with. The attention-grabbing widgets, however, still remained a part of the menu. Windows 10 still also exhibited some of the unusual graphical interface behaviours that were previously introduced as the result of a "touch screen device first" design philosophy that was present in Windows 8. Buttons remained large and square, and a propensity to display relatively large quantities of information within small spaces persisted. Graphical components still slid in and out from the side and bottom of the screen in response to (often, unintended) user gestures.

In my opinion, the Windows graphical user interface peaked at the perfect balance between features and simplicity with Windows XP, and has since become a bit of a debacle.



Top: Windows XP launcher bar. Mid: Windows 10 launcher bar. Bottom: Linux Mint launcher bar.

It's interesting to note that the Linux Mint launcher bar has more in common with the Windows XP start bar than the Windows 10 start bar does. As such, Windows users who preferred the Windows XP start bar or had a hard time adjusting to the Windows 10 start bar should have no trouble using the Linux Mint start bar. What will appeal to casual users and experienced users alike is that it is simple and uncluttered. It is immediately obvious that there is an exhaustive list of categorised programs which can be scrolled through or searched. The off / standby / lock screen controls are quite easy to locate. There is also a link to the control panel, which, while unlabelled, is a pertinent addition. Programs that are opened appear as blocks within the dock, which again, is something that Windows users will find amicable.

The Windows file manager is liveable, at best. Nearly all the basic features that a casual user would benefit from are included. There is support for a list view, a thumbnail view, sorting, and renaming. There is an address bar in which the user may paste file system locations. There is also a sidebar that can be used to show either a file tree (quite essential for reorganising files), or a list of shortcuts.

Despite the presence of these basic features, a key feature related to file reorganisation is lacking. It is not possible to have multiple file system locations open in one windowed instance of the program by means of tabs or split panes. This can equate to an inconvenience when reorganising files. For example, a user who is simultaneously browsing music and organising their photo collection will need to have 2 (or more) separate windows open. If they want to minimise, maximise, move, or close these windows, they will have to do so one window at a time. Juggling file browser windows can get frustrating when it has to be done several times a day.

The aesthetics of the Windows file manager are mostly inoffensive, and will please people who like clinical shades of white and blue. The list of buttons, controls and icons that create the slightly odd assemblage at the top of the file browser are, however, quite cluttered, and despite being labelled, feel unintuitive.


Top: Windows 10 file manager. Bottom: Linux Mint's default file manager, Nemo. Note that Nemo is shown here in the context of a dark system UI skin.

Windows users will be pleased to learn that the vast majority of Linux distributions do have a graphical file manager, and that the default Linux Mint file browser, Nemo, is incredibly similar to the Windows file manager.

What is different, is that it's aesthetic appearance can be completely changed with a variety of skins, and that there is also less clutter. Clearly iconographic buttons on the top left take users backwards, forwards, or further up the directory tree, and buttons on the bottom left switch between a list of bookmarked locations and the file tree. It will also let the user create tabs and panes, as depicted in the screenshot above, for the easy reorganisation of photos, music, documents, or javascript files, for those so-inclined.

Regardless of which file manager is favoured by the user, each system will not object to the installation of a third party one. However, the file manager in Windows is slightly more engrained, which will cause it to more readily steal precedence when various exceptional dialogues and shortcuts are invoked.

The last thing to consider is the desktop environment itself. In an operating system, the desktop environment defines the global appearance of the system - toolbars, buttons, dropdowns, icons, dialogues, and in some cases, the overall look of entire programs (particularly native ones, such as the file manager). The desktop environment also defines the means of organising program windows and general workspace that a user will have.

The windows desktop environment itself is decidedly not bad. Like the file manager, it provides a fairly well-rounded set of features. However, as it is even more fundamentally engrained into the system than the file manager, and as it has few customisation options, users are stuck with it - which can be a problem if you have even a few small qualms. Using it several times a week, a few small qualms can amount to a large inconvenience. In the year 2019, this is not a particularly intensive usage frequency for the average office worker, photographer, or film-watcher.

The desktop environment in a Linux system, by contrast, is completely customisable and furthermore, entirely replaceable.

A Linux user may install a dark theme consisting of dark backgrounds and light text if they wish. This can be helpful in reducing both eye strain, and battery consumption - intents not exclusively associated with programmers. Dark themes can also be more stylish, and a user interested in wowing their friends with a beautiful green, red, dark, light, silken or metallic skin can do so quite easily, if they are so inclined. The installation of Compiz fusion effects can even grant them the mage-like power of drawing fire onto the screen, or turning it to water to create ripples over a video conference display or desktop background. Another, more pragmatic way to take advantage of desktop environment modularity is to install a tiling window manager, which can automatically organise windows for you, even as you open them, based on a variety of configurable criteria. Admittedly, this something that only technologically intrepid users will want to pursue, however.

Many Linux desktop environments have supported multiple workspaces for quite some time now, which afford users the ability of distributing windows over an array of multiple, virtual desktops. This is a way to manually group related program windows when multitasking. Windows does have such a feature, but it has only recently been introduced.

Software

Windows, generally speaking, only has one well-established, commonly-used method of installing software. The user will download some form of executable file (typically an exe or msi), and then execute it to prompt the operating system to begin interpreting and assimilating it. It is not a bad system, and is particularly forgiveable when the user knows exactly what they want to install before they run through these steps. However, opening a browser, and trawling through a list of search results, and then a list of available downloads is a bit of a chore. And just as importantly to a casual user, and even more so to the uninformed user, there is always the risk of inadvertently downloading an executable that will actually install a virus.

Linux is known for it's manual installation procedure that involves running a textual command featuring the keywords make and install. However, most versions of Linux also support a "browse, download and install" type system, similar to Windows equivalent described above. For Debian and Ubuntu systems, the "exe" file has an extension of "deb", and for the intent of a casual user, it works in the same way: Installation is just a matter of double-clicking.

However, Linux does have a better way of installing software. A directory of vetted, recommended, free software, is Linux's pocket ace. Windows does not have a system that is comparably mature, popular and populated. It is distinctly advantageous when a user is installing a specific program, and also when a user is looking for any program that will fulfil a particular purpose.

For example, if a user wants to watch a video on their hard disk, but it is in an obscure format, they may elect to install the VLC video player. To do so, they can press one button to open a terminal, and then type sudo apt-get install vlc. After a few seconds, the VLC player will be installed. If the system requires other software for VLC to work, that will be installed at the same time - everything will be taken care of automatically. This is something that a casual user will appreciate, no doubt. It is no fun hunting around for a missing runtime or DLL file.

On the other hand, if the user is looking for a graphics editing program, but they do not have a specific one in mind, they may see a list of programs available for automatic installation simply by issuing the command sudo apt-cache search paint, for example, and then elect to subsequently install one with the apt-get install [x] command - where [x] is the name of the program.

This information is slightly impertinent, as these examples depict the "casual" user interacting with the operating system by means of the console. However, consider that the commands are simple. Consider also, that users may use a variety of excellent graphical programs to leverage these commands on their behalf. These programs will similarly search the online software directory and install things from it without necessitating the typing of console commands. Synaptic Package manager (shown below) is one such tool, and it comes installed as standard on some systems.

It's also worth acknowledging that Windows has a tendency to come packaged with useless programs - bloatware. This is a bit of a low blow, as it is often computer manufacturers that decorate the operating system with such atrocities. Still, it is, for many users, an expedient affliction. This can be troublesome for the inexperienced, as such a demographic will rarely be able to distinguish between resource-hogging measles and important operating system utilities. For this reason, many users will not even attempt to clean them up, and will be perpetually pestered by pop-up splash screens, registration reminders, and unwanted auxiliary program launchers.

Heckling

A freshly-converted Windows-to-Linux user is likely to be beamish in response to the distinct lack of heckling.

Prior to Linux exposure, it's not uncommon for a windows user to think that restarting their computer in response to a software installation, uninstallation or update, is a ritual common to all computers. However, the architecture of Linux is such that required restarts are very rare indeed, which is of benefit to all.

The other, more pervasive and inconvenient form of heckling that all Windows users suffer, is the compulsory update.

Every so often, a Windows user will finish what they are doing on the computer, and tell it to shut down. Preparing to go on about their business, they will notice (if they are lucky) that the computer is not actually shutting down, but that it will actually spend the next five to fifteen minutes installing updates. The impact of this can range from a minor inconvenience to a major personal disruption.

For instance, shutting down an office computer after a hard days work, an employee may suddenly become aware that they neglected to send an important email. Their train leaves from near the office in fifteen minutes time, but their computer is now temporarily inoperable, which means they will either send the email or miss their train. Laptops given to overheating can also suffer in the event that a user closes the machine and stuffs it into their bag, not realising that it has not respected their instruction to turn off. The third sticky situation consists of the requirement of a restart, necessary to complete the installation of a critical program, that imposes the time-consuming installation of the software update as a bundled action.

Linux Mint, by contrast, never forces a user to install updates. It will never pester users to install updates, either. Updates are installed when the user deems it appropriate. It is rarely important that Linux software is kept up-to-the-minute with updated software.

Stability, security, and efficiency

The most casual of users may not be particularly excited by the concepts of stability, security and efficiency, but nobody wants to experience a crash, and nobody wants to find out that their computer has been infected with some form of key-logging, web-cam-spying personal-file-encrypting virus.

In my personal experience, (and I don't see any reason why it would be substantially different for other users), Windows is more likely to hang, crash, or present you with an error dialogue when you were, in actuality, expecting an output that did not make reference to your computer's emotional state.

Should an error arise on a Windows system, you generally only have two options - to read a troubleshooting guide, hoping that there will be something in there that applies to your situation, or to wait for Microsoft, the software developer, or Microsoft in conjunction with the software developer to issue a fix.

As Linux is an open-source system with a transparent implementation, an experienced developer has the additional option of digging around in the system in an attempt to fix it themselves. An inexperienced user may not have this option, but they do have the additional option of reaching out to a network of passionate people, (or searching Google for records of others who have done this) in hope that someone has already taken the initiative to remedy the problem. As the code is open-source, and eligible for improvements issued by many pairs of qualified hands, this is often found to be the case.

In regards to viruses, most viruses are written to target Windows. This is, certainly, because it is more popular, and perhaps, because it is perhaps, less secure. A Linux system can be hit by a virus, but this is dozens of times less likely to happen, relative to Windows computers.

Linux is also substantially lighter than Windows on several fronts, which brings a number of boons that everyone can appreciate. Its installation payload is smaller, and therefore faster to download. Once installed, it takes up less space on the hard disk, leaving more room for photos, videos, and other applications. It has the novel advantage of being USB bootable, too, meaning anyone can run Linux once on their computer without making any permanent changes to it. This can be valuable for those seeking to try before they buy, and also for those who want to use an operating system that they are used to, regardless of the configuration of the machine placed in front of them. Lastly, Linux is faster to install. The last time I installed Windows and Linux together in one sitting was a few years ago, but it is still fairly relevant to note the difference in installation duration. Windows took about three hours. Linux took about thirty minutes.

It should also be mentioned that some versions of Linux (Crunchbang, Lubuntu, Xubuntu, Puppy Linux) are specifically designed to run well on machines with very low specifications. This creates an option that is preferable to the installation of obsolete versions of Windows, when attempting to breathe life into old or small, specialised, low-power computers.

Room for growth

The last advantage that a casual user will gain by adopting Linux is definitively, a latent one. As previously mentioned, a high level of configurability, and a potential high level of automatability are among Linux's greatest aspects. This is a benefit that does not come quickly or easily, in comparison to the benefits described above, and therefore, a casual user will not experience these benefits initially. However, Linux's openness and large support network of enthusiasts does mean that such effects do, however, come incredibly easily, when compared to Windows equivalents. Therefore, a prospective Linux convert may confidently come to the operating system comfortable with the knowledge that should they decide that they want to gain more control over the system, that it will not fight them as they attempt to do so.

Caveats

As illustrated by the above, there are a number of factors that make Linux a fantastic solution for the casual user. However, there is one clear, but relatively small disadvantage to using Linux, which must be mentioned if this article is to be complete.

Some software vendors do not create Linux-compatible versions of their programs.

Acknowledging this is a bit of a low-blow against Linux, as the issue is generally only attributable to the actions of third party software vendors. (And of course, capitalist third party software vendors cannot be blamed for very prudently conserving resources. Such a strategy is unbecoming to a pleasantly indiscriminatory, global software repository, but is often a wise choice for the business itself).

There is one clear effect of this. A user that is heavily-reliant upon a handful of specialised, third-party programs will typically find that, upon switching to Linux, they can no longer easily or conveniently use perhaps 10% - 40% of the specialised, third-party programs that made up their former, Windows-based collection.

This is not a huge concession, however, and will typically only affect less casual users, as:

  • Most programs that most people are likely to use are available to install natively. Examples: Google Chrome, Mozilla Firefox, Spotify, Skype, Minecraft, VLC media player and Thunderbird Mail. The availability of Chrome and Firefox are notable, as web browsers are capable of serving as the foundation for a variety of other applications.
  • Some more specialised programs do, in fact, have native installers. Examples: MySQL Workbench, Audacity, Blender, Godot.
  • Some more specialised programs provide assistive mechanisms to get their software working on Linux, in lieu of a fully-fledged native installation candidate. Examples: Adobe Creative Suite, Unity game engine, Visual Studio, Reaper audio desk.
  • Some programs that do not have native installers can be replaced with highly similar Linux equivalents. Examples: Microsoft desktop calculator -> Linux desktop calculator. Notepad -> Gedit. Microsoft Office -> Open Office.

Furthermore, in the event that one of the considerations above is not applicable for any given program, a variety of approaches can serve to circumvent or mitigate the loss. A user may:

  • Install Linux alongside Windows, and boot into Windows when they need to perform work on Windows-only programs. This can be a hassle, but for programs that are used infrequently, in isolation, and particularly for long periods of time, this is a perfectly reasonable solution.
  • Install the Windows-only program on WINE, a Windows emulation system that runs Windows programs inside Linux. This circumvents the need to use substitute software, and the need to boot into Windows. However, Windows programs running in WINE can sometimes exhibit bugs.
  • Install a full Windows virtual machine inside Linux, to run Windows programs inside of. The complete sovereignty and integrity of a full virtual machine will ensure that Windows programs will run exactly as they would within a native Windows installation (with the possible exception of a slightly noticeable drop in the speed of performance). Running Windows inside a virtual machine program that is nestled inside Linux provides the advantage of simultaneousness. Workflows involving the simultaneous use of Windows and Linux programs are made viable.

These software-loss mitigation strategies vary greatly in convenience, effect, and difficulty in engagement. Therefore, inexperience with Linux, and a hunger for specialised programs can, in some situations, make mitigation of software loss harder, to some degree. However, despite this, for most casual users, a judicious application of each viable strategy can usually sufficiently nullify the effect of a (typically, small) measure of "program loss".

Afterthoughts

In consideration of the above, it could be said that Linux, under the consideration of a casual user, is:

  • Easy to learn.
  • Quick and safe to try or install.
  • Highly user-friendly, and for some distros, not particularly dissimilar from Windows.
  • Easy to populate with a variety of safe, free software.
  • Flexible, and easy to establish basic customisations upon.
  • Convenient.
  • Free.

I hope that any readers who were previously unfamiliar with Linux can now see it as a very approachable option for new or existing, home or office computers, and, in the absence of any potential crunch points for required, semi-specialised software, will be keen to adopt it.

Links

💖 💪 🙅 🚩
kohloth
kohloth

Posted on June 8, 2019

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related