The software, called Xgl, uses a computer's graphics chip to give a boost to desktop display features such as transparent objects, 3D effects and zooming windows. But the software could also improve more practical parts of the Linux user interface, such as text display speeds, said Nat Friedman, Novell's vice president of collaboration and desktop engineering.
Friedman acknowledges that some new features made possible with Xgl have been pioneered elsewhere. But he believes the open-source nature of Linux means things will be different this time.
Novell is releasing a technology called Xgl that uses a computer's graphics chip to enhance desktop display features of Linux such as transparent objects, 3D effects and zooming windows.
The technology could give a boost to Linux graphics at a time when rival operating systems are also getting spiffier interfaces.
"It'll be one of those open-source situations where people get a hold of the framework, and we'll get new user interface paradigms to come out," he said. "That's not something people can do on a Mac. I want to see 1,000 flowers bloom here."
The lead Xgl programmer, Novell's David Reveman, released the Xgl source code last month, and on Tuesday, Novell will release the plug-in framework and sample plug-ins, Friedman said. The technology will also be incorporated into the next version of products, due to ship in May or June.
Graphics are a central element to the more user-friendly interfaces that software engineers have developed to try to make computers more approachable. The central graphical user interface idea--WIMP, short for windows, icons, menu and pointing devices--has changed little for years.
Recently, though, there's been a burst of graphics innovation. New visual features have been built into Apple Computer's Mac OS X, and a new graphics infrastructure is set to arrive in Microsoft's Vista update to Windows, due by the end of the year. Vista employs a graphics engine called. The operating system will also include a feature called that compares to the small graphical utilities called widgets in Mac OS X.
In spite of this, Directions on Microsoft analyst Michael Cherry wants something that he believes polished graphics have yet to provide. All the operating systems are getting equally fancy graphical abilities, he said, "but the real winner is the person who figures out how to make us more productive."
Novell: It's practical, too
Friedman acknowledged that much of the motivation for Xgl is to provide features that are only skin deep--but appearances can be important, he argued. For example, Xgl permits windows to zoom liquidly into the taskbar when they're minimized, and to zoom back out when needed. It's a visual stunt that he believes makes it easier to understand the system.
"Those little things give a desktop a sense of physicality," Friedman said.
To the same end, another module gives a new view of Linux's ability to show applications on different virtual desktops. For example, there can be one desktop display for e-mail, another for Web browsing and a third related to a programming project. With Xgl, the virtual desktops can be affixed to the faces of a virtual cube; when a user switches, the cube rotates to show new views. "It makes it clear to people what a virtual workspace is," Friedman argued.
Another use comes up when switching among windows using the keyboard. An Xgl plug-in can show a miniaturized version of the file, so a person can see in detail what he or she is switching to. Similarly, Xgl permits fast zooming of windows, a boon to magnification software that helps those with impaired vision, Friedman said.
Xgl is becoming a part of the X.org software project, which handles many basic graphics elements for Linux. In fact, because X.org also is used by many Unix varieties as well as by Linux, Xgl conceivably could be used to spruce up Sun Microsystems' Solaris operating system, or various BSD versions of Unix.
The software is already "largely integrated" with the X.org source code, Friedman said. Novell plans to announce the Xgl contribution to X.org on Tuesday, in conjunction with the X Developer Conference this week in Santa Clara, Calif. Reveman will give a presentation about the software at the conference on Wednesday.
Improving the Linux interface is a Novell priority. The Waltham, Mass.-based company acquired Linux desktop specialist Ximian in 2003. In an , the company has urged Linux programmers to watch videos of real-world computer users struggling to accomplish basic tasks.
But one thorny issue in Linux user interface design refuses to go away: the split between KDE and GNOME, two different but widely used packages that provide Linux with user interface controls and utilities. That split, more than the lack of eye candy, is a hurdle to Linux desktops becoming more popular, Cherry said.
"I struggle with whether I should use GNOME or KDE. There aspects of both I like and both I hate," the analyst said.
Because both GNOME and KDE use X.org, Xgl sidesteps that particular issue, Friedman said.
Xgl is a framework that lets people build plug-in effects modules that alter the user interface behavior. For example, Novell programmers recreated a "wobbly windows" idea--which makes windows jiggle like gelatin--from the company's chief rival, Red Hat.
Xgl uses the graphics instructions of OpenGL, a 3D drawing standard widely supported by graphics cards. However, one complication of Xgl is that it works best with good 3D graphics driver software, and that typically means proprietary software from companies such as Nvidia or ATI. Some open-source programmers object to proprietary drivers, and many versions of Linux, such as Red Hat's Fedora, shun them.
The technology also works in conjunction with the X server, an older element of the X window system that is overseen by X.org. Without Xgl, a program that uses graphics--the Firefox Web browser, say--tells the X server what to display, and the X server then communicates with the graphics hardware.
Xgl steps in to handle much of the X server's work--to draw a line or fill a rectangle with white, for instance. The use of OpenGL commands lets the graphics hardware manage many operations that otherwise would require constant coordination between the X server and its applications, Friedman said.
"We're offloading a lot of the work to the hardware," Friedman said. "The result is things look and feel a lot smoother."
For example, the video hardware can store whatever information is contained in windows that have been hidden by other windows. That means the contents of the hidden panes can be redrawn quickly when an upper window is moved and the window underneath is revealed. In contrast, with regular X servers, the text underneath must be retrieved by numerous requests by the X server.
Foundation for the future
There's another potential benefit for the Linux user interface from Xgl. It enables developers to shift away from bitmaps--which store graphics as a grid of pixels--toward vectors, which use mathematical abstractions independent of the pixel grid. For example, vectors are used today to allow a single typeface to be seen as text of varying size; bitmaps require separate versions for 10-point, 12-point and 14-point type sizes.
GNOME and the Mozilla browser project both have adopted a vector graphics engine called Cairo. It can be used to display buttons or other graphical elements and to arrange Web page elements using flexible descriptions rather than hard-coding positions by counting pixels.
Vector graphics help solve one problem that Microsoft is addressing in Vista: the difference in pixel sizes on different computers. For example, the pixels on a laptop with a 15-inch, 1600-by-1200 screen are much smaller than those on a 19-inch, 1024-by-768 monitor. That means objects such as menus, buttons and icons are much harder to see and click on using a mouse.
Cherry agreed work needs to be done there. "On some monitors and graphics cards, the controls become almost impossible to work with," he said.
Xgl accelerates Cairo, so its future use will benefit from hardware acceleration, Friedman said.
"If you're using Cairo, all your Cairo operations are accelerated--fonts, windows, special effects," Friedman said. "In terms of vectorizing the desktop, this moves us way ahead."
The vector feature, like other aspects of Xgl, has Friedman excited about the prospects for the technology and the boost it could give Linux. "This puts us up at the frontier with anybody using accelerated video hardware," he said.