[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

::scr Document Centric Interfaces



This is an idea that I've been kicking around for many a year now. 

Currently interfaces are application centric - you fire up word or emacs or
photoshop and you do something to a file in them then you save them and maybe
send them off using your email client.

Wouldn't it be better to work on a document using tools instead. Like you do
in real life - you get a peice of paper and then you write stuff with a biro.
To draw a diagram you take out your ruler and compass and draw the diagram.
Then you fold it up and stick it in an envelope and send it somewhere.

You use the same pen whether you're writing a letter or making notes. You use
the same pencil whether you're sketching cartoons or drawing a map.

Having large, monolithic apps is stupid. Interface consistency is difficult to
achieve (unless you enforce interface guidelines), you have little choice (you
may like word but hate its spell checker and there's nothing you can do about
it), updates are not granular enough (you have to wait for a whole new Office
suite to come out just to get an upgrade in the spell checker) and are
expensive ("300 quid, just to upgrade a spell checker! I don't care that it
can write text in a spiral, I don't need that to send fricking faxes").

Wouldn't it be much better to click on a document and it just appears in the
middle of the screen - you edit text and the Text tool kit appears - this is a
seperate app and is just acting on the canvas whose APIs are open to it. You
want to insert  a table so you fire up the table app - you happen to liek the
one from Foo Corp but your friend happens to like the one from Bar Ltd. That's
fine and it jsut means that some stuff is easier for him to do than for you
and vice versa. In fact, if you need to do some stuff that it's good at you
just load that up. But the apps work on the document, the document is not
loaded into the app. 

Scripting becomes easy since the API is open - you can use whatever langauge
you like. *EVERYTHING* is scriptable by Perl. Or Python. Or Lisp. Or a
combination of all three. 

You want to send an email then it's the same text editor saving to a different
output filter. You have the same spell checker and scripting abilities that
you had int he word processor - your folders are just being viewed by a
different folder viewer than the one you normally use. In fact, as far as
you're concerned, you don't care if it's stored in MBox format, maildir or in
a database. Email applications don't really exist any more - it's just another
organisation of your text editor, your folder viewer, your address book and
your spell checker plus maybe a third party app with some Email specific
helper tools.

Various other OSs have tried to do this - command line *nix sort of does the
same thing with pipes and streams but that can only really act on text, only
works on a pipe line and can't have human input.

Openbook and OLE are similar-ish but really don't go far enough - plus they're
*still* application centric not document centric.

Answers, suggestions and comments on a post card to the usual address.


-- 
: nature notes for the apocalypse