OWT: I don't have a lot of experience with OS X personally. For XP, my feeling that it is nicely polished, but just a bit clunky. In many cases the useability improvements in XP are done as another layer on top of the existing familiar windows interface, so navigation from one place to another can take a lot of steps. Also, it doesn't feel as consistent to me as I've come to expect with the work that the usability team has done on GNOME 2. But it has a lot of nice slick little touches, and there is no doubt that they've done a good job burying a lot of complexity.
HP: That's an awfully broad question. ;-) Both of those interfaces are respectable efforts, I think, with lots of attention to detail.
You could make the Jef Raskin criticism, that the whole windows-icons-mouse UI concept is too complex. But if you accept the big picture, OS X and XP are both good implementations of that picture in my opinion. Better than most other attempts, at least.
6. What is the future of UIs? Do you see purely 3D interfaces to come on our way in the future, or something else?
OWT: I think it is worth distinguishing using 3D hardware to draw the desktop from an actual 3D desktop. A lot of transistors are being thrown into the 3D hardware, so it may well make sense to use it to draw the desktop as well.
But I don't think that means that we'll have a fundamental shift in the the way that users interact with the desktop - the screen is 2D, the retina is 2D, and the mouse is 2D, so I think the current 2 and half dimensional user interfaces will continue to be the way things are laid out for the forseeable future.
If I had to guess for one trend in desktop user interfaces in the future, it would be that they'll less hierarchal and less structured, and their will be more emphasis on search-like techniques for bringing the data to the user rather than the the user navigating to the data.
HP: Most noise about 3D UI seems to come from hardware companies. ;-)
But in general: say you woke up one day and everyone on earth simultaneously agreed to switch from windows/icons/mouse to some new paradigm. It would still take 20 years, trillions of dollars, and be mind-blowingly difficult.
I don't have a clue what new UI would be exciting enough to get that to happen. If I did, I might invest in it, and not tell anyone else.
For the present, many applications still fail to live up to the potential of current UI technology. For example, I recently used Quicken for the first time, and was impressed by how difficult it was to use.
7. What is more to be done to bring the Linux desktop closer to the Average Joe User?
OWT: For the average home user, the big stumbling blocks are better hardware support and applications. For the business desktop, the average user is doing something much more constrained -- using applications someone else has chosen and configured. I think we are quite usable in that arena already and most of the remaining work is small incremental improvements.
HP: There's an endless list. In my opinion Joe-average-home-user is not in Linux's immediate future; we'd need to support a huge quantity of consumer software and hardware. For now, we should concentrate our efforts on desktop users that have a system administrator to help them out and configure their machine.
8. Do you feel that the modularity of the GNU/Linux system is a good thing, or a curse for the desktop purpose? For example, by developing Freetype seperately of XFree86, none of the two work well with each other, neither is easy to install new fonts and be recognized by all toolkits (which are also developed seperately).
OWT: The modularity of free software operating systems is a great thing in general. Huge software projects are an engineering nightmare, and the modularity means that people can really focus on making particular components work well.
FreeType is actually an excellent example of the system working. It has a really well defined purpose - to render fonts. It is pretty much universally used by anybody who wants to render fonts in the open source world (and beyond). It has several devoted maintainers and is actively improved.
We now have another module, fontconfig, that layers on top of FreeType to handle font installation and lookup. I think you'll shortly see it being used almost as univerally as FreeType for people who need these functions.
HP: Modularity is simply required in order to scale a software development effort, both in terms of people (having more people work on the software), and in terms of keeping the platform stable over time.
Sometimes it seems faster to avoid modularity. Fred Brooks explains the issue very well; modular software is part of a "programming system" and takes longer to write than a plain old program. Three times longer. Robust, tested, documented, maintained software is part of a "programming product" and also takes three times longer than just typing in a "works for me" program.
Something you can support for serious customers over a period of years combines both these qualities into a "programming systems product" and takes _nine_ times as long to create. The gap between "works for me" and "supportable product" is order-of-magnitude.
Ignoring modularity is a false economy, it just keeps you from scaling your system to larger size or higher quality. You can write the small, local bit of code more quickly without modularity, but you slow down the big picture by preventing developers from working in parallel.
In the freetype case specifically, I think the solution we've landed on (fontconfig and Xft2) is a very good one. It properly modularizes the font system and the window system, so you can use the same font system for both printing and on the screen. And it's easy as can be to install fonts; drop them in the fonts directory, and that's it.
Red Hat Linux 8.0 is incidentally the first distribution to ship with fontconfig/Xft2 as the default font subsystem.
- "Interview with HP and OWT - Part I"
- "Interview with HP and OWT - Part II"
- "Interview with HP and OWT - Part III"



