I moved into this fancy new apartment six months ago — a couple weeks after we sold Ximian, not coincidentally — and was immediately overwhelmed with the task of furnishing it. Especially with all the traveling I’ve had to do lately.
So I hired a decorator to handle all the leg work. Which was great: I finally had an outlet for all my crazy homemaking ideas, like a fully enclosed circular couch and 3d wallpaper made of photos. She was arranging to have people build furniture and FedExed fabric samples to my hotel room, just like in Lost in Translation. Everything was going swimmingly, if a little slowly.
Then yesterday she quit because I am, apparently, hard to work with. This is what you get for paying in advance.
So I’ve been looking for furniture online tonight. This lamp is allegedly ten feet tall. And this, uh, thing looks pretty cool. Too bad it costs as much as major surgery.
Death is very hard to deal with. I’ve had an enormous amount of trouble sleeping the last couple of months, and there’s this simmering background anxiety that my closest friends will continue dropping like flies. When Evolution 1.0 came out, I gave Ettore a guitar autographed by everyone in Radiohead. Now, it’s sitting in my apartment.
And whenever someone else sleeps in my bed, if I wake up first, I’m briefly convinced that they’re dead and have to shake them awake before I’m reassured.
This is irrational, this is stupid, but there it is.
Software is reassuring. I have spent most of the month getting my teams organized, which is really quite excellent. I am dead set on making our hackers in Bangalore integral and contributing parts of the open source communities they work with; we have had some limited success so far, and we will keep pushing. There are cultural challenges and there are organizational challenges, but we are highly motivated to succeed.
The GNOME board meeting this week was, as reported by others, unusually exciting. Some new tasks include setting up a repository of contributed slides, handouts, demo files and scripts that can be used to give presentations on the desktop, creating gallery.gnome.org, a place where GNOME people can put their photos, and the fleshing out of the mythical roadmap.
(That phrase, “fleshing out,” always makes me picture skin growing on a robotic skeleton.)
I’ve volunteered to write the Collaboration section of the roadmap. This is a personal jihad of mine. The desktop needs to become a more perfect tool for collaboration. Jeff Waugh has called this a “collaboration station.”
Teams of people form, unform and reform organically. Data is created, shared, changes rapidly, and grows day-by-day. People tend to look for files and other data based on people and time: these are critical pieces of metadata. Miguel sent this to me, where is it? I was working on this last week, where is the most current version? Current tools turn people into filing clerks. Receiving an attachment, saving it to your desktop — your staging area — and then moving it into the correct folder is a common operation. But then, three days later: where did I put that? And: oh shit, she sent me a new version. Now what do I do? Keep both? How do I diff PowerPoint files?
Our traditional file management, email, publishing and office tools have not kept pace with people’s increasingly heavy use of computers to interact and work together.
We need dynamic, flexible desktop facilities that map to the way people actually work together. Information control and information sharing mechanisms need to be in the hands of users, not IT departments.
I also believe strongly that the open source desktop needs to innovate to succeed; being somewhat crappier and somewhat cheaper than Windows is not enough, despite our intrinsic advantage of freedom. Innovation is expensive, and, sadly, practical software research is primarily happening in IP-encumbered ways. Spend some time browsing research.microsoft.com. We probably cannot afford to beat Microsoft to high-quality voice recognition and natural language user interface advances.
But there are cheap and clever ways to vastly improve the experience of collaboration and information management in the desktop, and we can beat Longhorn to the punch. I’ve been telling everyone about Kubi, a clever hack that creates a dynamic collaboration space using email as a transport. This is infinitely more adoptable than Groove, and it really cuts directly to the issues: teams form organically, people work on data together.
Some of my recent efforts, like Dashboard, the GNOME bounty hunt and the Evolution/EDS split are all about getting us moving in this direction. But this is really just a beginning; just a toe in the water, and hopefully a way of helping to get people thinking along these lines.
Which they are doing anyway! Talking about innovation in an open source community can be kind of scary, because you open the door for all the lunatics with their whack-ass “visionary” ideas (anyone remember beacons?). But I’m really excited to see things like Curtis Hovey working on Medusa, Christian Hammond’s Galago presence widget project, and so on.
What do we need? What are other people doing? Microsoft has finally published all of the slides and videos from their most recent Professional Developer’s Conference in Los Angeles, though you need Windows to view them. I highly recommend that everyone get a hold of these powerpoint files and the demos and spend some time digesting them.
Here’s some crack-for-thought:
- Universal event bus. D-BUS is fast becoming the transport of choice, and thanks to Robert Love’s work in Project Utopia, we are getting system messages shooting down this thing. But we need the entire desktop sending out events: when the user gets new mail, when an alarm goes off, when the screensaver goes on or off, when the user’s machine goes online or offline, when a buddy goes online or offline.
- Event manager. This is a pluggable system for responding to events and turning events into persistent properties. So, when you get online/offline notifications because the user plugged in or unplugged his ethernet cable, you can toggle an ambient ‘online’ bit. Applications and users can plug in rules that are triggered by a combination of incoming events and ambient properties: if the screensaver is on and an appointment reminder fires, I am away from my desk, so send me an SMS. This is a bad example, but you get the idea. Check out Microsoft’s Information Agent for some inspiration (and some things to avoid).
- Universal metadata mechanism. When I save an attachment to my filesystem, I need to keep around information about who sent it to me. Applications and users need easy access to this information, and to query tools.
- Indexing and search. We need a flexible indexing service built into the desktop. We need automatic indexing of files, but applications also need a way to request that non-file objects get indexed.
Microsoft’s WinFS is like a loopback-mounted filesystem built on NTFS; when an application writes to the disk, the kernel can trigger userspace code to be called. So when a Word document gets written into the WinFS, the userspace indexer gets executed and indexes it. The metadata — like author and subject — are extracted from the document and stored into WinFS’s metadata database.
We also need ubiquitous and simple search in the desktop, across the user’s entire personal information space (a term we used a lot in the dashboard). Check out Panther: there’s a search widget in the file manager, and it searches as you type.
- Team space browser. We need a way of visualizing a team’s space. Who’s working on this “project”? Are they online or not? What documents, mail threads, appointments, bookmarks, weblogs and other resources are associated with it? I want to call an online meeting, where’s my shared whiteboard?
- Dashboard. Why can’t my computer automatically show me things that will help me with what I’m doing, instead of making me search around for them? We got here first, but Microsoft calls this “implicit query.”
By some fluke of capitalism, I now control enough resources to help make this happen. And together we have a chance to create the most powerful and smoothest collaboration experience ever, and to make it free.
And that’s what this is all about: empowering people through software.
Posted on 28 January 2004
- Leave a comment
- Subscribe with Google Reader
- Follow me on Twitter

No comments