When it comes to designing user interfaces, I think the main industry players have lost the plot... again. Back when computers were quite raw, and had exclusively hobbyist and enthusiast ownership, we were very accustomed to using 'tools': inserting a disk or ROM for the operating system, loading up an application (or loading a language, then a program, and typing RUN), then inserting another disk to find the object that you're working on.
Then came stories of object orientation from HCI (human-computer interaction) theses and R&D companies, and promises that we'd be working with nouns, rather than verbs when we used our computers, i.e. "This is a book and I want to work on it!", rather than "This is a word processor, and I'll use it to edit my book!". Since then, object-orientation has slowly encroached into developers' mindsets, and into their tools. It has even made its way into desktop environments for ordinary users, a widespread example being OLE, a brave attempt to have people work with objects, without having to think too much about the tools that are needed to use them.
But I think we've lost the plot. We're still thinking on the small scale, where nouns dominate. I can't help thinking that we could work more comfortably, with the larger-scale verbs and nouns: not just the 'book document' and its editing application, for example, but the filing, the resource-gathering, the creative process itself, and the final presentation. I want to work in terms of projects.
I'd like an environment where I can start a session by thinking "I'm going to work on this project", and the environment would present the objects, tools, and data files that I need. If I need to switch quickly to something else, like I often do when working, I'd like to sweep everything to one side, and bring out another set of objects and tools. I feel we're not quite there with this 'modal' way of working. Instead, our computing sessions have all our toys out of the cupboard, all the time, and it's quite a mess. Even though we try to put our toys in the right cupboard, and into self-contained boxes, we're forever wading through the clutter, and some of us lose our things, and don't put our toys back where they should go!
My question now is, "Can we achieve project spaces simply?", but my initial thoughts answer this question with a resounding "No!", because we'd need to sweep aside elements that are currently at the centre of our user experience, and write some new ones, starting at a low level. Explorer or Finder, for example, are fine for moving files around, and finding the appropriate tool to edit a file with, but they don't help much with 'project spaces'. We need a revolution in managing user sessions, so that resources are brought to us as needed, and stowed away again when we're done. As I see it, we need the following components:
- A seemingly simple GUI interface, which manages project sessions, in 'project spaces'. These spaces expose your documents, likely tools, and referenced resources, and manage the delivery of finished works.
- In the background: archive management, and version control, so that our objects can be accessed as needed by a higher-level interface, stowed away safely, and shared as required. The low-level (conventional) foreground exposure of this functionality would be a file manager, like Explorer, and an FTP client, for example.