Sunday, May 01, 2005

Thoughts on Operating Systems 

If there's been a theme so far in MacOS X development, I would say it is that every new release contains two types of features: those they hype, and those they don't. As awesome as I think Spotlight looks, I have been looking forward to Tiger more for the second sort of feature. Of course, I didn't have any proof that Tiger would contain any of this sort of feature, but make sure you don't miss this article on ArsTechnica that details exactly what those under-the-hood features are. I suggest you skip his pages and pages of ranting about metadata, but the rest of the article is fascinating, not only because it explains what is new in Tiger, but also because it describes what was wrong in previous releases of MacOS X (stuff you wouldn't believe). On page 14, you learn that there is a potentially tremendous speed increase in Tiger that is turned off by default, apparently because it's not quite ready for prime-time.

I also wanted to point out this blog post by Edd Dumbill, a Gnome developer. He touches on something I've talked about before, namely the problem Gnome has created by not making a decision on what to do about high level languages. As Charles Simonyi (Microsoft programmer extraordinaire) said, "It is often more important to make timely decisions than it is to make correct ones."

This year's handwringing in the Gnome camp appears to be related to whether or not Gnome can develop the "next-generation" of user interface with its current development methodology. I think a lot of the thinking here is pretty misguided. There seems to be this fantasy among many of the hackers that 3.0 will be where Gnome finally becomes the user interface designer's utopia, and radically departs from most of the interfaces that computer users are used to across platforms. I think that that won't happen, and it really probably shouldn't happen. First of all, Gnome developers might or might not remember that they were at this point before, when they were trying to make 2.0 happen. It festered, undone, for many years, before some sanity was brought to the project and much smaller, more reasonable changes were%2

That's all I'm going to post now, because although this represents only about a third of what I'd actually written, Blogger ate the rest of it (I didn't even do anything that would have required me to submit the page, or so I thought, so I hadn't yet copied the text to save it from the Blogger post-eater). And you ask why I don't blog as much anymore.

OK, fine, I'll rewrite the gist of what I wrote. I am so unbelievably angry, though.

made so that 2.0 was finally completed. The final version of Gnome 2.0 didn't look all that fundamentally different from 1.0, but it has certainly enabled a long and stable stream of releases that have built the platform up to where in many respects, it is the equal of other systems.

The changes suggested by the Gnome 3.0 wiki don't seem to be driven by any actual user needs, but more by what might be called "architecture astronauts" if we were talking about APIs instead of user interfaces. The basic idea is correct, sure: user-centric objects are much more important these days. But we are getting to the advanced stages of a shift in focus that has happened before. Just as interface-centric concerns eclipsed kernel features in importance, the actual desktop shell is being pushed down the operating system stack as mostly finished. In its place, domain specific applications are becoming the new focus of user attention.

Applications like iTunes and Picasa are practically file-specific operating system features. The idea of using a file manager to work with music or photographs is rendered ridiculous by these applications. I interact with thousands of times more music or picture files through these applications than I do through the file manager. Similarly, integrated and comprehensive desktop search capabilities are about to render the use of the file manager as outdated as managing your browser bookmarks. (I'm not saying the file manager will disappear or anything like that; I still make bookmarks for certain things in my browser. I just think it's going to become much more exceptional for a user to have to jump into it).

The Gnome hackers are onboard with this much, but they seem to want these functionalities to be a part of Gnome, with Gnome as a sort of mega-application that intelligently displays all your data in its own specific way, much like you would use iTunes. I think this is misguided, because these applications are complex and Gnome doesn't have the resources to develop them to the level they need to be at. Third-party developers certainly aren't going to want to step out of the way and let their software become anonymously integrated with Gnome, and with all of the internal data being free for the desktop shell (or competitors) to use. Gnome hackers might respond that they're trying to build a free and open desktop, but they should also remember that most of the interesting software currently available for Gnome, even if free, is created by external projects that might have very different goals (for example, Firefox, OpenOffice, Gimp, and so forth all desire some amount of portability).

I realize I am putting words in their mouths, but I'm having a hard time figuring out how else their vision should be interpretted. I would say instead that the desktop shell is basically done, with all the major operating systems having converged on basically the same design. Gnome should focus on maintaining excellence and enabling even better applications to run on their platform (especially, for example, recent work on the graphics capabilities of the Linux desktop). But I think they should also realize that any attempts to move the Linux desktop forward through what is basically the desktop shell are probably doomed to failure. The next step forward is going to have to come from the development of those data-centric and task-centric applications. Until Gnome has some polished alternative to iTunes and Picasa, I really can't use it. And the reality is, most of those applications can be developed perfectly well on Gnome as it currently stands. Perhaps Gnome should even consider making itself smaller and tighter, the mere meeting point for the applications that are, when taken together, truly going to provide the next generation of user interface.

Update: Fortunately, a lot of the bigwigs in Gnome seem to...well, I won't make the potentially libelous claim that they agree with me, but they do seem to have the same thoughts. For instance, here's Havoc Pennington.
Comments: Post a Comment

This page is powered by Blogger. Isn't yours?