Like many, my work involves computers, and researching scientific articles is almost completely online now. Ever since Xerox’s Tab Manager that was a drop in replacement for Progman.exe (oh yeah) in Windows 3.1 (was it autoexec.ini that you edit?), I’ve been hooked on tabs. Tabbed browsing could not have appeared fast enough, but it’s now ubiquitous. Similarly in the window-organization world, virtual desktops are something I used in some iteration since the early 90s — in Windows, a virtual desktop was a large number of pixels, and the focus was simply moved around as your monitor showed different parts of one big desktop. In Debian, I think it was a Gnome window manager that enabled N distinct desktop spaces that were all of the monitor’s native resolution but were discrete — you could not see half of two different spaces. However, these were seamless in the sense that you could drag windows between them easily or even have a window appear on all spaces. In Mac OS X, it has taken forever to get a reasonable virtual desktop solution, from the CodeTek Virtual Desktop to Spaces+Hyperspaces+Warp. It’s not without its problems, but that’s beyond the scope of this post.
Instead, I was thinking about my workflow in a browser. I generally keep 1-2 windows open that contain anywhere from 1-10 tabs each. Window 1 is usually reserved for Pubmed/Google Scholar searches for various topics I need to read about. Each tab is a different paper on a specific topic. Window 2 is everything else — email, RSS, news, etc. However, I would love to see a feature in a browser that is based on the idea of projects in the browser. Each project gets its own named window. Window 1 could be “Papers” and Window 2 could be “Other.” But this could be very powerful for me — Window 1 could be “Interlaminar connections of auditory cortex” while Window 3 could be “Pharmacology of auditory thalamus.” The integration in the browser could run deep enough so that I could tell a tab to go to a specific window using a menu, and I could be able to recall any window I wanted very easily, almost in a cmd+tab type interface, using cmd+~. Additionally, I could have an “Open in Tab in Project 1” option on links so that I can easily keep my windows organized in tabs in projects. The possibilities are endless.
The basic idea is simple, I think, but it would take some thoughtful integration to make this useful. Go, forth, Safari/Chrome/Camino/Firefox developers.