In search of stream-based desktop metaphors

I just ran across an excellent article comparing two competing desktop worldviews, documents and streams. The author argues that everything in our desktop environments is set up to support a document-based metaphor, when actually what is more relevant to the majority of our work these days is streams. He makes a very persuasive argument:

The prevailing UI paradigm today is built around the notion of document authoring. It expects that the main thing you do is create spreadsheets, word documents, presentations, and so on. There is a task bar to remind you of what documents you’re editing, there is cross-application cut and paste so you can put pieces of one document into another. You can place documents on your desktop surface itself, so you can organize your work. You can define which applications to use for which types of docs. You can set up a default printer to put your documents to hard copy. You can set up system-wide fonts to use in documents. You can put icons to apps and even documents onto your panel. And on and on. […]

Really, what I mostly do today is stream management. And I suspect this is true for the vast majority of people. I don’t deal with writing documents, but with changes to documents. I put comments onto things. I slap patches onto things. I tweak the states of things. Once in a rare while I may author a completely new thingee, but even there I usually end up working with it as a stream of changes that I build up over time (and usually in collaboration with a few other people who stream changes to me).

I’m sold.

The problem is, our virtual desktops (and pretty much all OSes fail equally at this) do not support stream-centric interfaces to data. I can create discrete files just fine, even organize them into nice little directories, but what about my precious streams? I’m talking about my constantly updating server logs, the weather, stocks quotes, news, emails, instant messages, IRC messages, downloads, and more. Everything is handled separately and discordantly.

I can use an ugly hackish little program that outputs system log tails directly to my desktop. I have a Firefox plugin that tells me the current weather and a couple days’ forecasts. My investing service offers a streaming stock quote desktop application, but it only runs on Windows. Mozilla Thunderbird and Azureus pop up email notices and download completion notices, respectively. Instant messages are handled by Pidgin while incoming IRC messages are handled by X-Chat, both of which blink in my taskbar. As for the news — I can use a KDE plugin called Knewsticker that snarfs up RSS feeds. And I haven’t yet found a good way to track, say, SVN commits to the pyWikipediaBot project, so I’m stuck with getting a new email on every commit. Brilliant.

Notice the problem here? I’m having to use a whole abundance of disparate programs just to keep track of my streams. Shouldn’t it be a more cohesive experience? Why can’t streams have the same integrated desktop functionality as documents do? All I’m asking for is a desktop that facilitates a master view of all of my streams. Instead of a task bar keeping track of all of my open documents, I want to see something that tracks all of the latest activity on my streams. Give it a standard API so all programs can easily use it, just like the document-based metaphor is incredibly well supported for programs, what with the standard libraries used for loading and saving files, creating tabs in windows so you can cram in even more open documents at once, etc.

I look forward to the day when I can keep my eye on a single screen and keep track of everything that I care about without having to constantly open up and refresh windows. Hopefully that day is coming soon, because these document-centric desktops just aren’t cutting it anymore.

11 Responses to “In search of stream-based desktop metaphors”

  1. drinian Says:

    What, like RSS?

  2. William (green) Says:

    RSS is still a document. He’s not looking for a file type, but a metaphor.
    The “windows” on a computer are another example of a metaphor when used in reference to computers. “Desktop” is another.

  3. Cyde Weys Says:

    drinian: We’re not talking about just web streams, but all streams. Most of the streams you run across from a desktop perspective aren’t web-based. RSS as a technology doesn’t make sense for most of the streams I deal with — like, say, a steadily incoming instant message conversation.

  4. Kelly Martin Says:

    So what you really want is some sort of event aggregator? The problem is that different streams have different “chunkiness”, ranging from high-priority low-frequency events (NWS weather alerts), to low-priority high-frequency events (IRC public channel traffic) to continuous activity (audio and video streams, system instrumentation monitors, etc). It’s hard to come up with a paradigm that suits all of these well. I daresay that you want your computer to be more aggressive at alerting you to, say, a fire in the server room, than you would for some random idiot talking on that IRC channel that you aren’t that interested in anyway.

  5. Cyde Weys Says:

    Absolutely, there would be configurable priority levels and such. And I don’t see any reason why it can’t be done well. People haven’t even been trying that hard because we’re locked into the current metaphor so tightly.

  6. Kelly Martin Says:

    Write the desktop alerter, publish an API for it, and convince people to use it. End of problem.

  7. Kelly Martin Says:

    Also, I’d say that we already have systems like this. They’re called “operational monitors” and are all over the place in systems and network administration. Mainly use SNMP. Just never been scaled down to the desktop.

  8. drinian Says:

    Yes, generic desktop alerters like this already exist. I’m still not sure what the problem is that you’re trying to solve. I certainly work with documents quite a bit; I don’t need my desktop to look like Guitar Hero.

    And as many studies and personal experience confirm, multitasking is increasingly detrimental to getting work done.

  9. Cyde Weys Says:

    Oh my God, a desktop looking like Guitar Hero would be the awesomest thing ever.

  10. drinian Says:

    For some reason I’m reminded of Doom as a tool for system administration….

  11. Cyde Weys Says:

    “Important processes can be instantiated as more powerful monsters. They can then defend themselves against inexperienced sysadmins.”

    Hehehehe. I’ve seen that Doom system administration game before, but it never gets old.