The recent GNOME 3 hackfest in the UK got me thinking of my ideal desktop design – task oriented and controlling interrrupts
Here would be my vision of this:
- Have separate desktops for each task (open documents, web pages, chat sessions, e-mails, contacts, bookmarks, browser/search history, …) and that persists across login sessions (under a name) and ideally across machines (web sync like Mozilla Weave)
- When I start a task I might want to start with the desktop of another task (snapshot) or a blank slate
- Have a system to do fast task switching (like the multi screen desktops, but not limited to the number of those) and also a system that notifies me of activities that belong to other tasks (like chat responses, mail replies, etc.) Ideally filtered by a priority/importance level of the task intruding (or filter by the planned work – stuff relevant to tasks that I have planned to work on today or tomorrow –> scheduling)
- Make task contexts such as personal/work/hobby/moonlighting (or even sub contexts like projects) and allow me to switch between those and filter notifications with different filters for disruptions in those. For example notify me of the important private reply at work, but not of the important reply on hobby. But while in hobby notify me of anything that is important.
- Allow to set availability levels for IM with switching contexts (tasks with different priorities and task contexts) automatically. Sometimes even separate profiles.
- Allow the kind of scheduling that is indicated with the Task popper and within the time buckets a simple order/ranking to make a plan
- Give me desktop search with clear priority for task local results over global results.
- All tasks are archived, the waste basked is only task specific. May be have a Shredder to really delete things across tasks?
In simple terms give me a desktop per task (where I can have the relevant documents, contacts, e-mails, etc. just persistent around, even if they may be shared across tasks) that I can switch between easily and a virtual room that I can control what communication comes through the walls to intrude with the tasks that I’m at.
And I don’t start talking about sharing resources/documents across users for collaboration. That would be the ultimate virtual room/desktop, although who loves someone else rearranging one’s desktop, so I probably wanted my private view 😉