Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
User Journal

Journal heironymouscoward's Journal: Clutter Developments 5

On Sept.12 2003 I discussed a new kind of user interface that I wanted to build. Well, we have started on a prototype and it's quite nice. My goal with documenting this as we go along is to get feedback (obviously) but also to make very certain that there is prior art in case someone decides to patent the concepts.

I'll just have to describe it verbally for now, screenshots and a test version will be along when we're ready.

The UI is the simulation of a real workspace, a desk top, and I supposed you could say its logo is "A tidy desk is a sign of a sick mind."

The concept, which we're calling "Clutter" for want of a better word, is simple and yet general. First, the desktop is just a large space with random icons, which we call "motes". A mote is represents a link to some resource: a document, a directory, a web site, a BitTorrent link, whatever. Anything you can drag and drop can become a mote.

Initially, motes look like normal icons on your desktop: they have an icon, a small text label, and they position themselves so that they don't overlap. If you drop a new mote down onto a space filled with existing motes, they will rearrange themselves to make space.

Here is the first innovation: as you add new motes, older unused motes shrink in size. This happens progressively so that as motes go from 'hot' to 'warm' and then 'cool' and 'cold', they shrink from full-sized icons to half-sized icons, and finally, simply little dots. The text label disappears when the mote is no longer 'hot'.

Motes use color to signal different states. This will become more useful and necessary as the intelligence of each mote increases.

As motes shrink, they also demand less space around themselves. So a bunch of motes that are ignored for a while will collapse into a dense cluster of dots. This happens over days and weeks, and the desktop ends-up looking more like a simulation of some articifial lifeform than an organization of a desktop.

You might think that a bunch of unlabelled motes is just clutter, and perhaps it is, but we've found that it's easy to remember what things are by their relative position on the screen.

The mouse acts as a kind of magic wand. Waving it over motes causes the motes to highlight, and the text label to appear. After a small pause, which decreases as the desktop gets fuller, a preview (of the document, web page, whatever) pops up. A click opens the document for viewing, a double-click activates the mote and brings it back to 'hot' status.

Motes can themselves be desktops. It's easy to create a new embedded desktop by collecting a bunch of motes. By embedding desktops recursively, we get an infinite space to play with, and an easy zoom-in, zoom-out capability that can be used to simulate a classic hierarchical filing structure, multiple desktops, etc.

Desktops are defined as a large set of XML files that can be manipulated by external programs. Since motes can be executable programs, this is convenient. For instance, I am making a mote program (perhaps the word 'agent' is appropriate) that checks my email, scans against a whitelist, and drops all priority messages onto my email desktop.

There is a search function that highlights all motes that match. Simply and instantaneous.

The second innovation is this: motes can be scripted to do useful things. This aspect still has to be designed and tried, but my proposal is as follows. Motes are implemented as XML objects. All motes have data that is standard and used by Clutter. Then, motes can have their own data, which is application dependent. An email mote, for instance, has address information, list of attachments, and so on.

Motes are always based on a mote class, itself implemented as an XML file. The mote class provides the scripting, which is based around a workflow model that I will explain when we get there. The goal here is to make it possible to build the logic for (e.g.) email handling into the mote class, and have this interpreted by the desktop.

We have more ideas for v2, but this is already a lot to be starting with. Clutter will evolve slowly as we use it, the ultimate goal is to use it as the basis for a new kind of workflow-based application interface in which a single screen unifies everything you are working on, from personal projects and family photo albums to web sites, incoming emails, requests from clients, etc.

Comments welcome.

This discussion has been archived. No new comments can be posted.

Clutter Developments

Comments Filter:
  • I think that a UI like that will be actively working against the user, rather than with the user. It's why I don't like icons, in general--there is no sense of relationship between groups of icons.

    Anyway, back to work for me.
    • What kind of relationships are you thinking of?

      Items related by project, by category...?
      • Both, I should say. Perhaps with project relationships with a "hard" relationship representation, and categorical relationships with a "soft" (dotted or other tenuous) relationship representation? Or vice-versa, based on user choice?

        That way, when as "motes" go cold they pull their neighboring nodes into a small pocket like a folder representation. Maybe I'm off though...
        • This is my vision of things:

          Each project will have its own desktop. The layout of motes on the desktop will be meaningful to the user: motes can be pushed into groups as wanted. Neighbouring motes attract each other, so as a group ages, it will collapse into a small cluster of dots. The group will have some meaning to the user.

          The user can circle these, selecting them, perhaps with a mouse gesture. Then, double-click and they are popped into a new desktop which is represented on the current one as a s
          • The only problem here is that most users do not use multiple desktops. I do only occassionally, as I find multiple desktops hinders my use of the system more than it helps to organise it, at least in my opinion.

"If that makes any sense to you, you have a big problem." -- C. Durance, Computer Science 234

Working...