Linux: Day One

Friday, 30 August 2002

In January, I already knew I would be installing Linux on my system. Soon after purchasing my customized PC from Sycom, I used PartitionMagic to organise the partitions on my disk. There would be two WinXP partitions, a DOS partition and two partitions dedicated to Linux (one for the OS, one for the swap space). For seven months, however, the Linux partitions sat empty and unused.

As time went on, I became increasingly uncomfortable about those vacant partitions on my drive and so, last month, I decided to make the effort to put something in those spaces. Linux, everybody's favourite UNIX-lookalike, was coming to my hard drive at last.

Which way is Kansas?

In theory, as Linux is open source you could just download all of the source code and compile it yourself. Of course, I'm not completely crazy so I'm going to get someone else to do that. Now, there are plenty of people out there who have created a Linux distribution for you, many of them having their own extensions, features and applications. Which one do I choose?

I think Red Hat is the most well-known distribution. Another top distribution is Debian, a highly-regarded and ultimately free distribution. There are many other distributions, but one I will pick out is Mandrake. Mandrake has been called the most user-friendly of the distributions. I will stop here to explain about how user-friendly can be misleading in the Linux world.

Whereas the Windows operating system functions and the GUI are inseparable, in Linux they are divorced. Something must run on top of Linux to generate a GUI. In fact, what usually happens is that the X Windows System runs on top of Linux, but this is merely a framework. You actually want a Window Manager to run on top of X. Going beyond window managers, there are desktops which are best described as immersive environments that are more than simply window styling and control. This is purported to be a far wiser design than integration, because it effectively separates presentation from functionality, just as the CSS is trying to do for web pages. However, it can make life a little more complicated. Flexibility always makes life complicated.

There are a variety of Linux desktops out there. The KDE desktop has made the biggest impact, although Gnome is has also done well. You can also just use the plain, ordinary window managers such as Enlightenment, but KDE and Gnome enjoy the biggest penetration in the Linux sphere.

While I appreciate that Linux encourages many different desktop systems, I am starting to suspect that may be difficulties associated with this situation. Linux is an operating system and not a GUI, which means many utilities are designed to be called from the Linux command line. If they have a GUI presence, then that aspect is a second priority and may be more command-line wrapper than a dedicated GUI front-end.

If, however, you intentionally build for GUI, you may need to target a specific desktop if you want to produce something smart. That would undermine the portability of any development and, furthermore, could discourage developers from creating a rich GUI front-end. This is just speculation for now, but I hope to get a better understanding of this issue as my familiarity with Linux increases. (Just found an article which supports my suspicions)

The main point is that "user friendly" is almost a separate issue to Linux itself. The Linux kernel doesn't need to be user-friendly because it is an operating system and it's not really there for user interaction. It provides functionality which is accessible through a programmer-friendly command-line interface. Linux has no face and any criticisms of Linux being unappealling to users are references to the current GUIs available for Linux and not Linux itself.

At the end of the day, the user-friendliness of your Linux system is actually down to the distribution provider. Mandrake is popular for its accessibility, while Debian is much more of the programmer's choice. I chose Mandrake because I wanted to be treated like a new user who had no experience with Linux. I wanted to see where Linux was today.

Pandora's Box

I could have downloaded Mandrake Linux 8.2 for free but decided instead to buy a copy. A mixture of wanting to contribute, wanting to have a physical copy and perhaps to get hold of a little documentation. It came in a heavy blue box. I was a little surprised at quite how heavy. The design on the box wasn't anything to write home about, but Linux isn't about the design of the box. Linux is supposedly about the design inside the box. The weight was provided by 7 CDs and two large manuals: the user's guide, for taking you through Linux step by step, and the reference manual, if you want to understand what the system is all about. I have mixed feelings about the manuals.

Take a standard developer. When a developer starts out, hardly anything is documented. It's all trapped in his or her brain. After many people keep asking lots of questions, sometimes exactly the same question again and again, the developer realises that documentation needs to be provided. The developer writes a manual which contains absolutely everything. No detail is missing, except perhaps for the detail of readability. After this point, the developer gives the same response to every question: RTFM. That is, "read the ***** manual".

I was in this rut, myself, and eventually I realised that I was missing the point altogether. Users don't want to read a manual, neither do they want to ask anybody how to use the software. What a user wants is a piece of software that they can pick up and use naturally, without having to work too hard. It is a smart user interface design that has been missing all along. Having to read a lot of information, whether it is on the screen or in a book is an obstacle to getting something done. The UI is flawed. So when I found a pair of fat manuals in my Linux box, I wasn't sure what to make of it.

On one hand, they may be handy guides to lie beside the computer. On the other, it could be that the current GUI standard for Linux doesn't stand up by itself. To me, it wasn't reassuring about Linux at large; it was a potential warning. I flicked through the manuals. The reference manual was like an introduction to the Linux kernel, which was useful for a technically minded person like me, but I'm not sure the ordinary user would be interested. I don't think you should need to know the technical side of things to use a system; the Apple Mac is based on Unix and I think (don't know, never used a Mac) that Mac users are shielded from the technicalities of the Unix kernel. Looking at the user guide, I wasn't sure what to make of it; it was a weird mixture of "this is the desktop, here is an icon" and "you may need to reconfigure your BIOS".

The style is relaxed, sounding more like a Linux enthusiast desperately trying to share his enthusiasm for the technology with you and willing to take the time that is necessary to explain it all. There was a small comment about the manual being a mixture of personal styles. Personally, it wasn't to my taste but then again, I don't think people will read the manuals so it doesn't matter. However, it does demonstrate that Mandrake were trying hard.

Welcome to the Machine

I was going to postpone installing Mandrake Linux until I was ready, but I saw that a powerful image editor was one of the applications included in the distribution. I was preparing to build Wander and decided I was going to install Linux purely for the image editor. Yes, correct, I decided to install a whole operating system for a single application. The good news is that I got to grips with my Linux earlier than I had been planning.

I booted up the first CD and I was thrilled to see Unix-style logs sliding up my screen. First time I had experienced that on a desktop PC. Maybe developers are easily seduced by logs filled with words like "daemon" and "runmode". Anyway, I dived into the installation and made the biggest mistake ever. I assumed, with my wealth of technical experience that I was an expert user. I told the Mandrake installation process to give me every option. Don't baby me at all. After all I had already prepared some partitions, I want to see everything!

My last OS install was Windows XP which was very painless. The only thing it pushes you for is language settings and the default user of the PC. I could tell very quickly from the Mandrake Linux install screen that I was going to be asked a lot of questions. Down the left-hand side of the screen was an array of lights, each light representing a stage of the process. (Later on, I found out by accident that you could backtrack to an earlier stage of the install by clicking on the relevant light.)

Now I should acknowledge that Linux has been playing catchup with regard to hardware recognition. These days, Windows shouldn't have any problems detecting your hardware. Linux has had to cover all of this ground again. The distributions of today, though, demonstrate that remarkable progress has been made. The Mandrake installer managed to guess most of my hardware without any intervention.

I was still reeling from the volume of questions I was being asked though. I was also completely stumped by the partition setup screen. I was frightened that it was going to happily format one of my XP partitions and wasn't convinced that the installer had picked out the Linux partitions I had prepared seven months earlier. I crossed my fingers and hoped for the best.

I knew I shouldn't have picked expert user when it allowed me to choose which programs I wanted to install. The list of programs was infinite, I swear. Every application and its brother was in there. The installer was asking me which ones I wanted and which ones I didn't. After a few ticks here and there, I gave up and decided to take the default. Finally, I got onto the actual installation process.

My first install was lost when I tried playing with the resolutions. The screen never returned to normal and the computer didn't respond.

I think my second install was cursed when I attempted to backtrack to one of the previous steps in the install. In the middle of the copying data from the third CD, I got an error which the installer just couldn't get past.

My third install was happy but then I discovered that the Linux boot manager, LILO, had obliterated Boot Magic, my original boot manager. Nevertheless, I considered it a success.

The Feel

I had heard that Linux was light and nimble compared to a lumbering heavyweight like Microsoft Windows, but I was surprised that Linux took a while to start up. After getting through the login screen, the KDE desktop initialized (I thought the splash screen was cool) and then appeared. I've heard complaints about the Windows startup music, but it is preferable to the KDE startup ditty.

When I lived with OpenWindows in university (although I did switch to a customized Motif desktop), access to programs was everywhere. Just click the desktop. There was no task bar or "Start" button. The default desktop there was essentially a blank canvas which became active when you touched it. Things have changed. The KDE and Gnome desktops both sport task bar-like features. I'm not sure whether it was because of my install tweaks, or perhaps because I had purchased an edition that had 7 CDs, but I had a particularly crowded list of programs available to me. I was a little overwhelmed and I look forward to killing off the applications I don't want. I guess these small things define my character.

A feature I never liked, but perhaps because I never got used to it, was the concept of a virtual desktop. That is, a desktop larger than your screen. Having multiple desktops seem to be the default of the modern Linux GUI, but can't say I care for it. Perhaps it's one of those features that you either love or hate.

The windows also moved around a little sluggishly, which surprised me as my PC is pretty powerful. And again, Linux is light and nimble. Just as surprising was the slow load for certain applications; the hourglass icon would appear on the entry for the application at the bottom of the screen and feel a little too long.

I was very comfortable with the terminal window but this is only because it is familiar. After all, if you're familiar with something then of course you're going to think it's okay. I thought it was nice that the terminal text was colour coded, though. I haven't worked with a terminal emulator that's done that before.

There were plenty of applications to play with. I rather enjoyed Frozen Bubble, but then again that's a game dammit not a real application. I've already expanded on the fight I had with The GIMP, but I found in general that I was a little confused as to what I should choose to use and how to use it. I had a lot of trouble with help files for applications, they just didn't navigate as I would expect and provided less insight than I would have liked. Again, this could be down to lack of familiarity and trying to impose my Windows skills onto another operating system.

One success I had was to mount one of my Windows partitions as a file system. I configured it using Mandrake's control centre, albeit through the same fearful partition configuration interface I was offered by the installer. I can't write to the mounted file system, just yet, without being the root user. Now that's not something I want to have to do... I'm sure I just need to configure something, somewhere. I'm a developer on UNIX - I'm not renowned for my powers of UNIX system administration.

However, I yearn for less choice. I think I currently have 846 text editors, 391 terminal emulators and 213 window managers available. I need the array of applications to be simplified, which would at least allow me to perceive the limits of the system. I came to the conclusion that I would need to install again, and let Mandrake follow the default install. I had forgotten that you shouldn't try to run before you have learnt to walk.

Coda

Initial impressions of Linux? Not ready for ordinary consumers yet. I think some people out there are trying very hard to bridge the gap, but the gap is rather wide. I'm worried about the GUI. Linux is detached from a GUI, and while Linux has a mass of developers worldwide behind it, the GUI efforts could be considered to be split. Without a consistent GUI approach (I will note that KDE has a style guide) then users will always have problems breaking into Linux as a desktop system. Windows will maintain its lead.

Still, what do I know? This is just my initial impression and I tried to skip the natural learning process by pretending to be an "expert user". There are Linux success stories out there and I'm not trying to use the cornerstone applications like StarOffice/OpenOffice. Further, most people who do switch have connections with someone who is well-endowed with Linux understanding. Behind every Linux user is a Linux expert. Perhaps this is how Linux will spread, through knowing someone who knows something.

I'd better go now. A re-install is waiting for me.

End