I consider myself reasonably geeky. I have been programming and writing technical documentation for all kinds of hardware and software (and combinations thereof) since 1992, and wrote and maintained database software for four years prior to that. I wrote very bad games in BASIC on a Commodore 64 in the early and mid 80s, and saw a spreadsheet for the first time on an Apple ][+ in about 1981. I can safely claim to have been a serious propellerhead for more than half of my life.
Over the past two weeks, I have finally found motivation to switch to desktop Linux. Prior to this, in my life as a technical writer, I have nearly always been constrained to using tools under Windows—Adobe FrameMaker, Acrobat, Photoshop, and Illustrator; MS Word, PowerPoint, and Visio; and a few others. I still need access to those applications, but at this point I need Linux for other reasons.
This leads me to the meat of this article. I’m saying this as a dedicated open-source advocate, and also as an advocate for users: Desktop Linux is not ready for prime time. I chose “desktop” to indicate general-purpose usage on a machine that is built for such, whether it is fixed (a tower that sits on or under your desk) or portable (reasonably-featured laptop). Prime time means as a direct, painless replacement for polished proprietary software (namely Windows and MacOS).
In my opinion, there are several issues that make up the Golden Standard for all desktop distributions.
- Making it work out of the box. Appropriate drivers should be included, and default drivers should at least bootstrap the most important systems: video, audio, keyboard, mouse, storage.
- An Internet connection should not be required in order to make it Just Work.
- Included applications should cover most situations appropriate for the distribution. If a normal user can’t open a standard office file without installing an application, the UX has been compromised.
- Sharing files and printers with other systems should be seamless. I don’t want to understand the details of Windows networking in order to get my files from my legacy machine, I just want to set up file sharing with a few button clicks and have it Just Work.
- Software updates should be seamless and non-intrusive.
- Portable installations running on batteries should default to use power management settings, and warn when battery is low. (Fedora 10 failed on me in this respect.)
- Successful communities have a number of ways of researching information: FAQs, wikis, and searchable forums, at the very least. Information in static repositories like wikis and FAQs should be very visibly marked for the releases to which they apply. (There is a lot of cruft out there.)
- The user experience should be obvious, should actively enable my usage of the system, and should contain consistent defaults that I don’t have to tweak in order to make the system work well.
- Help should be both available and useful.
This is all basic stuff for any general-purpose distribution. I’m not picking on Linux here—BSD fails on a few of these counts as well, and frankly so does Windows. However, that does not change the ideal.
After reviewing ALL of the popular freely available distros, I chose Ubuntu because my experience and experimentation with many distributions has told me that I prefer it. I like its seamless flexibility, I love aptitude, and things Just Work. I was a hardcore Fedora user on development machines in past lives, and have done actual work with OpenSUSE, RHEL, and CentOS, but Ubuntu is simply great stuff. The community has made a strong effort to make as many features as possible function straight out of the box. In my opinion, Ubuntu is as good as desktop Linux gets for the average user as well as for many power users. However, as good as Ubuntu is, it simply does not have the fit and finish of Windows or MacOS from a user experience point of view. Some dedicated distros, particularly embedded distros, are indeed ready for prime time, as evidenced by the many millions of embedded devices in the field, from networking equipment to cell phones to blade servers, but the definition of “prime time” is different for devices—the user’s expectations for embedded devices are quite different from those for a general-purpose system.
In future posts here I will go into details about problems and fixes, but I wanted to get this message out: Like it or not, Microsoft and Apple have set the bar for user experience on the desktop. If open-source software developers (I include myself here) are to make Linux, BSD, or any other open distribution successful, we have to adhere to the basics of the user experience. This goes for “granny” distributions like Ubuntu as well as for developer distros like OpenSUSE, Fedora, and CentOS. I have met too many developers who believe that algorithms and elegance take precedence over what the user sees, thereby shooting their own projects in the foot. Don’t require me to be smart in order to use your tools.