Ever since the invention of Linux and the appearance of open source, potential uses for the software have fallen into three broad categories: server, embedded, and desktop. With the widespread success of Linux in both the server room and on devices such as the Nokia 770, Zaurus, and Motorola phones, the desktop is the last remaining battlefield. Though many deem its success as inevitable, what is the Linux desktop, why should we use it, and why on earth should you care?
The story of the Linux desktop began many moons before Linux itself was invented. Back in the early '80s, the efforts by Richard Stallman to create free implementations of Unix applications under his GNU project were largely intended for rather mundane but important tools such as compilers, editors, and languages. At the time, most people did not use a graphical interface; they were simply too expensive. In 1984, boffins at MIT invented the X Window System, a framework for drawing graphics on different types of computer. Released later in 1987, X has provided an industry standard for creating graphical applications. Luckily, the free implementation of X, Xfree86, was available to support the growing free software community. XFree86 has since evolved into X.org, a cutting-edge implementation of X.
As Linux burst onto the scene and Linux distributions matured, an increasing importance was placed in the graphical interface. Early window managers such as
fvwm were rather primitive and simplistic for the then-current state of the art. To provide a more complete environment, Matthias Ettrich started work on KDE, a project to create a complete desktop environment. Based on the Qt toolkit, KDE matured at quite a pace and soon provided a compelling, attractive graphical interface that many distributions shipped as the default environment. Despite the engineering success of KDE, licensing concerns about Qt (a toolkit that was not considered entirely free software) drove a number of concerned developers to create a competing desktop called GNOME. Although it was pedal to the metal for KDE and GNOME, a good desktop is more than just the environment itself; it is all about applications, applications, applications.
Traditionally, the Linux platform was more than capable when it came to development or academic processing, but there was something of a barren wasteland of desktop applications for common needs. With KDE and GNOME providing an insight into what could happen with the open source desktop, more and more work went into creating these kinds of applications. In addition to open source efforts, some companies made concerted efforts to solve the applications problem. One of the biggest events at the time was Netscape open sourcing its Communicator suite. With Netscape Navigator as the most feature-complete browser available for Linux, this move cemented confidence in the burgeoning platform. Another major event was the open sourcing of the StarOffice office suite when Sun purchased StarDivision. StarOffice had existed for a number of years on Linux, but the suite had become rather bloated and lost. These two applications would later become Firefox and OpenOffice.org, two of the most popular open source products.
As the desktop has continued to develop, more and more support has evolved from commercial organizations. With support from major hardware manufacturers, support organizations, training companies, and application vendors, desktop Linux is edging closer to everyone's radar each day. With the availability of tools such as Acrobat Reader, VMWare, Nero, and Skype, and rumors of Macromedia tools available for Linux, the desktop is still edging towards that reality. Although the choice of commercial applications for the Linux desktop still does not compare to its Windows and Mac cousins, today's Linux desktop still offers an incredibly capable platform.
The modern Linux desktop offers a comprehensive platform for a variety of different tasks. This platform is not only useful by the technical cognoscenti, but is genuinely useful by non-technical users who simply need to use a computer for word processing, spreadsheets, web browsing, sending email, looking at digital camera photos, and listening to music. More and more stories are reported of moms and dads across the world getting in on the Linux desktop and it saving untold hours of pain from spyware, viruses, and other internet nasties.
Deciding how the Linux desktop can work for you is largely dependent on what you want to use it for. Here are some examples of different types of users and how the Linux desktop can help:
Office productivity: Creating documents in various forms is an essential requirement for any office. Word processing, spreadsheets, presentations, drawing, diagrams, desktop publishing, and more are all needed. The OpenOffice.org suite can satisfy many of these needs. OpenOffice.org also supports a range of formats, including those of Microsoft Office. For more specific desktop publishing, Scribus has been particularly popular. Providing a level of functionality akin to Quark XPress, Scribus can be used for everything from flyers to entire magazines.
Graphic design: Graphic designers typically need to work in both 2D and 3D. For 2D work, the GIMP is a popular Photoshop-like tool for 2D bitmap drawing. Although some high-end Photoshop users may find that the GIMP lacks a few features, many users find it entirely capable for their needs. If the designer needs to venture into vector graphics, Inkscape is another useful application. Inkscape provides a very feature-complete toolbox for creating resizable graphics. For 3D work, Blender provides an insanely complete 3D modelling environment. Blender has been used extensively for creating 3D images, animations, and interactive walkthroughs. Combined with Yafray, Blender can produce photorealistic results. The Blender project is cementing its potential in the open source Project Orange initiative in Amsterdam. Their DVD pre-sales are supporting the creation of a complete, professionally produced, animated short.
Web development: Web developers primarily need tools to create web applications as well as attractive designs. Aside from the hugely popular PHP/MySQL development platform (installed easily with the XAMPP framework), there are a number of tools and extensions available for easing development work. This includes Eclipse, a powerful, modular development environment, and Nvu, a simple WYSIWYG editor for visually creating websites. With the huge success of the Firefox web browser, many of its new users don't realize that Firefox can be expanded with extensions. One of the most useful extensions is the Web Developer Toolbar, which provides a range of essential features such as CSS editing, validation, debugging, and more.
Communication: Everyone loves to talk, and email and instant messaging are the most common methods of online discussion. The Linux desktop has plenty of support for all types of communication. Integrated email/calendaring tools such as Evolution and Kontact provide Outlook-type functionality, and the Gaim instant messenging program supports a wide range of networks, including MSN, AIM, and Google Talk. For those of you with a meaty network connection, GnomeMeeting can be used for audio/video conferencing.
These four use cases demonstrate a small fraction of the opportunities available with the Linux desktop. There are, of course, hundreds of other applications and tools available for a variety of common uses, such as media production, development, marketing, etc., as well as less-common uses, such as machining, custom engineering, stress testing, and so on.
Although the Linux desktop is an intriguing proposition for many users, there are naturally both advantages and disadvantages to the platform in its current form. Luckily, many distributions provide live CDs (such as Ubuntu) that can be used to try out the desktop by booting and running from a CD. This can give you a hands-on idea of how well the Linux desktop works for your needs.
The advantages of the Linux desktop come in various forms and include:
Virus free: Although Linux can technically get viruses, the security model behind open source is strong enough to make them so rare that they are virtually non-existent. This is a major benefit compared to the virus-ridden Windows world.
Scalable: The Linux desktop is incredibly scalable and can run on both cutting-edge computers and older hardware. This is particularly useful when you want to re-birth an older machine. There are a range of window managers and applications that are particularly well-suited for older hardware, such as Xfce and Abiword.
Software installation: Software installation has traditionally been a pain on the Linux desktop, but with recent distributions such as Ubuntu and Fedora, software installation is as simple as selecting a package from a list. With Ubuntu boasting over 11,000 packages, the selection is vast.
Although the desktop boasts these advantages, there are also some areas that are not quite so nice, and sometimes rather frustrating:
Conceptual change: For users coming from Windows, the Linux platform is conceptually quite different to Windows--the GUI looks a little different, the icons are in different places, and there all of these new programs to learn and use. This can be quite off-putting for many users.
Hardware support: Unfortunately, some hardware devices are not well supported in Linux. This is primarily because the hardware manufacturers don't release specifications and don't create Linux drivers. This is less of an issue in modern distributions, but is still a problem with some specialist hardware devices.
Too much choice: With the huge range of applications and an array of different distributions, it can often be difficult for newcomers to get started with the Linux desktop.
Like everything else in the IT industry, the Linux desktop is certainly not standing still. There is feverish development going into its every nook and cranny, much of which is concentrating on truly innovative uses of technology. Although some of this technology will not be mature for the next few years, the work of today is promoting a promising future for the desktop.
The development of the desktop is largely pushing in two directions: refinements and entirely new concepts. The refinements are exactly what you expect--improvements and changes to existing tools. An example of this includes the constant attention to OpenOffice.org to slim it down, add new features, and refine the user interface. This work is happening across the full gamut of the desktop, with exciting user-facing applications (such as KDE/GNOME) and less-exciting but important applications (such as system libraries and compilers) getting buffed and sheened all the time.
In recent years, a number of developers have sat back and considered entirely new directions in which development should focus. Aside from intriguing niche projects such as SymphonyOS, both the KDE and GNOME projects have ideas about how a re-engineered version of their desktops will function. These proposed ideas are pushing for a different method of users interacting with the desktop that is more task- and people-oriented than application-oriented. For KDE, their vision is in the form of Plasma and the other components of their Appeal Project. For the GNOME camp, their visions of GNOME 3.0 are being solidified with Project Topaz. Both of these projects are heavily in the design stage and their developers are thinking of new and innovative ways to push the desktop forward.
One of the most interesting areas in which both Plasma and Topaz are keen to improve is in the quality of the graphical interface. In addition to usability changes, both projects are keen to create a truly attractive desktop. To make this easier, other developers have been working on underlying technology to improve the user interface. One such project is Cairo. Cairo provides a very high-quality 2D drawing framework that can be used to easily create graphics that are the same quality on the screen as they are when printed. Recently, GTK+ (the graphical toolkit GNOME uses for its buttons, scrollbars etc.) has switched to Cairo. This has opened up the possibility of high-quality Cairo themes in the future, such as Clearlooks. In addition to Cairo, other developers have been working on Xgl to provide a hardware-accelerated OpenGL interface for the X Window System. Xgl can be used to create exciting effects, such as spinning the entire screen, lighting effects, zooming, and more.
In addition to the look and feel of the desktop, work is also going on to better support hardware devices and multimedia. The already well-established Project Utopia stack is making it simple to plug in USB devices and work with them easily, and extra efforts are concentrating on better support of printers and USB sound cards. Many of the multimedia hardware devices are also benefiting from the powerful GStreamer framework, a comprehensive system that makes it simple to write applications to perform a variety of types of multimedia operations. GStreamer supports a range of codecs and has been used successfully with tools such as Amarok, Totem, and Rhythmbox. GStreamer is making the Linux desktop a particularly exciting place for video editing, with both PiTiVi and Diva promising exciting opportunities.
The Linux desktop is an exciting beast to observe due to its intense rate of development. When you consider the progress made in the last ten years, you can see how dedicated the developers behind the platform are to its success. As more and more people jump aboard and contribute to different parts of the desktop, it is sure to become a more compelling option for everyday users. When you roll into the mixture the work on technologies such as Cairo, Xgl, GStreamer, Plasma, and Project Topaz, the Linux desktop certainly has a bright, attractive future.
No one really pays that much attention to the predictions about the "year of the Linux desktop," but with so much going on, it is likely that it will be sooner rather than later.
Jono Bacon is an award-winning leading community manager, author and consultant, who has authored four books and acted as a consultant to a range of technology companies. Bacon's weblog (http://www.jonobacon.org/) is one of the widest read Open Source weblogs.
Return to the Linux DevCenter.
Copyright © 2009 O'Reilly Media, Inc.