Re-dreaming Firefox (1): Firefox Agents

May 29, 2015 § 9 Comments

Gerv’s recent post on the Jeeves Test got me thinking of the Firefox of my dreams. So I decided to write down a few ideas on how I would like to experience the web. Today: Firefox Agents. Let me emphasise that the features described in this blog post do not exist.

Marcel uses Firefox every day, for quite a number of things.

  • He uses Firefox for fun, for watching videos and playing online games. For this purpose, he has installed a few tools for finding and downloading videos. Also, one of his main search engines is YouTube. Suggested movies? Sure, as long as they are fun.
  • He uses Firefox for social networks. He follows his friends, he searches on Facebook, or Twitter, or Google+. If anything looks fun, or useful, he’d like to be informed.
  • He uses Firefox for managing his bank accounts, his taxes, his health insurance. For this purpose, he has paranoid security settings – to avoid phishing, he can only browse to a few whitelisted websites – and no add-ons. He may be interested in getting information from these few websites, and in security updates, but that’s about it. Also, since Firefox handles all his passwords, it must itself be protected by a password.
  • He uses Firefox to read his Gmail account. And to read his other Gmail account. And he doesn’t want to leak privacy information by doing so on the same Firefox that he’s using for browsing.
  • Oh, and he may also be using Firefox for browsing websites that are sensitive for any kind of reason, whether he’s hunting for gifts for his close family, dating online, chatting with hackers, discussing politics, helping NGOs in sensitive parts of the globe, visiting BitTorrent trackers, consulting a physician through some online service, or, well, anything else that requires privacy. He’d like to perform such browsing with additional anonymity guarantees. This also means locking Firefox with a password.
  • Sometimes, his children or friends borrow his computer and use Firefox, too.

Of course, since Marcel brings his own device at (or from) work, that’s the same Firefox that he’s using for all of these tasks, and he’s probably even doing several of these tasks at the same time.

So, Marcel has a set of contradictory requirements, not to mention that each of his uses of Firefox needs to pass a distinct Jeeves Test. How do we keep him happy nevertheless?

Introducing Firefox Agents

In the rest of this post, I will be calling each of these uses of Firefox an Agent (if we ever implement this feature, it will, of course, be called Persona). Each Agent matches one way you use Firefox. While Firefox may be delivered with a predefined set of Agents, users can easily create new Agents. In the example, Marcel has his “Fun Agent”, his “Social Agent”, his “Work Agent”, etc.

Each Agent is unique and separate:

  • Each Agent has its own icon on Marcel’s menu/desktop/tablet/phone and task list.
  • Each Agent has its own visual identity, to make sure that work-related stuff doesn’t end up accidentally in the Fun Agent.
  • Each Agent has its own set of preferences, bookmarks, remembered passwords, cookies, cache, and add-ons.
  • Each website may be connected to a given Agent, so that links received through Gmail or through Thunderbird, for instance, automatically open with the right Agent.

As a consequence, any technology that can come bundled with Firefox to, for instance, provide search suggestions or any other kind of website suggestions is tied to an Agent. For instance, Marcel’s browsing a dating site, or shopping for shoes, or having religious activities will not be visible to any of his colleagues looking above his shoulder at his Work Agent, nor will it be tied to either of Marcel’s Gmail accounts. This greatly increases the chances of suggestion technologies passing the Jeeves Test.

Agents are also connected:

  • A menu in each Agent, as well as a keyboard shortcut, lets users quickly open/switch to other Agents.
  • When an Agent follows a link to a website that belongs to another Agent, the relevant Agent opens automatically.
  • Bookmarks may be pushed, on demand, from one Agent to another one.
  • Passwords may be pulled, on demand, from one Agent to another one.

How far are we from Agents?

Technologically speaking, Firefox Agents almost exist. Indeed, Firefox has supported Profiles forever, since way before Firefox 1.0. I generally have three instances of Firefox opened at the same time (four when I’m doing web development), and it works nicely.

With a few add-ons, you can get almost everything, although not entirely connected together:

  • Profilist helps a lot with switching between profiles, and the dev version adds distinct icons;
  • Firefox Themes implement distinct appearances;
  • there are add-ons implementing whitelist browsing;
  • there are add-ons implementing password-protected Firefox.

A few features are missing, but as you can see, the list is actually quite short:

  • Pushing/pulling passwords and bookmarks between Agents (although that’s a subset of what Firefox Accounts can do).
  • Attaching specific websites to specific Agents (although this doesn’t seem too difficult to implement).
  • Connecting this all together.

What now?

I would like to browse with this Firefox. Would you?

Tagged: , , , , , ,

§ 9 Responses to Re-dreaming Firefox (1): Firefox Agents

  • V says:

    Chrome’s browser profiles already implement some of these suggestions. Each profile gets its own desktop shortcut and there’s a different icon for each shortcut. It’s also clear which profile is being used and switching between profiles is very easy

    • yoric says:

      I hate that, when there’s a feature I have wanted for Firefox for a long time, and it turns out that Chrome already has it, or something very much like it :/

      Well, nobody ever said that fighting against a Behemoth like Google was easy.

  • voracity says:

    I would love this kind of thing. I already use multiple Firefox profiles daily (and simultaneously) — 1 work and 1 personal (each with their own sync account), which works extremely well — it’s just Firefox mobile that lets me down. 😦 I also use test profiles and, in some cases, profiles for other people (which works much less well).

    I did trial using profiles for sub-tasks — e.g. for specific work projects or research tasks — but the loss of passwords, bookmarks and some key pieces of browser history made that messy.

  • Simon says:

    How do you propose to migrate things between ‘agents’?

    Lets say that on my computer at work, I have two of these agents – one for work-related activity (researching problems, testing software), one for personal stuff (private email, random web browsing).

    But the boundary isn’t always clear. I use a web-based feed reader to monitor a variety of topics, both personal and professional. It’s probably in the personal category by default, but if something is work-related, how do you suggest moving that stuff from the personal agent to the work one? Simply by copy-pasting a URL? But then I lose the history of related pages I’ve been looking at. Can I drag a tab from one Firefox agent to the other?

    • yoric says:

      Well, I was thinking a menu entry “Send to Agent X” on each tab (and on each bookmark, and on each password, etc.), but drag & drop would also work.

  • Anders says:

    > Each website may be connected to a given Agent, so that links […] automatically open with the right Agent.

    So you wouldn’t actually need to bother the users by forcing them to select a specific agent to use or having multiple startup icons, because the browser already know that “sandbox” to use. But yes, just because I log in to gmail in one tab, doesn’t mean that google search in another tab should have access to that info (but that is just per tab private browsing). Managing sets of sites in a user friendly way will probably be a challenge. The “cookie law” in Europe is a major criticism of the browsers privacy settings, since that is of course something that should be managed in browsers, not by sites (managing e.g. cookies in Firefox is not for ordinary users).

    • yoric says:

      Well, some bootstrapping would be needed, but I expect that after some (automated?) learning phase, we wouldn’t have to annoy the user much.

  • gerv says:

    The big problem with multiple running profiles (or browsers) that I see is this: when I click a URL in another program, which profile does it load in? And how do you easily move it, if whatever system you have gets the answer wrong? And then isn’t it too late, if cookies have been sent?

    • yoric says:

      I agree that this is an issue I encounter regularly in my current setup.

      I would say:
      – it should be possible to customize/train Firefox so that all links to a given website (e.g. Facebook) or from a given application (e.g IRC client) end up on some Agent;
      – I want to be able to move a Tab between browser with the same UX as I currently move it between Tab Groups – which would be backed by essentially sending the Session Restore data for the tab between profiles.

      This should cover all usecases I can see atm.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

What’s this?

You are currently reading Re-dreaming Firefox (1): Firefox Agents at Il y a du thé renversé au bord de la table.


%d bloggers like this: