The KDE project saw the writing on the wall. They saw that they had reached a certain limit when it came to what could be done with the KDE 3.x series – they named it the “big friggin’ wall”, and decided that in order to get over that wall, incremental updates wouldn’t do – they needed massive changes, a big jump, and they went for it. It’s been a rough road, but it seems as if KDE 4.1 is showing signs of the vision becoming a reality. And it now seems as if several people within the GNOME community are seeing the writing on the wall too: GNOME 2.x has reached its goal – now what?In his blog post “GNOME in the age of decadence“, Andy Wingo writes that GNOME has more or less achieved what it set out to achieve, and that now it has moved into “a state of marginal returns”, where maintenance is getting an ever more important role. “The problem, as I see it, is that GNOME is in a state of decadence,” Wingo writes, “It’s like, welcome back to 1984’s Macintosh plus interweb. We did it!” He continues on a more serious note:
Seriously though, it does not seem to me that GNOME is on a healthy evolutionary track. By that I mean to say that there is no way there from here, if “there” is universal use of free software, and “here” is our existing GNOME software stack.
He explains that GNOME is a static interface, and that the only way of interacting with things on the screen is through “impoverished point and click”. “What we’re left with is the GUI equivalent of chartjunk.” But there are exceptions, and Wingo mentions Clutter, Moonlight, and non-GNOME efforts like MPX. “But other than that,” he writes, “We have the decay of slavish adherence to the HIG, the logout dialog, the wallpaper chooser, the last-percent efforts of refining an increasingly irrelevant stack of software.”
He is also quite clear on the state of Gtk+.
The GTK+ maintainers are well aware of the decadent state of GTK+, and are moving as much as possible to plug the leaks. But it is no longer a nimble codebase, and will take at least 6 and possibly 12 months before a 3.0 release can come out. And that’s just stopping retrograde motion; actual construction must take place outside of the “core” until the core is ready for it.
In a follow-up blogpost Wingo addresses a complaint from a fellow GNOME programmer who said that the first entry lacked a solution. Even though Wingo states he doesn’t really have a solution, his thoughts do quite look like one to me. His idea? Launch a sort of GNOME skunkworks, a place where hackers can hack along for themselves, and fail, too – but if an idea is liked by a wider audience, it can be put to use somewhere more stable. He continues to explain:
Note that “for hackers” does not necessarily entail complexity; it entails only that complexity which is necessary. Physics does not strive to make ugly theories, string theory aside; we as hackers, though oft maligned, neither want such things. Working together, with the best spirit of peer review, we could come out with something with power, and simplicity, and diversity.
The post lists a few ideas of his own, which I’ll skip since that’s not the point. The point is that GNOME doesn’t allow for wilder experimentation due to, as Wingo put it, slavish adherence to the HIG. I love how he ends his post: “Pay no attention to mental questions of how your mother would see this [ed. note: thank you!], those questions will fix themselves in time. A focus on beauty and simplicity and power cannot fail to make something interesting. Code against boredom!”
While Wingo recognises he is a minor player in the GNOME field, his posts did grab the attention. Johannes Schmid joined in and said “The whole GNOME community really needs to start thinking about the next generation Desktop – whatever that will be. Maybe it’s very similar to the current Desktop but sure it will just be better.”
Albert Ruiz also joins in on the fun, and while he believes Wingo’s posts were a tad bit too pessimistic, he does agree with the fact that GNOME needs to think about its future. Ruiz proposes that “the desktop is the OS”, and ponders if GNOME should try to integrate better with the underlying hardware and provide the proper tools to manage them, for instance when it comes to networking (interfaces, proxy, vpn, etc).
This is just an example of what can be achieved, other examples could be the current directory layout (I can’t sleep thinking about the screams of users browsing / from the file chooser), software installation (go PackageKit go!) and (put your favorite legacy weirdness here).
It may come as no surprise to regular readers of OSNews and its comments that I strongly agree with the original premise set forth by Wingo: GNOME is in maintenance mode, and seriously lacks any plan for the future, any idea on how to adapt to whatever the future might bring. Sure, GNOME is usable and enjoyable now, but it is also inflexible and incapable of adapting to any possible future user expectations. It just chugs along, adding features other environments come up with, tightening nuts and bolts here and there, but never offering anything truly incentive, something truly exciting. Something that will make users of Windows, KDE, and Mac OS X go “wow, I want that!”.
GNOME needs to draw itself a plan for the future, a vision, something exciting, something compelling. It’s nice to be “as good as…”, but in order to grow, you need to be more than that.