Open Source Applications Foundation

[Design] Interfaces

Hamish Harvey Fri, 26 Sep 2003 18:17:36 +0100


Interesting looking stuff in 0.2.

I just had a read through the CPIO overview (http://tinyurl.com/orvn), which 
contains some novel ideas. The level of configurability proposed is 
important, and being able to build and share parts for it is potentially 
powerful.

I recently looked at Haystack as well, and there are two aspects of the 
Haystack interface which deserve serious consideration. One is _essential_, 
and should be easy: _wherever_, for example, reference is made to a 
particular entity (obvious example: a person), the same context menu should 
be available. Haystack builds context menus from the hierarchy of components 
where you click; if you click on the senders name in an email (or on the 
senders name in a line of a list of emails) you will get a menu with things 
you can do, first, with that person's details, second, with that email.

The second idea is fascinating and potentially very powerful, namely UI 
continuations. The idea is that when you start a task which requires more 
input, instead of opening a dialog (if I decide to do something else first, 
or need info from within the application, I have to close the dialog and lose 
what I've done already), a continuation is added to a stack (in a side bar in 
Haystack's case). I can then leave it there until I'm ready to finish filling 
it in and apply the operation.

Haystack have a document describing the UI:
http://haystack.lcs.mit.edu/documentation.html

As well as not having to have all the info to hand for a task at once (and 
without access to the rest of the application) this again leads to an 
improved level of UI consistency. Whenever I need to find info about a 
person, I use the same method; I find it in the main application. I can then 
DnD anything I need into the continuation, which sits there in the side of 
the screen all the time.

And so on.

A thought regarding documents and contexts. If, say, I'm looking at an email, 
it might be reasonable to expect a double click on a sender's name to take me 
to that senders record. How would it choose which context, and which 
document, to show that in, from the potentially many available?

Cheers,
Hamish