Time to Lead….

The free desktop has been in “catchup” mode: catching up to first Windows and now nipping at the heels of the Mac.  Our path has been obvious to date. In some areas, our technology and applications lead; in others we still lag. From here on, progress becomes much less clear, though I’ll bet on the moving herd and natural selection of free software over directed closed commercial development any day.

How now to move from such a reactive strategy to true leadership in all areas? How do you set strategy, when our very culture is that of serendipity, discovery, sharing of ideas, and creation? where a single vision cannot rule?

I recently attended the UIST conference, and discovered there was essentially no overlap between the research community and our own. The conference (in free software terms) was expensive and much was uninteresting to me personally (though most would be interesting to someone in the free desktop community). But a couple of gems at UIST were there that made the trip worth while. For me, it was OctoPocus. For you, it will likely be something else.

For another concrete example, the Facades work built on Metisse is not well known in our community. I highly recommend watching the videos you find at those web sites. Facades, published several years ago, combines at-spi and composite to do things that aren’t possible anywhere else. You too, could edit the gimp in real time to have the UI you want! Peter Korn only became aware of Facades last week, after I had stumbled across it while investigating other work. My jaw dropped.  Peter’s jaw dropped. Please add your jaw to the collection on the floor. We could have deployed this by now! But we did not know it existed!

Dan Olsen notes in “Evaluating User Interface Systems Research“:

“This search for fatal flaws is devastating for systems research. It is virtually impossible for a small team of researchers to recreate all of the capabilities of existing systems or to completely examine all of the eventualities of new concepts. The farther such a team reaches into new territory the more compromises will be required and the more supporting ideas must be left unresolved.  If a new systems approach is attempted, the omissions of some important feature is guaranteed. The existence of a fatal flaw is a given. If the evaluation of the work is focused on “what does it not do” no research system will ever pass. Flaw analysis will frequently be a barrier to new systems research.”

As a result, UI systems research has stagnated due to combined effect of the middleware of the UI stack being closed (or in our case, until the recent flowering of the free desktop undid more than a decade of stagnation) and this effect.  Many good ideas of all kinds have been explored from hardware, to window system UI ideas, to UI ideas for specific classes of applications. But there is much less proof of which ideas actually works in a real system, for the reasons Dan lays out.  The resulting research experiments are usually “toy” systems, and toy applications, built in the limited environment of MacIntosh and Windows where much of the system is off-limits.  The research community has neither the resources nor (if they work on Mac and/or Windows) the ability to make advances “real”.  But we do! We have the resources, the open system, and the ability to and desire to innovate.

Our fundamental advantage we have is the ability to experiment  and modify all areas of the stack; from hardware, to the window system, though toolkits to applications.  Just as compositing has allowed a thousand flowers to bloom (most of which stink, but we’ve picked some that smell pretty sweet) in eye candy, accessibility and in other areas, compositing and other modern free software technologies can be used in new an unexpected ways. We are able to perform experiments, and have a large audience to test the experiments radically faster than commercial software.  Nice as the Web is, there are just some things you can’t do in the web until the underlying technologies have support.  20 years of frustration in the UI research community shows that pushing from research to commercial vendors does not and cannot work at more than a glacial pace. Let us pull people to free software by out innovating and becoming the system with the best user experience, by pulling with the best ideas of free software and research innovation.

How to lead?  I think some of what is going on now (e.g. the work to bring  journals to avoid file management among others) are fundamental.  But there are also almost 20 years of ideas lying fallow since the first flowering of UI work in the 1980’s. By mining research for the best ideas, fostering collaboration with researchers when possible, and combining with your own good ideas and production code now on millions of desktops, we can accelerate our progress.

Thankfully, the ACM is becoming more enlightened: conference proceedings and videos once locked up are now available. (Dan Olsen points out that videos done later found on the researcher’s web sites are often better than those presented at the conference; due to an oversight, the UIST 2008 videos are not yet up). The proceedings of UIST is one good place to start for the free desktop community. There is a list of other ACM conferences on many other topics. Go see which ideas are worth grabbing and running with!

This is a two way street: I had great fun demonstrating Compiz Fusion and some of our eye candy (as well as showing videos of Facades and Metisse) to a number of UIST attendees, who had been unaware that the free desktop had advanced beyond the commercial state of the art, already solving in a real system, problems they could not solve in their “toy” research prototypes on Windows and Mac.  When you have a chance, this is also very worth while: the more bright people working on free software, the better.

But it is up to you to figure out which ideas are good, which are bad (and why), which ideas really work, recombine them with your own great ideas, and get them into people’s hands (both literally, and on the desktop)!

23 Responses to “Time to Lead….”

  1. FACORAT Fabrice Says:

    It’s unfortunate that Facades was not known before whereas Mandriva was trying to push Metisse last year.
    As usual, this is also due to the current Ubuntu mono-culture which is taking place.
    http://wiki.mandriva.com/en/Projects/Metisse
    http://www.mandriva.com/archives/en/projects/metisse.html

  2. Phil Endecott Says:

    Hi Jim,

    Thanks for a provocative article which I hope will trigger some debate.

    My feeling is that the desktop is not the easiest place for this sort of innovation. As well as the very valid quote from Dan Olsen about completeness, there’s the problem that it’s full of user pre-conceptions about how things will work.

    But the desktop is not the only thing that has a user interface. We are surrounded by gadgets like phones and TVs, and because of the simpler problem that they’re solving and the fewer pre-conceptions it’s easier to be radically innovative. And the hardware is now sophisticated enough that we can use desktop-like development practices.

    We should all go out and buy an OpenMoko phone, or a Beagleboard to use as a PVR, and start hacking interesting UIs on to them.

  3. Gettys: Time to lead on the desktop | Open Source Pixels Says:

    […] Gettys, one of the original X Window System programmers (among many other things) has put up a lengthy call to the community to take the lead in the design of desktop software. “Our fundamental advantage we have is the […]

  4. gettys Says:

    I didn’t mean to limit this to desktops/laptops as the my concluding remarks (and personal history) should make very clear…

  5. Kai Hendry Says:

    The desktop is dead. Get a Web browser.

  6. Noel Grandin Says:

    If you want to make the open-source stack more widely used in academia, there is a simple answer – make it better.

    Make the build-system better, so that it takes no more than a page to describe how to go from zero-to-running.

    Make the code well-architected, documented, largely free from cruft, and modular.

    Add debugging, sanity-checking, tracing to the code, so that students can experiment while wasting a minimum of time shooting themselves in the foot – or at least make it such that it is reasonably obvious which foot they have shot!.

    Document the system at various levels, from the macro- to the micro- scale.

    Provide tutorials for the plug-in points.

    I think we’re getting pretty close, but there is still a whole bunch of decidedly unsexy fit-and-polish work to be done.

  7. gettys Says:

    Web browsers are limited in most of the serious *systems* UI work that needs to be done. The underlying platforms do not support the infrastructure for a browser to be *able* to take advantage of.

    So while the web is great, it isn’t (yet) able to do everything. Maybe in 5-10 years, once we’ve done all the other work ;-).

  8. skierpage Says:

    The good news is it’s easier to push open source experimentation out. It started with YouTube demos, live CDs and emulation, now (adding to what Mr. Endecott said) most people have spare hardware lying around to try. Get a stack of SD cards and USB flash drives for your XO to try SqueakNOS, latest kernels, multitouch, etc. OLPR (one laptop per researcher)!

    Maybe researchers need an experimental build service to automate and replicate their mods to the stack; that would make their lives easier and as a side-effect generate builds for the curious.

    Unfortunately easy availability of prototype code leads to vastly more complaining from strangers 😉 Researchers will need thick skins.

  9. Anon Says:

    > ACM is becoming more enlightened: conference proceedings and videos once
    > locked up are now available.

    But not the OctoPocus article.

    The ACM Digital Library, proudly retarding open-source innovation for more than a decade.

  10. gettys Says:

    The PDF is there. I’ll ping Dan again about the videos (which are very useful to see). When I checked with him last, he was pinging ACM on why the PDF’s were up and not the videos….

  11. Andy Baker Says:

    Doesn’t your use of snap pop-up’s in a page talking about UI rather damage your credibility? 😉

  12. James Says:

    >The free desktop has been in “catchup” mode: catching up to first Windows and now nipping at the heels of the Mac.

    Getting a grip on reality would be a good first step. One, free desktops are not even close to catching up with Windows, much less Mac OS X. Two, you’re _not_ catching up, you’re falling further behind.

    Three, normal people don’t care about recombining their GUIs. They want GUIs that are not shit by default. The very idea of recombining a GUI would be so much less likely to occur to a Windows or Mac user not because they have less control of the stack, but because the GUIs they deal with are actually half-decent, unlike the disgusting refuse available on Unix desktops.

    Give people the option of fixing broken GUIs or paying a couple of bucks for ones that work and they will pick the latter ninety-eight times out of one hundred (allowing the most liberal estimate of overall Linux desktop usership available). So buddy, you’re going to need to retarget if you have any interest in convincing the unconvinced that your way is the better way.

  13. olli Says:

    My advice would be to stop adding new features like compiz and actually fix the stuff that’s broken first; simple things like mounting disks and setting screen modes.

  14. rektide Says:

    Great food for thought– I’m predisposed to be biased in your favor, but its still grand seeing some good examples to go with.

    I’d disagree that Fusion was playing catchup. In terms of released desktopware, Fusion was well ahead of the curve– ahead of vista, ahead of OSX. Most of my grief with it is that its capabilities are used for eye candy, and I intuitively feel like it doesnt enhance real usability. Its a huge step up in terms of pleasure yes, but by the metrics HCI uses it doesnt present a substantiative change.

    As glad as I am to see linux playing hard in the “will this get my users laid” meme, I too would love to see it be a sandbox for innovative practical interfaces: thats the collaboration you discuss, and indeed I think theres great potential for the main of the Linux community to get blown away with novel usability systems.

  15. rektide Says:

    One thing that always strikes me is that Linux increasingly seems to play inside the fold. We have exceptions like wmii, xmonad, awesome, & even to a degree conventional-yet-minimalists like openbox, but the mainstream WM’s adhere close to convention: kde & gnome have had “redmond” themes for years that make your entire UI not just function like but but also look almost exactly like Windows.

    I’d be interested to hear what your thoughts are on how best to ween the Linux mainstream off the prototypical desktop systems, and what avenues you think have the highest potential for introducing radical change.

  16. gettys Says:

    Hmmm…. I don’t think it is worth being a “little” different. If we have something that is “like” some other system, I think being the same makes sense.

    But as we lead more and more, I think similarity will be less and less possible or desirable.

    As far as highest potential; I don’t think 3D for the sake of 3D is worth much; but as a social experience and a navigation experience, it may have much to offer. Systems like Croquet and Qwaq (based on Croquet), with well integrated “conventional” application usage may have their place.

  17. gettys Says:

    I do not believe “one size fits all”.

    The gimp is a classic example: it is an example of a UI done for experts at the gimp.

    1) this leaves most of us out in the cold, right off the bat.
    2) but I’d love to see subsets of it usable by a 10 year old… So that child, as they get older, can immediately move onto more and more powerful versions.

    Facades shows this is possible, without having to solve the whole multiple UI’s to the underlying application problem, for all different applications. This general editability of an interface is truly novel.

  18. gettys Says:

    As far as UI’s; I’m a system builder. I *know* building good UI’s is hard, and leave it to experts. That *isn’t* me….

    It is when the experts can’t achieve what they want to that the system builder gets to have fun….

  19. Azrael Says:

    Don’t forget Enlightenment and GNUstep! E17 also explores new concepts of UI. And GNUstep has recently found a new face with Etoile.

  20. Top Posts « WordPress.com Says:

    […] Time to Lead…. The free desktop has been in “catchup” mode: catching up to first Windows and now nipping at the heels of […] […]

  21. Adam Tauno Williams Says:

    I wish the FOSS gurus would spend much less time being visionary, and much more time just cleaning up and *DOCUMENTING* the environment. As someone who develops applications for the Open Source (GNOME) desktop I spend way to much time searching an experimenting try to figure out how to do XYZ. We need more and better applications, not a rewrite of the *&@*!(! “desktop metaphor”. People know how to use the desktop, the GNOME desktop works pretty darn well… we need more and better applications. Which means we need more developers, but it is just too darn hard (the documentation for very cool things like D-Bus, the key-ring, even the Gtk widgets, is *CRAP*). Also, gurus who have created very cool applications should share-the-wealth. Everyone talks about code-reuse, etc… where are the widget libraries? The toolkits? If you’ve developed custom widgets for your app how about packaging them in an assembly for reuse (like Holly Widgets)? If I was developing on WinForms or WPF I’ve have dozens [hundreds?] of libraries of components I could reuse rather writing code that I *KNOW* has been written before.

    Stop big thinking and fix the problems we have now. Please!

  22. gettys Says:

    I have a lot of sympathy for Adam William’s complaints: I also believe that we should focus *hard* on making our system better documented for developers. Having given extensively at the documentation blood bank in the 1980’s and early 1990’s to get X11 properly documented, I think I’m in a position to also throw stones without feeling I’m personally living in a glass house. Would that everything were documented to the standards we held then….

  23. Give one, Get many… « jg’s Ramblings Says:

    […] jg’s Ramblings Jim Gettys’ ramblings on random topics, and occasional rants. « Time to Lead…. […]

Leave a comment