An Update on Firefox Containers

18

Containers is now available as a Firefox Extension, accessible to all Firefox users. Download Firefox Multi-Account Containers here.

Back in June 2016, we started experimenting with “Containers” as a way to explore Contextual Identities on the web. Firefox Containers are a way for users to isolate their online identities and tasks from one another. In addition to the privacy benefits of containers, containers allow users to be logged into multiple accounts at once without requiring them to use multiple browsers or constantly sign in and out.

After our initial Nightly implementation, we went through various rounds of user research, design iterations, experiments, and finally a Test Pilot launch to help determine what our users wanted and how containers could meet those needs. We received positive feedback, numerous feature requests, and bug reports. As the Test Pilot phase comes to an end, we have converted containers into a Firefox Extension called Firefox Multi-Account Containers, accessible to all Firefox users! The extension comes with the latest UI and containers experience, including a number of features that weren’t available last year.

What’s new?

Underline: After numerous complaints and bugs with the previous overline tab experience, container tabs are now underlined with the appropriate container color.

Shows underlined container tab instead of previous overline.

Menu: There is a new Container Menu button that is accessible in the toolbar with many container options. You can open a tab in a given container by clicking on the name of the container you want to open. You can create, delete, and edit containers. You can change the color or icon associated with a container or change the container name.

Assignment: You can now assign a website to a container, so that a specific website will always open in a specific container. This helps protect from accidents, stopping you from accidentally visiting a shopping site in your banking container, for example.

Assign a site to a specific Container

Hide and Show: Assume you use your browser for both Work and Personal tasks. When you come home at the end of the day, you don’t want to be thinking about “Work” anymore, but your browser is full of Work tabs. You can “Hide” your Work tabs and proceed with your Personal tasks. Then the next day, when you are back at work, you can “Hide” your Personal tabs and “Show” your Work tabs.

Select a Container and click Hide to hide the associated tabs

Note that these hidden tabs are actually currently closed. They aren’t open in the background, eating up CPU power and bandwidth. However, that also means that if you are halfway through filling out a form, your form data will be lost when you re-show the tab. We hope to fix this in the future so that your form data isn’t lost.

Sort: The Container Menu has a “Sort Tabs” option and a “Move tabs to a new window” option. Sort Tabs will put all your tabs of the same container type next to each other in a given browser window. So if you have “Work” and “Personal” tabs interleaved within each other, you can easily sort them to help organize your tasks (as seen below). “Move tabs to a new window” will take all the container tabs in your current window and move them to a fresh window.

Personal and Work tabs in random order, ready to Sort

Personal and Work Tabs after they are sorted

I wish Containers could do more!

During the last year, we received tons of feature requests for containers. We found that many feature requests conflicted with each other. For example, if you are in a Work Container, and open a new tab, should the new tab be in the Default Container or the Work Container? Or, if you click a link in a Banking Container, should the link open in the Default Container or the Banking Container? We realized that different users want to use containers in different ways with numerous different use cases. Instead of creating a complicated, feature rich, and potentially confusing product, we created Web Extension APIs. With these APIs, developers can create new Container addons that work for exactly the use case they have in mind. You can learn more about these here.

There are a number of different container related extensions that have already emerged, including Containers On The Go, Conex, Context-plus, and Cookie AutoDelete.

Quick Tips for Container Tab Management

We have received a lot of requests from users seeking easier ways to open tabs or links within a specific container. Many of these already exist, but are unfortunately a bit hard to discover. Here are some quick tips that might help an avid containers user:

I am in Container X and want an easy way to open another tab in Container X.

With the plus button (or ctrl+T), you will get a tab in the Default Container. To get a new tab in Container X, hold down the control key and press the Plus Button with your mouse at the same time. This will open another Container X tab right next to your previous Container X tab. (Note that Mac users will need to use the command key instead of control.)

Plus button plus control key inherits the Container type from the existing tab

Alternatively, if you have a mouse with a middle click button on it, middle clicking the plus button will give you a new tab in Container X.

You can also hold down the control key and press the Refresh button with your mouse at the same time. This will open another tab in Container X with the same website loaded. So you will have two side by side Container tabs visiting the same site.

I want to open a container without using my mouse.

Clicking the control button and the period button (ctrl+.) will open up the Container Menu. You can tab through the different container names until you get the one you want to open. Once you have it selected, press Enter and you will get the container you desire.

I am in Container X and want to open a link in Container Y.

Right click the link to expose the Context Menu. Select “Open Link in New Container Tab” and choose which container you would like to use.

Right click to open context menu and select which container you want to open the link in

I want the plus button to show me a list of options instead of just opening a Default Container.

Go to the plus button with your mouse, click the button and hold down your mouse key for a second or two. “Long pressing” on the plus button exposes a list of containers you could select for your new tab.

Long press on plus button to see list of containers you can choose from

I want example-bank.com to always open in the Banking Container and nowhere else.

Use the assignment feature described above. Open a Banking Container tab. Go to example-bank.com. Click the Container Menu and select “Always open in Banking”. The next time you go to example-bank.com in a container other than Banking, the browser will ask you if you would like to use the Banking Container instead. This helps protect you from making mistakes and visiting the wrong website in the wrong context.

I created a container for my online Christmas shopping, but Christmas is over and I don’t need the container anymore.

You can easily delete a container by clicking the Container Menu, selecting Edit Containers, and then clicking the trash can image next to the container you would like to delete. This will close any tabs that are open in that container, and also delete any saved cookies, cache, localstorage, and indexeddb from that container. Note that it will not delete websites you visited in that container from your history. History is currently global and shared across containers.

Categories: Browser Security

18 responses

  1. Graham Perrin wrote on :

    > Containers is now available as a Firefox Extension, …

    Also worth noting: the essentials do not require an extension.

    about:config

    privacy.userContext.enabled
    change to true

    privacy.userContext.longPressBehavior
    change from 0 to 2

    privacy.userContext.ui.enabled
    change to true

  2. David wrote on :

    > Hide/show containers — cool idea

    > Hidden containers are lost on restarts — STOP THE BUS! That suddenly turns a cool idea into a horrible, horrible experience. I’m restarting the browser twice a day (running Nightly). There’s no way I’m going to remember to check for hidden containers every single time. That’s a data loss bug.

    Isn’t there a tabs API for showing and hiding tabs? When I hid a container and re-showed it, it had to reload that tab. Why? Hidden tabs shouldn’t need to be reloaded when they’re shown again.

    1. Graham Perrin wrote on :

      > Hidden containers are lost on restarts — STOP THE BUS! … Nightly). …

      I can’t reproduce any such loss on a day bus – containers in release quality Firefox 56.0 (64-bit) on FreeBSD-CURRENT, extended with Multi-Account Containers 4.0.3.

      Losses aside: we _do_ have multiple bugs involving restoration of sessions where a page is contained. For Firefox containers, please aim for and for Multi-Account Containers, aim for .

      —-

      > … API for showing and hiding tabs? …

      From a WebExtensions APIs perspective, the first Mozilla bugs that come to mind are:

      1332447 – WebExtension API to hide the tabstrip

      1384515 – Provide an API for hiding and showing individual tabs
      https://bugzilla.mozilla.org/show_bug.cgi?id=1384515

    2. Tanvi Vyas wrote on :

      My mistake, this bug was actually fixed. I will update the article accordingly.

      1. Graham Perrin wrote on :

        Thanks. Whilst I don’t know the date of that fix …

        … given my focus on 56, I do wonder whether there were – or are – some differences in behaviour with 57 (maybe within the constraints of WebExtensions APIs).

        Here, for example, a very recent issue (2017-09-26) that does not involve hiding but _did_ report an extension(s)-related loss – of contained _tabs_:

        Disabling extension closes all container tabs without warning · Issue #864 · mozilla/multi-account-containers
        https://github.com/mozilla/multi-account-containers/issues/864

        – another 57-related case that I could not reproduce with 56.

  3. Siegfried wrote on :

    Super cool idea! Keep up the good work!
    I will try it out immediately.

  4. Roger wrote on :

    This is great! It speeds up my browser incredibly being able to hide & close a set of tabs.

    What I miss it the option to sort the list of containers to my personal preference.

    I don’t use banking a lot, but it’s on top. Newly created containers are on the bottom. I know I can rename the containers, but then I have to relink the websites now linked to that specific container. And I will probably want to change the order differently next month.

    All in all this is a big improvement though!

    1. Roger wrote on :

      Another improvement would be to show the hide-button directly when clicking on the container button. Now you have to click the arrow first.

    2. Roger wrote on :

      When I select a site to open only in one container, I can’t open it in a private window anymore. That is not good. Both should work.

      1. Tanvi Vyas wrote on :

        Thanks for alerting us of this! We will fix this bug – https://github.com/mozilla/multi-account-containers/issues/896

        1. Tanvi Vyas wrote on :

          Actually, this doesn’t seem to be an issue. Can you elaborate with steps to reproduce in the github issue (https://github.com/mozilla/multi-account-containers/issues/896) or here?

  5. James wrote on :

    I’ve been using this for a few weeks and, no, for real, I want to open a container without using the mouse. Let me hit ctrl+t to open a new tab in the same container. Using a different keystroke ensures that I constantly accidentally use the default profile. Requiring additional button presses to navigate the Container Menu makes me mildly frustrated every time I do remember to use ctrl+.

    It’s not even possible to access all the functionality on the Container Menu using the keyboard; I can’t view the contents of a container without clicking on the arrow with my house.

    1. Tanvi Vyas wrote on :

      We are working on adding a Firefox preference to change the behavior of the plus sign – https://bugzilla.mozilla.org/show_bug.cgi?id=1406371. We will followup it up with creating an option in the extension to change the behavior of Ctrl+T/Plus Button.

  6. Kroc Camen wrote on :

    Tried it; outstanding. I can find only two faults.
    1. No way to convert an existing tab to a container if it isn’t in one (?)
    2. That it has to be its own button and UI — this would be so much easier to use if it was part of Firefox’s UI; i.e. the new tab button / page, the location bar and the page info hanger contained the functionality.

    1. Graham Perrin wrote on :

      Thanks. I’ll quote part of your point (2) when I make a related enhancement request in Bugzilla@Mozilla.

  7. tpv wrote on :

    Is it true that there are lots of fake firefox updates? It’s a question, would I have to worry or no problem? thank you very much, I hope answer

  8. adrian wrote on :

    Nice but I need multiple Firefox accounts than this. I don’t understand the value of this feature if I can replicate the function using Incognito/Private mode.

    Multiple Firefox accounts will let me separate my Work and Personal profiles including their saved data.

  9. Jesse wrote on :

    Thank you for adding this functionality. Coupled with the Quantum update, it makes Firefox far and away my favorite browser.

    I’d like to underscore the request for keyboard control for new tabs. I like the +. keystroke for opening the container menu, but multiple tab strokes then are clunky. I’d prefer a hotkey/shortcut-based method for selecting a container for a new tab. Would it be possible to select a hotkey when editing the container? The hotkeys would need to be available only when the menu is open.

    Thanks again for the great work!