Scalability
gregor-wagner.com
gregor-wagner.com
The fact that it uses more memory is a design tradeoff (although with shared text pages it's not as bad as one might think). The real question is whether you would ever have that many tabs open, and how much memory do you have on your desktop?
I have 60 tabs open now (in FF), and this is after closing most of them, on a 32-bit system with 4GB of RAM. I regularly hit over 200 tabs when browsing.
On top of those there are "recent research" for any problems I am currently working on, which is usually at least one window each with a search results tab and a few tabs I opened from there (after pruning the ones that were not relevant in the end.
Plus there are the tabs I am "actively" using (which is pretty much always at least five at the moment: two mail clients, two social networking sites, and a page containing the results of various service monitors which updates every minute or so).
I often see FF taking a bit more than 1Gb RAM particularly if I have complex pages that auto-update a lot (Zimbra, facebook, so forth) open, though often closing it and restarting with the "reload last session" option brings that down by at least 60% (I assume the "extra" is stuff cached in RAM and/or memory allocated and not yet released due to fragmentation in FF's internal memory management - both situations being "resolved" by the restart)
Maybe you don't feel bogged down but I feel bogged down for you :)
Similar usage with 3.x rarely exceeded 300MB and FF would remain open for weeks.
Tree-mode tabs help a lot (I'm still looking for a good Chrome plugin for this), "Tree Style Tabs" for FF5. Since trees group related tabs (I've got a subtree open for HN right now), and collapse, it helps to manage them.
As with grandparent poster, I'll have several windows, across several desktops, task-oriented. News, mail, site monitoring, research, reference(s) for languages / tools, etc.
200 tabs is probably a high count, but well over 100 is very doable.
It's just a way of keeping the 'flow' of a browsing session in the browser itself, so you don't have to keep all that in (mental) memory.
I do use Firefox, which works fine even in my 2GB laptop and with a bunch of extensions installed.
I've also switched back from Chrome to Firefox because Chrome doesn't scale (nor does it have all the extensions).
That's just one use case, but there are certainly many others.
I just dislike opening images inline or all loaded into one separate tab, because then it turns saving individual images into a mouse-driven task rather than a keyboard-driven task.
As an aside: what do you use to browse Hacker News on your phone?
It is also the main reason why I can't/won't switch to Chrome - no Tree Style tabs.
This morning I had about 30 tabs open when I came into work, all documentation or reference of some sort that I will use in the next few hours. And thats about the lowest I ever get, if I'm looking up something new to me or complex it will easily shoot over 100.
The more state I can leave up on my desktop, the better.
If there were better management within the browser -- non-visible tabs were eventually unloaded, with any page-state (forms data, etc.) saved -- then you wouldn't have the memory bloat problems that occur.
The thing is that it's a very large virtual workspace to spread things out over. So long as it's organized, it's really useful.
Look to movies especially of researchers in the 1970s or 1980s who'd spread clippings and papers over all horizontal surfaces in an office, tape/pin them to a wall, etc. You want to be able to scan quickly through the space at eye-speed, not have to dig into files / organizers / storage / regenerate the information every time you want to look at it.
It's why you'd rather have a large monitor -- you can strew windows over it and see more, rather than have to manage windows and go through them repeatedly.
For those of us who write software being able to discretely switch to a certain doc with ctrl-tab or ctrl/cmd-# is much quicker and efficient than navigating N times throughout the day just to reduce the # of tabs.
If I'm working on a Twilio web app I might refer to the Twilio docs, Ruby docs, twilio-ruby source, and some web related docs all throughout the day (HTML/JavaScript/CSS). Oh yeah, don't forget the JavaScript library docs. Why look them up each time you need them? Open them at the beginning, close when you're done work and that's that.
Your tab related OCD shouldn't enter into our workflow ;-)
I guess I just suck at my job.
On average I have 5 groups hacker news, reddit, slashdot, google reader, google searching and documentation group. When I work I frequently move around google searching and documentation group. In my leisure time I go to other group.
For example during working I need to search about some feature of a library. I open the top tab of the google searching group middle click on the link I am interested which opens in the new tab in the group. If some time later I need to see the page again just go to the google searching group and get the tab. This way I can easily organize my tabs.
We don't read the same things apparently.
I recommend a vertical tab addon (I use Tree Style Tabs) else you'll wear out your scroll wheel on the tab bar :)
Thats exactly the extension I use! I'm really happy with it, it gave me the ah-ha moment that working with multiple tabs doesn't have to be prohibitivly painful. Thanks to it I decided to change my taskbar to be vertical too and haven't looked back. It makes for more wasted space if you're not busy, but is worth it, as UI wisdom tells us scanning horizontally is a lot harder for the user than vertically (and thats when everything fits on the screen).
Lately I've been trying to keep them down because of memory constraints (tab/process model in Chrome).
Perhaps I need to take another look at my addons, but I only have four (firebug, web developer, ad block, and diigo), so I really doubt they are the cause.
For some time during the 2.x and 3.x series, firefox would leak memory from closed tabs -- the memory usage would keep going up and up with tab churn, and I'd have to restart the browser to get the memory footprint back down. I don't see that with v4 or v5, and I usually restart the workstation before I need to restart firefox.
But for example you can't completely isolate a thread if it crashes. But you can forbid it to access other memory areas for security, that's what Firefox does.
Since Firefox 4 each tab has it's own separate garbage collector.
Not in C/++ in any standard definition of "thread".
Likewise for IE, but they're per process like Chrome now.
Not sure about other webkit browsers and Opera, it's likely other wekbit browsers (except safari) do not do that.
I didn't think Firefox would be better but if it is, I might go back to it!
Still, I prefer manual memory usage control (I have a meter in my panel, near the clock). This feels easier than less-predictable browser-wide hangs where I can't even switch the tab. I've tried Firefox 4 when it was released and I was unsatisfied with its responsiveness, for example, when I open a lot of flash-heavy tabs. While I've heard Mozilla devs did move plugins to separate process, in practice there were cases that the browser did hung for several seconds.
The particular problem I had above was not due to crashing. As I was typing, the suggestion bar was pushing the text that I was typing out of sight. So I had to constantly fight with it to actually see what I typed. When taping to move the cursor, it was actually trying to make a selection, but only sometimes. Using the wheel to achieve the same made it constantly jump.
The worst part was that when you reach the end of the text box you cannot scroll below and see what you typed. Well, you can, for a few seconds then it takes you back. You can type, however, but don't get to see what you typed. It's like typing blindfolded. I had to just post the message and go back and edit it.
How something so basic passed QA is beyond my comprehension. Here's one of the threads about the keyboard crashes: http://code.google.com/p/android/issues/detail?id=15311
I rarely have more than 4-5 tabs open at a time, so I'm honestly curious.
Having many tabs opened at once and being able to keep them out of sight with Tree Style Tab makes it much easier for me to keep my browsing session organized and stops me from accidently closing websites I might need later/tomorrow. Bookmarks on the other hand never really worked for me the right way, so instead of bookmarking a link, I just keep it open in the background until I don't need it anymore, and my favorite sites stay open all the time.
I also run multiple instance of firefox to seperate my browsing sessions (private/work/social/etc), as I don't want my google searches or cookies to mix, and I tend not to reboot my machine but to just use hibernate. When I have to reboot because of updates, I use BarTab, which makes it possible to only reload specific tabs when a firefox session was closed.
To give some stats: I normally have around 30-40 tabs open, my peak so far was at 97. Yes, there's even a plugin for that ;) ("Tab Counter").
Most of these come from sites like this one. I will go down the home page and open every article I want to read as well as its comments page (middle clicking). Thats easily 20ish tabs. These tabs will then stay open most of the day as I slowly read them.
Then I have some that are used sort of as a todo list. These can be a page where I need to fill out a form, read an article, etc.
I also have a bunch of tabs based on a group. For instance since I do a lot of web programming I may be working on 1 site and have 1-8 tabs associated with it, but then I need to switch to another site and open another set for it, but I don't close the previous until I am done with the site.
Then I have the normal "apps", pinned tabs or whatever they are called. Usually just 2 though, gmail and grooveshark. However sometimes it grows a bit more to add calendar, docs and whatever is is needed.
Add it all up and its quite a lot of tabs, and they just add up quickly. But with the ability to place tabs on the left of the screen and group them its easily manageable. I couldn't work with this many tabs without those 2 features.
In practice, most of the tabs are `legacy' tabs that I don't use, but which I still retain some nominal interest in when I go clean out the tabs every couple months or so. These tabs range from youtube videos that I don't want to forget, to tips for Vim, Wikipedia articles, blog posts on machine learning, instructions for DIY haptic compasses...
About 1/3 can be traced to one or two websites with interesting articles that I intend to read in depth (at some point).
Firefox's awesome bar searches open tabs. So, "C-l ann" gets me to this tab as "annihilate" is in the title of this post.
1. I have a similar usecase for http://anynewbooks.com, even though the process is quite different thanks to a ranking algorithm that preliminarily sort the books in a sensible way.
In general, each window starts with one tab, but as I do more research into something, more and more tabs open. I religiously close tabs I'm not using, and the ones I keep open tend to be API references and similar.
I also use tabs as a TODO list, so any open tab is something I have to do. Closing them means my system breaks.
This would all be completely unmanageable without a few optimizations:
- TreeStyleTabs makes managing 25-30 tabs per window manageable. I almost never have more than that.
- Firefox Nightlies use considerably less memory than the release version, mostly due to the MemShrink effort within Mozilla (where I work)
- I set browser.sessionstore.max_concurrent_tabs to 0, to prevent a restart opening all my tabs and sinking memory into windows that aren't in my regular rotation.
Even so, Firefox typically uses 1.5-2GB of RSS, and slows to a crawl after a few days. This is due to fragmentation, and I'm working on fixing it.
If I'm doing heavy research I can easily end up with over 100 tabs open. I just open every single page I'm going to look at in a new tab over time and just lose count.
That said, if I start typing in the url bar, already-open tabs whose title or url or tags match what I type show up in the dropdown search results and can be switched to by selecting that option from the dropdown (that includes tabs in other browser windows, etc, so I can just grab any window, type a few words in the url bar, and then be in the tab I want to be in).
This is in Firefox; finding a tab you want in Chrome is indeed a huge pain.
I don't use it that much (mostly because there are no shortcuts and command line interface for adding to a stack or expand / collapse), but it is nice sometimes. I might do some research for a blog post, end up with 5 sites that I know I will need to consult when I write it, and just put them in a stack and have it sit there (collapsed, so it doesn't take up much space) until I do write it.
Having said that, I rarely get over 50 (usually in the morning after clearing out my feeds, or when programming against some API / library, when I open lots of documentation pages).
Once I get to the point where I can't see the favicons anymore, I start looking for something to close.
Firefox searches open tabs in the awesomebar; selecting one of those entries switches to the tab.
Also please note that this is for Firefox nightly (8) only. This might also be true for FF 6 and 7 but nothing before that. Memshrink enhancements have only started at FF 6 (which is not yet released as stable, but soon)
I must say that, although I'm a tab freak (I always have around 30 to 50 tabs and/or windows opened at the same time) it is very fast and never uses more than 500mb of ram.
The only issue that I have is that it doesn't play well with rescuetime. Other than that, a delight.
Maybe this is also a function of browser capability: If your browser crashes or becomes unusable with many tabs you won't open many.
I am interested in your use case of pages you read every day. I have such pages and I would love to be able to open a specified list of such pages with one click. Is there a way of doing that? Or an add-on for it?
That said opera is known to be rather fast.
Although these are real world statistics you encountered, I still think that Firefox needs to buck their ideas up and start releasing more stable versions.
4 was an insult to me, crashing all the time and so slow, pathetic in the terms of a browser, I would have rather used IE for a couple of months whilst that was released and that's saying something
I remember switching to Firefox nearly 7 years ago and swore I would never look back, that's why I am insulted at their latest efforts
I have about 500 tabs in chrome now, never been close to that with any other browser, granted the computer is barely usable now as chrome takes pretty much all resources so I'm working on closing some down :) But 2-300 is no problem at all and chrome is the only browser that's capable of that (without serious performance issues) on my machine (64bit Win7 8 GB ram).
And the comments to the article resonates well with my experiences: "Another test, maybe closer to reality: open many tabs, close half of them, open many new tabs, close half of them, etc… And see how your memory gets lost, until you finally have to kill the Firefox process to get it back, so you can open other applications."
And many others that mention that firefox can't handle being left on for days without breaking. I have hundreds of tabs in chrome for weeks at a time, sometimes probably longer but every now and then I feel like letting it update... (although it is a pain to start it with hundreds of tabs and I often get blocked from HN after I start chrome (guess I trigger some dos-filter ;P).
Also, any browser that doesn't run flash in a separate process (that you can kill yourself) isn't usable at all (that is, if you have flash installed (flashblock only delays the inevitable)). Even with few tabs that is a total deal breaker (and really has been since the day chrome launched).
Chrome on the other hand has always handled 300+ tabs without blinking. Closing and restarting it with that load takes about 20s to be usable and a couple minutes for all the content to be loaded — basically limited only by my internet connection. It crashes about one every three months, ironically only when I tell it to quit.
Firefox would have to now be three orders of magnitude better in these respects in order to have caught up with Chrome.
P.S. Mozilla's messaging with "try version 7 or 8" is fucking abysmal. Seriously shut the fuck up about version numbers if you're going to increment them so often. Don't copy Chrome's development cycle without also copying their release structure: normal, dev, canary.
Still, I can't help but think this is a tweak. I mean, at the end of the day, we're talking about CPU time, memory allocation, and processing priority, right? So allocate a few extra processes and large chunks of memory, set the priority such that Chromium doesn't tank the system, then work a buffer allocation system.
Of course, that's rampant speculation on my part. Seems like I read somewhere that timing and process priority is still an unsettled issue in Linux, so I know it's a lot more complicated than I make it out to be. (But I also know that having 150 processes do things without hosing things up is by no means an unusual situation in any operating system.)
I love everything else about Chrome and while I realize that the degraded tab performance is a trade off, it still bugs me enough to not do a full and complete switch. That is why when I am casually browsing the web I will use Firefox. But when I am using a web app or working, I will use Chrome.
I also find his conclusion a bit disingenuous: I never have more than ~10 tabs open. I'm more interested in the performance around my actual usage, not an order of magnitude more.
Of course the more sane model is for a process to be an address space container, and threads to be associated with a particular process, but when discussing them, that particular implementation detail is moot.
Now I don't need to test myself if I should switch to Chrome :-)
When I have lots of tabs open in Firefox, there are occasional pauses where everything, including the browser's chrome, freezes. I've never noticed these pauses in Chrome.
And yes, I do open hundreds of tabs. (As a side note, Chrome's far smaller minimum tab size is a major bonus for my usage, simply because I can see more tabs without scrolling the tab bar).
No doubt some portion of people upvoting this article are invested in a Firefox v. Chrome narrative, but that really wasn't the point of the original article.
Although to be fair, firefox isn't too happy with that workflow, either - but I blame that partially on flash and javascript.
Now, if Firefox auto updates in the background like Chrome, I might consider giving it another chance. When I want to go on the net, I don't want to wait for my browser to update.
The "tell you" part is the only difference between the workflow for current Firefox updates and Chrome updates, in fact... And yes, Firefox might start doing them silently precisely because of the purely psychological issue you describe.
How do you know that? I assumed Chrome did update in the background because it uses Google's Omaha project, which supports updating when the system is idle.
"attempt to update application when the user's machine is idle"
http://omaha.googlecode.com/svn/wiki/OmahaOverview.html#Sche...
For my use cases, the two situations are actually equivalent, since my browser starts at boot and only shuts down with the OS or when I decide I should really install the security update.
For me (and apparently a large number of people in this thread), I won't consider switching to Chrome until they get more powerful extensions, namely TreeStyleTabs and Vimperator/Pentadactyl. The current stand ins completely pale in comparison.