firefox workspaces
This afternoon I had a short conversation with Deb about the idea of "Firefox workspaces". Her idea, from a while back, was that it was a series of Firefox sessions that could be saved and easily swapped. So, for example, you might have a "home" workspace, and a "newsletter" workspace, and a "home renovations" workspace with related google notebooks, bookmarks, etc. and you could hot swap between them.
This is close to what I want and sort of what I do today with multiple browser windows. I have three browser windows open most of the time. One is for pages and web apps that I regularly use for work stuff. I keep this window open and front-most most of the time. The second window is for "play" where I rotate between a bookmark group of tech blogs, political blogs, and a few news aggregation pages. This window usually sits in the background except when I'm taking a break from work. Finally I have a third window that I think of as "temp", for random and transient stuff. I don't have a set of bookmarks associated with that window. It's for when someone pastes a link on IRC or I want to surf to a link from email or my feed reader that's not strictly work-related.
These three "workspaces" mostly work to keep things separated and help me manage my workday. I have one major usability problem, though. If I forget to give my "temp" workspace the last focus before moving to IRC, email, or my feed reader, then I'll end up firing links off in one of my two more specifically dedicated windows.
What I'd really like is to specify that link clicks originating in different applications, or more precisely, different accounts or channels in those applications, always open in a specific browser window. When I'm in my Thunderbird work email account, and certain IRC channels, it'd like links to open in my "work" workspace. When I'm reading personal email, or a couple some other IRC chats, or in my feed reader, I'd like to be able to send those links to the "temp" workspace.
I might be able to use Prism or multiple browser profiles to get the granularity I want at the app level, that is, associating links in Thunderbird with one browser/profile, links in mIRC with another, etc. But I can't see how I'd be able to differentiate at the account/channel granularity within an app like Thunderbird or mIRC.
Anyone have any suggestions? How do you use Firefox "workspaces"? What would make things work better for you?
reactions, thoughts, comments, etc.
:-/, I'm sure I've heard of other applications attempt this sort of thing and it never end well...
Firefox has always been about simplicity, I think I could quote you Asa in this very blog saying something to the effect of you'd rather see features removed rather than added to keep Firefox simple. The implementation of something like this would have to be no less extraordinary to make it feel comfortable and easy to use.
The idea as a dream sounds quite good, but where and how about would it be implemented? I could see it quickly cluttering up the UI or being dumped in ridiculously complicated option menus.
Posted by: Damian | January 2, 2008 5:50 PM
I thought 'workspaces' are supposed to be an OS-level feature instead of a browser?
Posted by: Lim Chee Aun | January 2, 2008 6:08 PM
I thought 'workspaces' are supposed to be an OS-level feature instead of a browser?
Posted by: Lim Chee Aun | January 2, 2008 6:10 PM
Damian, if it cannot be implemented in a simple and unobtrusive (to those who don't use it) way, then I wouldn't want it incorporated into Firefox. We have an entire universe of add-ons that serve just such a value to the Mozilla community. Because I suggest a feature or ask for feedback on a half-baked idea doesn't mean I'm advocating putting that half-baked idea into Firefox.
Cheeaun, I really don't use OS features beyond launching my browser and messaging applications. I live inside of my browser and messaging applications and so I'd like them to be a bit smarter than they are today.
- A
Posted by: Asa Dotzler | January 2, 2008 6:26 PM
I think most people don't need this level of granularity. I consider myself an advanced Firefox user and yet I can manage with a single window. I keep my "permanent" tabs on the left and my tabs on the right tend to be the ones changing constantly. Of course, different people use Firefox in different ways.
This kinda sounds like an extension, except that the application integration you mention makes it probably too complicated for that. I think a good solution for this problem would be to have a profile for each workspace and a script that dispatches links to the appropriate profile. The script would be your default link manager and it picks the target Firefox profile depending on the origin application.
The problem is that the script would be OS-specific, and the solution is very advanced (as in geeky). But then again, as I said before, it's probably something only advanced users need.
Posted by: Jorge | January 2, 2008 6:38 PM
Well, right now, you can use some carefully set up shortcuts to start separate profiles with MOZ_NO_REMOTE=1 to create multiple (simultaneous) workspaces. I imagine an extension could rather simply help smooth this out, and probably also give you some sort of indication (alter the in-the-titlebar "Mozilla Firefox" tag?) as to which workspace "this" window is. And, you can turn on session save/restore by default rather than just crashes, yes?
The whole knowing where the link came from thing is probably impossible; how do we know which email account the link was in, or which IRC channel? That would probably require integration from every different link source. (I could see extending open source programs like Thunderbird and Pidgin and what not, but this is a big task!)
Posted by: Anthony Lieuallen | January 2, 2008 7:28 PM
You can sort of do it today by running different applications under different users, so pidgin would open link in the firefox instance for the pidgin user and thunderbird would open link in thunderbird user. As a plus, you get some security isolations.
Posted by: Ka-Hing Cheung | January 2, 2008 8:01 PM
I've been thinking of this for a long while....
I primarily tend to have between 4 and 10 _windows_ open, each with varying numbers of tabs; IRC/E-mail tab-openings clutter my work flow, and I do sometimes find myself trying to re-organize myself every few days.
An idea I came up with, moments before reading your post, was if there could be an extension that would "defer" external URL loads... (but "do" focus firefox, depending on prefs)... The extension could defer it to a button, with a fade-in blinking to draw-gradual attention to the button...
You'd then select your window, and either click the button for "last" load, or open it as a drop down to start selectively loading these externally added urls to a new tab.
Another thing that would make my life alot easier in this regard is "drag-and-drop of tabs between windows" which, last I heard, had some severe limitations though.
Posted by: Callek | January 2, 2008 9:19 PM
Hey Asa,
I'm right there with you in the way I use my browser today.
Well, I do not have this kind of strict rules of topics as you do, but I do goup my tabs into windows of a same "theme".
The usability thing you mentioned has hit me just as well and I have more than once wished that I could either drag tabs from one browser window to another, or even better - detach them to their own window.
Alternatively it would be nice to have a "dedicated" window to become a default browser target for all 3rd party invocations. The way I see this should work ould be:
* First 3rd party invocation (e.g. clicking on a link in a messenger or IRC client) opens a page in a new window.
* All subsequent pages from 3rd party applications open up a new tab in the same window.
* You could mark a window to become such a target explicitly or reset a target, causing next 3rd party application invocation to open a page in a new window.
Still - DnD of tabs between browser windows and detaching the tab to its own window (also with DnD) would still be useful organizing tool.
Posted by: Roland | January 3, 2008 1:20 AM
This idea sounds a lot like Opera's implementation of sessions.
Posted by: Lachlan Hunt | January 3, 2008 3:14 AM
Weave should incorporate this ability to separate online usage into workspaces when it is beyond teething.
I'd love Weave if not for the 'workspaces' issue. Sometimes I really want to be able to keep my work existence completely separated from my home existence.
However at the same time, sometimes I see something when browsing at home that I know would be useful for work. Or at work I remember something I was looking over at on the weekend but can't remember the address or details. In such this cases, it would be really great to have the ability to search all my Weave workspaces no matter what workspace I'm currently located in and turned on to. This could be easily achieved with a simple checkbox in any future Weave search UI.
Posted by: pd | January 3, 2008 6:31 AM
Why don't you just drag the tabs into one of the other windows (by the way: I think the dragging-around feature would work better, if the original tab actually closed after you successfully placed its copy in a new window).
@Roland: Yes, you can. Just try it out, at least on Windows it works fine.
Maybe it's because I don't use my browser professionally, but I use it differently from most of you: I tend to open about 15 or 20 tabs in one window and will then either just close the first five ones, because I don't need them anymore or open another window that I open at maximum five tabs in. After finishing the session I usually close all but one or two tabs in the primary window.
Maybe I'm just too conservative in that always log out of web apps when I don't need them anymore and don't even use many in general.
Posted by: Aaron Strontsman | January 3, 2008 8:59 AM
I first thought of Opera's "sessions" as well.
Posted by: Eddie | January 3, 2008 9:42 AM
This means that I should have some specific task that is done through the browser, solely. I just can't think of one. Actually, it is even hard for me to think who would need it.
Posted by: Ivan Ičin | January 3, 2008 9:50 AM
I'd be happy if there was an easier way to move (not copy) tabs between windows. Drag and drop would be OK if, as Aaron Strontsman noted above, the tab would close in the original window when it's been moved to the target window. An alternative would be a right-click menu option when you click on a tab that you want to move: e.g., something like "Move tab to...", followed by a list of available target windows.
Posted by: t_joe | January 3, 2008 5:27 PM
There have been plenty of situations where i've wanted to isolate certain browsing behavior from my general usage.
I would love to be able to open a temporary window that has no bookmarks (unless i drag one from my main window) no cookies, no history, no javascript, no plugins, no extensions. have urls from other apps open up there first, if they are something that i want to continue reading, or maybe even bookmark, press a button to send it to my real browser window.
A combonation of private browsing, and a security layer for suspicious urls, perhaps even another one for different proxy settings for use with tor or similar programs for true anonymous browsing would make a great extension.
Posted by: TychoQuad | January 3, 2008 8:09 PM
I'd like browser workspaces to work like a simple form of user switching. I don't want to switch OS users to just quickly check my gmail/gcalendar/facebook/etc. instead of my wife's. Or just one person who uses multiple accounts at any site. Really it's just changing the browser profile quickly and easily that would be nice. To me it doesn't need to be a user privacy feature, but more of a convenience feature. If I wanted to keep profiles separated by password, I'd use the OS user switching features.
Other features like moving a session of open pages to a different profile would be slick additions.
Posted by: Gre | January 4, 2008 12:25 PM
Personally, I would prefer something like "tab folders" or "tab groups" within one browser window rather than three separate windows. Clicking the tab folder would open/close a set of tabs. This feature could even be interconnected with bookmarks, i.e. a bookmark folder would open into a separate tab folder. All tabs would be drag-and-droppable, a new link would open separately so that the user could move it wherever he wanted. Add some customisation options and you are done.
BTW, I believe that tabs are the single most useful invention computer ergonomy since the invention of mouse. I wonder why there are no text editors that incorporate this feature.
Posted by: Magumi | January 5, 2008 11:22 AM
* Asa wrote: "Cheeaun, I really don't use OS features beyond launching my browser and messaging applications. I live inside of my browser and messaging applications and so I'd like them to be a bit smarter than they are today."
I can understand your reasoning from Firefox' point of view. Firefox wants to provide its ease of use accross a wide range of different platforms. Some of these platforms use window managers that are not as well designed as others. On the other hand, people who already use a window manager that makes it easy to use spaces, tabs, window grouping, session saving, etc..., having every individual program (such as firefox) to provide an alternative that is somewhat different, is not good. Firefox should be focused on making you conquer the web, not on organising your desktop.
* Magumi wrote: "BTW, I believe that tabs are the single most useful invention computer ergonomy since the invention of mouse. I wonder why there are no text editors that incorporate this feature."
What about Gedit? It has tabs, which you can rearrange by drag-and-drop, even accross different windows. You can also detach a tab into a new window, by dragging it outside the initial window etc...
Posted by: Michaël | January 6, 2008 4:17 AM
Workspaces is coming from Omniweb browser for OS X.
Give credit to where it is due one time in your life.
Posted by: Ilgaz | January 6, 2008 4:39 AM
I've been thinking about something along these lines for quite a while. If nobody else gets around to writing such an extension then we probably will, mainly because I desperately want it (Well, the flavor of "it" that I'm thinking around anyway, which is a bit more elaborate) for my own purposes, and I think it'd be quite popular for the type of knowledge worker who more or less lives inside Firefox, and they're becoming more common.
Posted by: Seth Wagoner | January 7, 2008 12:38 AM
@Ilgaz: Is Asa really supposed to pay attention to every browser on the planet just so that he can avoid suggesting something for Firefox that has already been done somewhere else? It's hard enough to keep track of firefox extensions let alone every other browser under the sun and *their* extensions....
Besides, is Omniweb doing exactly what asa wants? As in a seperate window that is always used to recieve links from other applications? Just because it's called "Workspaces" hardly means it's the same thing.
Having re-read the post I suspect that my own vision of Workspaces might not deliver exactly what Asa wants, but we could probably throw in an extra feature that achieved that (targeting a specific window/workspace for links from outside FF), if it doesn't turn out to be really hard (because say, the information about the opening app isn't present in XUL).
Posted by: Seth Wagoner | January 7, 2008 12:59 AM
Asa, I think this is already possible today through a combination of using the "-no-remote" command line option, and multiple profiles.
For example, at work I'm always running two instances of Firefox, one running a profile with development-related extensions and work-related bookmarks, and the other running personal-use extensions and my personal set of bookmarks.
I agree though, this mechanism could use a UI hook and some thought behind the user experience of opening links with multiple browser instances/workspaces available.
Posted by: Sohail Mirza | January 9, 2008 8:18 AM