Wednesday, December 07, 2005

A project-based desktop environment

In graduate school I used unix, and one of the things I loved about it was the virtual desktop concept.

If you know what virtual desktops are, you can skip this paragraph. A virtual desktop system offers a grid of screens. Your computer is focused on one at a time, depending on which one is selected. You can selected it by clicking on the desktop icon or sometimes by cntrl-arrow or something. Each desktop has some number of windows in some arrangement, and each time you return to the desktop, those windows are in place.

When I arrived at Queen's I started using windows and missed very much the virtual desktop, and this is why: I always have many many windows open, each associated with a different project. Often there would be so many windows on the taskbar that I couldn't tell what they were for by looking at them. To get to the window I was looking for I would have to use alt-tab, which is annoying because you pass through in one direction and you have to select the window to see what it's for. That's a lot of sequential reading.

I realized that with a few exceptions (email, music players) each window is associated with a project. So, for example, I have a project of burning my mp3s to CD ROM s. For this I have a cd burning software window and an explorer window with my music. When I burn a cd, I use this window to move burned music to it's own directory so I know not to burn it twice. Without virtual desktops, to work on this project I'd need to raise these two windows, after a search for them, and minimize the others so they are not distracting and for aesthetic reasons. For a multitasker like me, this is unacceptable.

The function of virtual desktops (for me, anyway) is to separate projects. Now I have installed vern, and I have a desktop for each project. I go to the right desktop, and what I need for the project are there.

A couple of gripes about using vern on windows: First, the taskbar still has all windows from all desktops. And second, when I select a window from the taskbar, sometimes it brings me to that window on the right desktop, but sometimes it brings up that window in the current desktop. I haven't taken time to investigate, but from casual use it appears unpredictable.

MacOS does not have virtual desktops either, which I find kind of baffling. Are my projects idiosyncratic in the way each one uses multiple applications and windows?

In conclusion, I suggest that OS desktop interface designers think in terms of project organization. Virtual desktops are a first step, but windows and mac have yet to take even that.

Postscript: My points are made above. The following is just to show how unweildy all my windows can be; it's a case study of my current desktop: I have six virtual desktops...

One has the palm pilot desktop software I'm typing this into, my mozilla browser, trillian (my instant messenger), and one instant messenger conversation. Thank goodness Trillian puts all conversations as tabs in one window. I love Mozilla because it has tabs for different webpages in a single window. The downside is that sometimes I want to go to another tab, but since I'm thinking of it as another window, I use alt-tab to try, unsuccessfully, to get to it. As far as I know there's not keyboard shortcut for navigating between mozilla tabs.

Another desktop has an exporer window open to songs, and windows media player, currently playing the instrumental version of Terror Squad's "Lean Back."

Another desktop has the window to an external hard drive with one of VisionQuest's plays on it, digitized. I need to edit this down to a managable size, so soon the movie editor will be on this desktop too.

Another music desktop has music information about the Beatnuts. There was a launchcast Internet radio player on there, but it crashed.

Finally I have up a word document I was making a pdf of for someone who wanted a copy of the paper. Behind it is an explorer window with the files related to the paper on it.

Two desktops are empty.

Finally we have one desktop with a unix emulator on it. This is where it gets interesting, because the emulator itself has a virtual desktop too, all four of which are being used:

The first Unix desktop is called "jobs." Yes, in unix you can name your virtual desktops, which is great. In "Jobs" I have an emacs open with all the places I want to apply. The emacs window is broken into two planes so I can read about my notes on the places while I'm looking at the list. Also there's a mozilla there for job searching and online applications and emailing applications. Yet another emacs window has my cover letter in it, where I make cover letters customized for each place I'm applying. An xterm is there so I can latex the coverletters.

Bored yet?

The second unix desktop is called "Compint" where I'm editing my recent Computational Intelligence accepted paper. In that I have the emacs window with the paper in it, and an xterm for using latex. I will probably bring up another emacs for the bibtex file.

The third unix desktop is called "Gaia" and contains only a window with an ssh connection to my Georgia Tech account, where I keep my webpages, which I'm constantly updating.

The last unix window (I wish there were more than four) is called "bigpaper" and it's another paper I'm working on. Emacs and xterm for the latex.

So much for all that. Now, I've had to restart my computer today. Often it's even more complicated than this. Lately I often have a programming desktop, and a desktop for working on my Cognitive Science paper. That would fill all six desktops.

It takes a long time to get all these windows in place, but I like to work for an hour on one thing, than an hour on another, and switch between them when I like. One of the reasons I've never wanted a laptop is because this state is not preserved. In other words, when you reboot, which happens all the time with a laptop, you have to reconstruct where you were and what you were doing and bring up all the windows. I love coming in every morning and having each desktop there, ready for me to start work.

1 comment:

Anonymous said...

Hi Jim,

Try:

Keyboard Shortcuts

While it's easy to select tabs with a mouse, you can also cycle through tabs using the keyboard: use Ctrl+PageUp (or Ctrl+Tab) and Ctrl+PageDown (or Ctrl+Shift+Tab). You can also select the first tab by pressing CtrlCmdAltOpt+1, and so on up to the 9th tab with CtrlCmdAltOpt+9.

These are the directions for Firefox at least.

:) beth