February 25, 2005

The GIMP at a crossroads

Author: Jozsef Mak

A critical point for Adobe developers arrived a few years back during the Web boom period. The company had to choose whether to continue developing Photoshop as an all-in-one graphic tool supporting both publishing and Web development, or create a separate Web graphics editor for Web graphic creation. It chose to spin off ImageReady for Web development and GIF animation and keep Photoshop for desktop publishing. Now the GIMP, the open source answer to Photoshop, faces the same decision.

Now is the time to consider splitting up the program. Today the GIMP needs a new graphical user interface that is compatible with current standards, while at the same time the open source community needs a separate tool for publishing and Web design.

A few weeks back, I wrote an article arguing for the establishment of a common user interface standard among three products -- the GIMP, Scribus, and Inkscape -- in order to create an ensemble of products that could make a serious impact on the market. The feedback I received from readers and from professional graphic artists confirmed that one of the most serious obstacles in the way of collaboratively developing the aforementioned products is the odd layout of the GIMP, a feature-rich and well-loved bitmap editor of the open source community. Everyone acknowledged the great work GIMP developers have put into the product, but the fact has remained that GIMP's current interface defies the most basic rules of human-computer interaction standards. (Those who are interested in what these rules are, read the excellent article The First Principle of Interaction Design by Bruce Tognazzini. GNOME's Human Interface Guidelines are also a great source of information. More research papers on interface design can be found on Alias and Bill Buxton's Web site.)

Recently, senior open source advocates have also called for the creation of common user interface standards. Mitch Kapor, the president of the Open Source Applications Foundation, and Andrew Morton, the maintainer of the Linux kernel, called on developers to work toward the improvement of application interfaces. Kapor said, "Each component that comprises a desktop operating environment, whether the graphical interface, productivity applications, or browser, is being developed by different groups with little collaboration.... It's been a lack of motivation for these groups of developers to create a unified interface for users." Morton echoed similar ideas: "What we should concentrate on is well-defined interfaces and standards so that the projects can work together."

It is fair to say that the GIMP urgently needs a sleek, modern, and user-friendly look that complies with current interface standards. This is all the more important since other open source apps (e.g. Scribus and Inkscape) are already moving in that direction. Sharing a unified look and feel with them would make collaboration smoother from which ultimately, all programs could benefit.

Another reason for splitting up the GIMP is to create two bitmap editors with distinct functionalities and, possibly, personalities. The GIMP is the graphic editor of all tasks and it satisfies neither Web design nor publishing specifications completely. This dilemma could be solved by the creation of a lightweight bitmap editor for Web design and GIF animations and a separate graphic program for publishing; the latter could have enhanced CMYK functionality, color management, and high-level font specifications support.

All things considered, splitting up the GIMP would be a smart move. Developers have to realize that only custom-built graphic tools have the prospect to expand into the extremely competitive desktop publishing and Web development market, currently controlled by Adobe and Macromedia.

The GIMP's current situation is an indication of the fact that the finest features of a program cannot make up for an awkwardly designed interface that confuses users. Good design tools and interface elements make a product more attractive, assisting creative professionals in producing high-quality artwork. Other important factors in helping designers are the clean, coherent, and consistent layout of the various components (windows, icons, menus). As Bruce Tognazzini puts it, "Mimic the safety, smoothness, and consistency of the natural landscape."

Product customization is one aspect that plays a role in the building of a winning product. In graphic software development, customization is still an uncertain notion. Developers still tend to overlook real-world business requirements and users' needs by developing products with amateurs and hobbyists in mind.

"Make your product as usable as possible for normal people," said Chris Blizzard, one of the Mozilla project's developers, when asked to sum up the strategy of developing a winning product such as Firefox. This may very well be the strategy of building the next generation GIMP as well.

Click Here!