GNOME and KDE might be competing projects, but both must overcome some significant, common obstacles before either Linux desktop can wrestle marketshare from Windows and Mac OS X.
Desktop Linux developer and GNOME project co-founder Miguel de Icaza remembers the moment “usability” first entered the daily lexicon of the GNOME development team. “It was about four or five years ago,” says de Icaza. “We had these guys come into the community from a company called Eazel. Most had been Apple developers, and all had very strong ideas, especially when it came to usability and user-friendly design.”
Not surprisingly, debate ensued. Apple exiles, eager to grab PC user marketshare from Windows, suggested an integrated, intuitively structured, and gentle enough user interface to spark instant conversions. GNOME developers, eager to retain the full power and freedom of the Linux operating system, looked askance upon anything that “dumbed down” or restricted flexibility for the sake of mere popularity.
De Icaza, then a college student-turned-IT staffer at Mexico’s National Autonomous University, admits to being a solid member of the latter camp. That is, until a series of videotaped user tests sponsored by Sun Microsystems, a corporate supporter of GNOME development, revealed the ugly truth: The typical business users just introduced to Linux all but pounded his or her head into the keyboard in a frustrated attempt to navigate the GNOME 1.0 interface.
“It was a wake up call for the community,” says de Icaza. “We basically learned the lesson that usability wasn’t something you could just sprinkle onto the project in the final stages. It had to be a part of the development process itself.”
Four years later, GNOME developers have taken the results of that lesson to heart, going so far as to adopt a user-centric focus and an Apple-esque mantra. Though Eazel is long gone, the team’s legacy includes the Nautilus File Manager, a now-standard feature that helps the GNOME desktop deliver a unified look-and-feel to users across applications.
Still, the age-old battle of power and flexibility versus popularity and usability erupted anew in 2005 as both major desktop development projects, GNOME and KDE, began to look forward to the next major release, GNOME 3 and KDE 4, respectively. With de Icaza having long since relinquished the title of GNOME project leader (and now an employee of Novell), the debate over how to move the marketshare needle for desktop Linux has become a struggle for consensus involving the biggest names in both camps. Even Linux creator Linus Torvalds has been drawn into the brouhaha. In December 2005, Torvalds made a surprise entrance into an OSDL-sponsored desktop discussion to deliver his brutal summary of the GNOME team’s usability focus.
“I personally just encourage people to switch to KDE,” wrote Torvalds. “This ‘users are idiots and are confused by functionality’ mentality of GNOME is a disease. If you think your users are idiots, only idiots will use it. I don’t use GNOME, because in striving to be simple, it has long since reached the point where it simply doesn’t do what I need it do.”
Software and Soul Searching
Such comments came at the end of a year in which many GNOME developers themselves took turns questioning the be-all, end-all focus on usability. “The original problem wasn’t the freedom to experiment,” wrote Seth Nickell, summing up the cultural conversion of the past half-decade in a January 2005 online essay for GNOME Journal (http://gnomejournal.org/). “The problem was shipping all the experiments. How do we encourage wild ideas and interesting features without producing an incoherent product?”
Meanwhile, KDE developers were doing some soul searching as well. Having avoided a major discussion of usability in the development of KDE 3, KDE developers were in the midst of their own mid-decade reappraisal. Summarizing that process, Ian Geiser, a KDE developer and vice president of the application development company SourceXtreme (http://www.sourcextreme.com/), says lingering concerns about KDE’s ability to match rival desktops application for application are giving way to new concerns over interface complexity and the user experience.
“What’s interesting about this effort, as compared to the KDE 2 and KDE 3 series, is that we’re not trying so much to copy Windows,” says Geiser. “The growing belief is that we need to be better to attract Macintosh and Windows users. We need something that is truly innovative.”
Geiser credits the mood shift to a number of factors. He cites an explosion in third-party applications written for KDE during over the last two years, a period roughly equivalent to the current KDE 3 design cycle. He also credits a major upgrade in the Qt (http://www.trolltech.com/) graphics engine. The latest version, Qt 4.1, offers enticing features such as vector-drawing — making it easier to scale or size-adjust objects and images on the screen — as well as expanded support for graphics chips, the same tools that allow video games to accelerate onscreen image rendering without imposing a tax on the central processor. “People are really excited,” he says. “They want a chance to play with Qt’s eye candy.”
At the same time, however, a concern that such “eye candy” will lead to the “GNOME-ification” of the KDE interface — that is, a reduction of useful features and the addition of cutesy, unifying elements to soothe the non-technical user — has fueled plenty of discussion on KDE mailing lists. In an August 5, 2005 post, KDE developer Adam Treat laughed at colleagues, fearing “the final assault of the usability overlords.” At the same time, however, he offered a warning to proponents of a full scale KDE overhaul. “Too many KDE great features[ sic], and if those will be removed due to lack of popularity as well as different visions… it will break my heart,” Treat wrote.
Those in favor of the current KDE model certainly have the numbers on their side. Most estimates of Linux desktop marketshare put the number of KDE users well above that of GNOME users. One of the cultural aspects driving that fact, Geiser says, is that KDE gives developers a quicker outlet to test and develop new applications and ideas, especially in the wake of the GNOME team’s mass conversion to usability earlier in the decade.
Still, with the vast majority of PC users lurking outside the Linux camp — according to IDC analyst Dan Kusnetzky, Windows accounted for 95 percent of 2004 software shipments vs. 2.7 percent for Mac OS X and 2.6 percent for Linux — courting technical users isn’t enough. As a result, the biggest challenge in laying out the design specs for KDE 4 is how to improve usability without undercutting developer enthusiasm.
“One of the funniest things about open source is that people use it for many, many different reasons,” Geiser says. “We want to make sure we can strip KDE down to the point where it’s very simple and very clean, to the point where a hacker can customize with transparent tool bars and icons — just tweak the hell out of it. When we start the discussions, though, everybody comes out and says, ‘Hey, I don’t want my pet feature taken out.’”
Yin or Yang?
That both projects have approached usability out of sync and from opposite directions is no accident. Since emerging in the late nineties as leading rivals in the race to build a popular graphical user interface (GUI) for Linux, both KDE and GNOME have enjoyed something of a yin-yang relationship.
It was the KDE community’s mid-nineties embrace of Qt, a proprietary graphics engine developed by the Norwegian software company TrollTech that drove free software purists to start and join the GNOME project in the first place. Years later, when GNOME developers embraced the Eazel usability philosophy, KDE became a haven for wildcat coders who wanted a development project that matched the unruly, release-early, release-often design philosophy of early Linux development. Now, while GNOME developers look to remove creativity restrictions a bit, KDE faces the challenge of how to reduce complexity in a development process that encourages it.
“You see people with KDE talking about usability and making things simpler,” says Havoc Pennington, an early GNOME developer and Red Hat employee. “And you see people from GNOME saying maybe we need to go back and address the needs of technical users.”
Pennington himself has played a prominent role in both debates. As head of freedesktop.org (http://freedesktop.org), a standards-setting project designed to facilitate code- and idea-sharing across both desktop projects, Pennington has promoted a unified set of window manager hints, taking a usability concept normally added by commercial software integrators and making it accessible to both the GNOME and KDE development teams. Meanwhile, as a GNOME developer, he has lobbied for a ground-up overhaul of GNOME 3, including a totally new application binary interface, so as to encourage movement away from the “conservatism” of GNOME 2. Pennington also participated actively in the Torvalds-triggered OSDL firefight, defending the GNOME window manager when Torvalds blamed the development team for stripping out the ability to switch mouse button features because it “might confuse poor users.”
“Since I made this decision, I can tell you that ‘might confuse people’ was not the reason,” wrote Pennington. “The more important issue I always had in my mind was the quality of the defaults and the ability to spend time polishing the defaults.”
Looking forward, Pennington says the development of GNOME 3 will involve even more contentious trade-offs. Still, the gamble is that for every traditional-minded Unix developer (including Torvalds) who chafes at lost features, GNOME will acquire many new developers eager to take advantage of the desktop’s tighter focus and marketability.
The Burden of Being Popular
KDE developers, meanwhile, face the opposite gamble: How to court mainstream users and the application developers who love them without irritating the alpha users such as Torvalds through over-streamlined interface design? To answer that question, the project has been working with openusability.org (http://openusability.org), a project led by German usability specialists Ellen Reitmayr and Bjorn Balasz.
The resulting collaboration has already turned up some interesting results that reveal the cultural nature of interface design and interface preference. A September blog posting by Reitmayr recounted a series of interviews and usability tests that noted a disparity between male and female users’ ability to create folders and move files, especially within KDE’s general purpose browser, Konqueror. Although male users had few problems, female users struggled to make sense of the organizational scheme, prompting a natural question: How did females cope with the new file feature when working on their home computers? “Two out of six female participants said, ‘I call my boyfriend,’” observed Reitmayr.
While somewhat humorous, the survey reflected the clubby nature of KDE users and developers, a group known within the open source world for its mostly male, mostly European membership, not to mention a certain peculiar affection for on-screen buttons and checkboxes.
To break away from this mold, Benjamin Meyer, a KDE developer employed by TrollTech, has suggested looking beyond the GNOME/KDE schism and the competing Windows model to other realms for inspiration to make KDE more accessible without undercutting features. In an August 2005 online essay titled, “Nine Things KDE Should Learn From Mac OS X,” Meyer praised the Apple desktop for its streamlined, minimalist toolbars, it’s intuitive support of drag-and-drop — Meyer noted with admiration how, when running a CD, for example, the trash can icon became an “eject” button on screen — and it’s tight integration of parallel applications allowing a user, for example, to sync up music from iTunes with a slideshow from iPhoto.
“I was quite surprised by the number of things I found in OS X, because I didn’t see them anywhere in Windows or Linux,” says Meyer, looking back on the essay. “I knew it would be controversial writing an article that praised OS X, but I wanted to get people talking.”
Although a few readers flamed Meyer as a “Mac-lover,” Meyer says much of the feedback was positive. “A lot of people are open to new ideas,” he says. “They’re excited about[ KDE] 4, and they know this a good time to make big changes.”
Meyer points to oKular, a unified viewer application first announced this summer, as a promising result of this excitement. The tool resembles the popular Mac OS X “preview” feature, giving KDE users a chance to look at document and PDF files without having to go into the native application. It’s more important job, however, is to consolidate overlapping features spread across a half-dozen applications, including KFax and KGhostView. In addition to facilitating a universal “look and feel,” oKular is lightweight enough to be embedded in new applications as they get added to KDE.
Minimizing overlap while encouraging extensibility is important, because it gives designers a chance to deliver a stripped-down interface without putting a roadblock on feature expansion, a common complaint in the GNOME world. Meyer likens the icon density of in some KDE applications to the number of gauges in a jet airplane cockpit or the number of tools in a Swiss Army Knife. To the ordinary user, the complexity seems intimidating. To the experienced user, however, the most critical icons stick out and the least critical icons are simply there in case of emergency. What makes the latest generation Mac interface inspiring is the fact that the Apple developers have managed to push the operating system’s complexity below the top-level interface, thus providing a friendly look for non-technical users without sacrificing the overall operating system’s BSD- derived power and versatility.
“In the case of OS X, the key feature is the integration,” Meyer says. “One application will touch other applications. Every single application has a search tool at the top. Every application has the same look. It all feels like it goes together. KDE has a lot more features. You’ve got 100 plug-ins for every application, and each applications is separate, distinct. Kind of like pillars.”
Do More With Less
Simplifying this setup for the basic user is no easy task, but it’s been done before. Members of both the GNOME and KDE development teams point to Firefox, the latest generation Mozilla browser. In addition to stripping down the grossly overloaded Mozilla feature set, Firefox engineers pored through user feedback surveys, videotaped user sessions, and even took a cue from rival browsers such as Apple’s Safari and built a simplified browser window with fewer menu icons and an integrated search box. The resulting success (since its initial 2004 release, Firefox marketshare has climbed into the double digits while Microsoft’s Internet Explorer marketshare has declined by a roughly a percentage point) has raised hope for those who see a similar chance to build Linux desktop marketshare as well.
“I think Firefox got it right,” says de Icaza. “The thing you have to realize about Firefox, though, is that the majority of its user base is on Windows. The problem we encounter with Linux is that people say there are no applications.”
To reduce that complaint, de Icaza has put his focus into Mono, a development effort to facilitate the porting of applications written for the Windows .NET application interoperability standard. Since giving up his title as official spokesperson for the GNOME project, de Icaza founded a startup company, Ximian, to spur Mono development, but the company existed only briefly as an independent entity before getting snatched up by Novell during that company’s 2003 move into the Linux arena.
While not exactly a usability issue, application portability guarantees a smoother transition for the Windows user who, at the moment, finds it hard to switch because most vertical business applications are written specifically for Windows. “What convinced me to go with Mono was my realization that we had been a bit naive in a number of ways,” says de Icaza, noting the concepts that drove early GNOME development. “People are not going to rewrite seven million lines of code with a different language for a different toolkit just to run on Linux. The economics are just wrong. If it’s going to be anything,[ the effort] has to be small.”
Where Giants Tread
Novell’s entry into the desktop Linux arena has been yet another cause for tension. In addition to Ximian, the company also owns SuSE, a Linux distribution whose development team has strong cultural, historical and personal ties to the KDE development group. In November, 2005, following an internal shakeup at Novell, SuSE founder Hubert Mantel resigned from the company, stating, tersely, that SuSE was “no longer the company I founded 13 years ago.” Although Novell has since publicly expressed its support for KDE, the company also announced in November a plan to make GNOME the default desktop for its Novell-branded Linux products. That announcement has led many desktop Linux watchers to speculate that Ximian co-founders de Icaza and Nat Friedman are winning the desktop evangelization battle inside Novell’s management pyramid.
De Icaza doesn’t discuss the internal debates at Novell but he does credit the Waltham, Massachusetts-based company for sponsoring a fresh round of usability tests. He points to Novell’s dedicated testing lab and its efforts to encourage similar efforts on the part of other Linux vendors. “We teach people how to build their own portable testing labs,” he says.
Corporate support is all well and good, argues Freedesktop.org’s Pennington, but the real way to spur development is to attract developers. Although his recent online debate with Torvalds put him in the position of GNOME defender, he reserves the right to criticize the current user-oriented GNOME design philosophy.
“With GNOME 2, we had this big sort of change of direction and said, ‘Look, we are targeting mainstream users and we really want to simplify things for that,’” Pennington says. “I think my view is that from a technical perspective, there is some degree of trade-off serving different user communities. You’ve got only so many hours to do ‘A’ or ‘B’, so if you focus on one community — mainstream users, say — you’re not going to be able to focus on others.”
What’s more, says Pennington, you’re going to eventually exhaust the one fuel that drives all open source projects: developer passion. In addition to giving developers a chance to rewrite the basic GNOME framework and take advantage of the latest advances in Linux, Java, and XML, a separate GNOME 3 code base would give developers the ability to focus on other developers who, if inspired by the outcome, will have a natural desire to write applications for the desktop.
“We can meet the needs of everyone, but we’re only going to exceed the expectations of the people we focus on the most,” says Pennington. “If you get some sort of critical mass of people that are interested in a particular direction, they tend to attract more people who want to go in that direction.”
The “Devil’s Bargain”
Such is the devil’s bargain of open source development: Cater too much to the user and you run the risk of turning off the developers who supply and debug your code for free. Cater too much to developers, on the other hand, and you run the risk of souring users with overly complex applications and arcana.
Like twin strands of the DNA helix, both the KDE and GNOME development teams are following the same continually-correcting course, albeit slightly out-of-phase. Thanks to cross-community efforts such as freedesktop.org and openusability.org, however, the directional axis is consistent: more users, more applications and a more professional look and feel to win over the businesses currently wedded to Windows. Though the projects retain their independent notions of proper design, community watchers such as SourceXtreme’s Geiser sees a common destination on the horizon.
“We’ve started to integrate with other projects, to work with members of OpenOffice.org and the GNOME and Mozilla communities to get a consistent look and feel,” says Geiser. “The good thing now is that if a user is using Mozilla, KDE, and OpenOffice, they’re getting a consistent environment from one application to the next.”
Sam Williams is a frequent contributor to Linux Magazine.