A wealth of research has gone into user interface design in the past decade. The designers and developers of competing products often quickly adopt advances made on one operating system platform or software application to enhance their own. The market of end users helps to steer these developments, and in the end everyone wins - one of the biggest advantages of healthy competition in the market place.
But this can also make things difficult for software developers and program designers. How does one choose the features and functionality to include with a product? This can be a difficult choice when the design team is a loose-knit group, as often happens with open-source projects.
Although competition in the user interface arena is good, it is important to keep things in perspective. Enhancements should centre around two things: those that make developing and designing applications easier and those that allow end-users greater flexibility in how they interact with applications.
This isn't a story about which development environment is better or which we prefer to use in the test centre. Instead, we take a deeper look at why one or the other of these interfaces is chosen. Of course, there are a number of alternatives, such as CDE (Common Desktop Environment) and others, that developers have been using for some time.
In terms of general user interface issues, designers should strive to make the UI as effortless to use as possible. If an awesome feature is difficult to find or takes too many steps, most users will not properly employ it. And if the UI tries too much to lead users along step by step, users may become frustrated with not having a quicker way to accomplish a task.
Choice is vitally important for environments the user will regularly interact with. The Windows Start menu is a good example of providing the right features in an easy-to-use interface. Of course, this is partly taken from older UIs and from focus-group research. No matter what your opinion of Microsoft as a corporation is, it does create interfaces that make users feel comfortable with its products.
Two views of Linux
On the Linux platform, the two most popular user interface frameworks are Gnu Network Object Model Environment (Gnome) and K Desktop Environment (KDE). Although the details of these two platforms differ, the basic philosophy of each is the same: develop an easy to use, powerful and free user interface.
Gnome is based on the Gimp Tool Kit (GTK+) system. GTK+ provides the raw images and forms to build upon. Gnome takes these elements one step further, providing a comprehensive user interface for the X-Window environment. Similarly, KDE is based on the Qt framework from Trolltech AS. By utilising the components of either GTK+ for Gnome or Qt for KDE, software designers can concentrate on their software's features, instead of wasting time and money coding every screen element and button image. With the included elements, creating a user interface, be it for an operating system or a video game, is greatly simplified.
Choosing between Gnome and KDE should really be up to each user. When I set up a Linux workstation, I always install both platforms. I'm primarily a Gnome user, but others prefer KDE. The beauty of both environments is that they can, for the most part, coexist and be interchanged freely. Of course, software that is designed solely for one environment won't look as slick and polished on the other.
From the developer's point of view, the choice between Gnome and KDE is more difficult. In the past, many open-source developers shied away from KDE because of its reliance on the Qt toolkit, which isn't free. But Trolltech has since released Qt under the Gnu General Public License (GPL), making it freely available and freely distributable. Others chose KDE over Gnome because of various design advantages. In the end, the development framework that a software design company chooses needs to be considered carefully.
Both platforms offer significant cost savings compared with developing software independently, which means creating all of the screen elements and design tools from scratch. In fact, one of the factors that influences developers who choose the Windows environment is the built-in user interface tools; Microsoft uses these to make the overall design process simpler.
Other standardised user interfaces are available for the X-Window platform; the leading UI is CDE. CDE can be found on various Unix operating systems and provides a common feature set, and look and feel. But CDE is very limited in its customisation options for developers and users. Both KDE and Gnome provide all of the features needed for a powerful and stable UI.
In some instances, the developers of both interfaces carry things a bit too far. Instead of working to add KDE or Gnome support to existing office suites, developers in both camps are working to design "Koffice" and "Gnome office" software. There are benefits to both of these, but those resources could be used more efficiently by enhancing Gnome and KDE instead of reinventing the wheel.
Debating which user interface is best neglects the fact that it's a user interface. The user is key, and the interface options and usage patterns will depend on individual needs. Software designers for all types of software, not just graphical user interface developers, must design with the user in mind. This includes providing user options in all manners of applications.
Linux user interfaces
Business Case: As Linux increases in popularity on the desktop, the need for a powerful and easy-to-use GUI has grown. Both KDE and Gnome offer users a free, standards-based environment which can be customised to each individual's liking, while maintaining compatibility with other systems. The key is that both systems give users the ability to customise; one system shouldn't be seen as better than the other in overall merit.
Technology Case: Although both Gnome and KDE provide similar features and functions, they are based on different technologies. Gnome relies on GTK+ and KDE relies on the Qt toolkit from Trolltech. As long as your systems have both GTK+ and Qt installed, applications written for Gnome will work in KDE and vice versa.
l Both Gnome and KDE give users simple customisation of their Linux desktops
l Many popular applications support one or both of the environments
l Both are open source, allowing companies to customise their own solutions
l Designed only for the X-Window system
l Applications designed for one system often look out of place when run in the other environment