?

Log in

No account? Create an account
 
 
05 February 2010 @ 11:59 am
Tarnished Chrome  
Okay, i know what virtual memory is, and i know that using a lot of it is bad. But does anyone have any clue offhand if it's worse to use a large amount in one big chunk, or a really huge amount in lots of little chunks?

I've been trying out Google's Chrome web browser on and off over the past week or two. As things currently stand i don't think i'll be switching on a permanent basis, for two big reasons and a lot more little reasons.

The #1 reason why i'd like to find a better browser than Firefox is the memory usage. They've claimed they've improved memory handling in recent versions, in fact i think they've made that claim in just about every significant release, but for my use case i really haven't seen any improvement. To be fair i open a lot more tabs than is probably wise, but it's the way i browse the web (on a desktop anyways,) and it seems to work for me. My "usual" starting setup consists of two different windows, one with 13 tabs open and the other with 22 tabs. This will often expand dramatically over a couple days before i have to close Firefox and restart it.

My issue with Firefox isn't that when i open a lot of tabs it uses a lot of memory. The main issue is that after opening a lot of tabs closing those tabs again doesn't free up the memory. I also had a suspicion that the amount of memory consumed was increasing even when i wasn't opening new tabs. Thanks to the comparison process with Chrome that suspicion is now confirmed. For those who care about the details, the add-ons i'm using are AdBlock Plus, Ask Toolbar for Firefox (er, why do i have that one? It's not even compatible with the current version *uninstalls*) Microsoft .Net Framework Assistant 1.1, NoScript, and Xmarks.

After starting up Firefox and opening up the "usual" set of tabs, Firefox was consuming 254 M of private bytes and 362 M virtual bytes. (My "megs" are inaccurate, but consistent. I'm taking the number of kilobytes reported by Process Explorer and rounding to the nearest 1000k.) Near the end of the day my usage had expanded to 55 tabs in one window and 37 tabs in the other, and the memory usage was up to 671 M private and 796 M virtual. However when i came in the next morning the memory usage had expanded to 911 M private and 1,038 M virtual. (I'd opened up a couple more tabs after my check the evening before to check traffic on the way home, but not enough to account for the discrepancy.)

I terminated the trial at that point since i wanted to get on to the comparison with Chrome, but that describes what i've generally observed with Firefox. Opening more tabs increases the memory usage, and leaving it open increases the memory usage, but there's nothing you can do to significantly reduce the memory usage other than shutting the whole thing down.

Chrome handles memory usage a little differently. It starts up a new process for each "kind" of tab you open. (All "google.com" sites are assigned to one process, but "slashdot.org" has a different process.) In theory this is to prevent a bug in one website from bringing down the whole browser. My initial set of tabs resulted in 34 different "chrome.exe" processes. Individually each was fairly moderate in usage (a median of 12 or 13 M private and 110 M virtual) but when i added them all up it came to a total of 528 M private and 3,728 M virtual! Twice as much private memory as Firefox and ten times as much virtual memory!

After using it for a day i was up to 38 tabs and 29 tabs in the two windows. Less than i'd gotten up to with Firefox, but 44 processes were now using 872 M private and 5,259 M virtual. When i came back the next morning the total was 886 M private and 5,275 M virtual.

I also did some per tab calculations:

Firefox

Start: 10 M private, 14 M virtual
End of day: 7 M private, 9 M virtual
Next morning: 9 M private, 11 M virtual

Chrome

Start: 21 M private, 149 M virtual
End of day: 13 M private, 78 M virtual
Next morning: 13 M private, 79 M virtual

So the short version is: Firefox starts out with a comparatively small footprint, balloons fairly quickly with more tabs, and grows slowly over time. Chrome starts out with a large footprint, grows moderately with more tabs, and almost not at all over time. At the end of the one day period they were both using close to the same amount of private bytes (911 M vs 886 M) but Chrome was using five times as much virtual memory (1,038 M vs 5,275 M.)

If i'm feeling bored i might try a future experiment where i have them both open at the same time and open exactly the same set of tabs.

I'm going to digress slightly to talk about the minor complaints i have about Chrome now, which mainly relate to the UI and design. I generally don't like change for the sake of change. I think it's great when they enable new functionality or make things easier to use, but just changing things so they look different doesn't usually sit well with me. For purely cosmetic changes i'll usually grumble about them and either re-skin it to the old way, or just get used to it over time. So although they bug me, i know these complaints aren't all that important.

I don't like the lack of the title bar at the top of the window. It bothers me that it looks significantly different from every other window i have open.

I don't like having the tab bar above everything else. The designers explain it as the tab being the primary "container" element in the browsing experience. (More on this later.) To me however it grates aesthetically. It seems like we've moved from a file cabinet with 15 file folders in it to 15 file cabinets each with a single file folder in them. Each tab does not need "it's own" refresh button, it's own URL box thing, it's own text search box, etc. That last is an aesthetic change that actually impacts usability. When switching between tabs the text search box disappears because it is an element of the tab. If you hit ctrl-f it will repopulate the text box with the last search you did, but it's still inconvenient. If i've just done a google search for a term and opened up a bunch of tabs in Firefox i can find the term in each page by doing "ctrl-pgdn" and then mouse-clicking on the "next" button of the text search. In Chrome it's "ctrl-pgdn, ctrl-f, mouse click." So their aesthetic improvement has increased the steps to (what is for me) a pretty common task by 50%. (This is totally aside from the usual personal "change to the UI" complaint that i've gotten use to have the search bar at the bottom of the window and Chrome has moved it up near the top.) And apparently a few people have actually run into usability problems with the tabs being right at the top. It seems that without the title bar and menu bar providing some space, there are some other programs that put some kind of status bar along the top of the desktop, which covers up the tab bar when Chrome is maximized. This would definitely be a case where the designers made an aesthetic choice that is just plain wrong under certain conditions that they didn't foresee (again, more about that later.)

I also don't like the fact that new tabs are opened right after the tab you opened them from. I'm used to having a set of tabs on the left that i refresh and recheck fairly constantly and new "temporary" tabs accumulating on the right. I don't want new tabs getting opened amidst my "regular" set of tabs and messing the ordering off. This is apparently a common enough complaint that they added the ability to "pin" tabs to the left side. Apparently at least some people refer to such "regular" tabs that you check regularly and open links from as "anchor tabs." However for me once you've got a significant set of tabs anchored/pinned on the left it doesn't make sense to then have new tabs getting opened in the middle of your tab bar, so i found an add-on to always open them at the end of the bar, just like with Firefox.

However along with a lot of minor aesthetic gripes about the new tab system, this also brings me to my next big complaint about Chrome. It just doesn't handle tabs well in general. It's just fine if you have a very small number of tabs. However every time you open a tab it shrinks all the tab headers a little to make them fit in the window. If you open enough tabs then soon you can't see any text in the header at all, just the icon. Open up some more tabs and then you can't see even that. You can mouse over the tab headers to get info about what each one is, but that's a real pain if you're looking for a specific tab.

I remember Firefox having this exact same problem in the early days of tabbed browsing. I remember complaining about it, i remember reading forums where other people were complaining about it and making suggestions about how to fix it. I remember it taking a long time to get all the issues ironed out. But eventually, with feedback from the users and a couple different trail runs Firefox got everything working. Now tabs have a minimum width, and if you add more then you get a scrolling task bar. There are scroll buttons on right left and right side or you can scroll it using the mouse wheel, and at the very right edge there's a drop-down menu that will list all the tabs you have open so you can jump directly to the one you want if it's off screen.

Chrome did not implement any of those features. They recreated what Firefox had in its must "buggy" state, when tabs were first introduced. Why did they do that? The designers actually made a blog post explaining why. Their answers are dumb.

The really short version is. "We are always right, we always know what is best for the user. If we don't think a solution is good enough for the user we won't implement it, even if we can't think of a better way to do it right now. We'd rather have you use a product with a major usability problem rather than include a workable solution that we don't think is good enough. And once we've decided what the right way to do something is, the user isn't allowed to do it any other way, because we are right and the user is wrong."

I think a couple key quotes are: "We chose not to go with an overflow menu or scrolling tab strip like in some other browsers because we think there are other usability problems with those approaches."

and: "We're aware that the prompt has saved people (including ourselves!) using other browsers from losing tabs, but we have been trying to come up with a more creative system for helping this scenario that doesn't interfere with the window's close button."

and finally: "In all of these areas we've resisted adding options to control behavior. Keeping our set of options minimal is a good forcing function for us as user interface designers to come up with the right approach, since we never rely on the crutch of making the user decide what we were unable to."

I've worked with designers like this on projects before. *cough*the lead designer of Red Alert 2/project lead of Starcraft 2*cough* They can be great people and great designers, but like great people in pretty much every area of expertise, they sometimes (often?) become a little too convinced of their ability to determine what is "the best." Not like, say, "Uwe Boll," who is convinced that pure crap is solid gold just because he made it. They are talented and can usually judge the quality of something properly, but they'll often abandon the "good enough" in search of "the best," and if there are two or more contenders that are equally good then once they've decided which one is "the best" you can have a gods-awful time trying to convince them the other method has any merits. They'll often become convinced that giving the user options to change elements of the game only allows the user to screw up something that's already been designed to be the best that it can possibly be.

Obviously it's possible for a product to have _too_ many options (well, i might debate the point, but i'll grant the theoretical possibility for the sake of argument) but i think there can be a happy medium between overwhelming the user with options and having absolutely no options at all. If for no other reason than because (to me at least) not allowing the user to have any options about how they interact with the product seems like a sign of hubris from the designers. My aesthetic sense does not necessarily align with the designers' aesthetic sense, and that doesn't mean my aesthetic sense is wrong. I don't think a vertical drop-down list aesthetically clashes with a horizontal tab scroll bar, to me it seems like more of a counter-point. And even if i did feel the same as them i still don't think implementing _no_ solution to a known problem is better than implementing a solution that is aesthetically less than perfect.

I know that it's possible that a solution to these issues could be created through one of the add-ons, and in fact there already are a couple such add-ons that try to correct things. However none of the ones i've seen do an adequate job of recreating the simplicity and functionality of the Firefox system, and i find it absurd that we have to seek help through add-ons because the designers are actively avoiding implementing a merely adequate solution.

And note that this blog post is now over a year old. They have spent more than a year putting off the implementation of tried and true solutions to known problems on the theory that they're going to come up with something better. Eventually. Something so awesome that no one will want to use the old solutions that have worked perfectly well at solving those problems for the past couple years. (And if they still insist that they want to then they're just wrong and not letting them do that is for their own good.)

Maybe they're right. Maybe the will eventually come up with something so wonderful that i'll never want to use those crappy old Firefox methods again. But until they either come up with that better solution or at least implement an interim solution that's at least as good (and possibly fix the memory issue) there's no reason why i should be using Chrome now. They've already stated they're not interested in my ideas of how they should do things unless it happens to align with their own ideas (since there can be only one solution) so i'm not that interested in helping them test an inferior product.
Tags:
 
 
 
Coraacoraa on February 5th, 2010 08:22 pm (UTC)
but they'll often abandon the "good enough" in search of "the best"

Yeah, that drives me NUTS. Don't fail to give me something functional because you don't think it's ideal! Please!

I haven't switched to Chrome because, quite simply, it doesn't do anything yet that I want badly enough to give up what I get from Firefox. I thought about switching when they finally got extensions implemented, but it turned out I couldn't update in place because of [technical reason I don't remember], and so I'd have to go do an administrative uninstall (or something?), and I just wasn't unhappy enough with Firefox to bother.

(As a related note, I've always wondered about the potential for conflict-of-interest. One of the most popular and most 'killer app' extensions for Firefox is AdBlock. But Google makes most of its money on advertising, as I understand. Do ad-blocking extensions for Chome work as well as AdBlock? Maybe they do. But it does raise the question for me.)

Edited at 2010-02-05 08:28 pm (UTC)
Geoffthegreatgonz on February 5th, 2010 08:49 pm (UTC)
The good news is that since the source code is open, if Chrome did anything to hamper ad-blocking, people would notice fast.
Coraacoraa on February 5th, 2010 09:18 pm (UTC)
Well, people who pay attention to source code, yeah. I wouldn't, and I don't know that I monitor the types of forums that would tell me. (Slashdot and BoingBoing would notice instantly, but I don't read them.)
Geoffthegreatgonz on February 5th, 2010 09:43 pm (UTC)
I suspect that if such a story were true, it would spread to the mainstream media pretty quickly. In any event, the proof is in the pudding: if your browsing experience with Chrome AdBlock is noticeably worse than FF AdBlock, stick with Firefox. If not, there's no problem, right?
Coraacoraa on February 5th, 2010 09:49 pm (UTC)
When I finally get around to performing the hard uninstall of Chrome so I can reinstall and enable extensions, I will let you know. :)

I'm sorry if I'm offending you; I know this is a company you work for.
Geoffthegreatgonz on February 5th, 2010 10:36 pm (UTC)
I'm sorry if I'm offending you; I know this is a company you work for.

Oh, not at all. I think Chrome is great, but I'm under no misapprehension that it (or anything we do) is perfect.
balivatn: Atia lasersbalivatn on February 5th, 2010 08:30 pm (UTC)
Since I'm not on a Windows-based machine, my issues are a little different. Firefox frequently freezes up and makes me force quit, as does Opera, and I was not impressed with Chrome for similar reasons as you. Safari (the browser that comes with Mac OS) is fine, but not impressive.

I like Camino, I just wish it had some of Firefox's customization options (like there's no equivalent to ScreenGrab or AdBlock - although it does block popups). But it's new enough that there are some sites that don't recognize it as a browser and tell me to try their page with Firefox.
Kirin: Skuld-computerkirinn on February 5th, 2010 10:07 pm (UTC)
Yeah, I'm using Safari on my Mac at home as well. I did find an add-on that does a good job of blocking Flash, which at least takes care of the most annoying ads.
Geoffthegreatgonz on February 5th, 2010 09:05 pm (UTC)
Standard disclaimer: I work for Google, but I don't speak for it. The following are my own opinions.

You might be interested in this blog post about Chrome's memory usage (and the technical docs it links to). In particular, check about:memory to make sure you're not overcounting memory usage.

I don't know about Chrome in particular, but Google in general is fanatical about justifying UI decisions with actual measurements (putting humans in front of computers and measuring what they do), so it's rare for these kinds of decisions to be made by the personal fiat of some designer.

On the close-window-with-all-tabs issue, I think Chrome's solution is a clear and definite win: instead of a modal dialog getting in your way, it just transparently does the right thing: gives you an option to restore the next time you open a window (or restore automatically if you've configured it that way).

I agree there's a happy medium between no options and too many options, but it may be closer to no options than you think; it's not just about overwhelming the user, it's about having the discipline not to use options to avoid making decisions. Remember that for a mass-market browser, the vast majority of users will never discover the "settings" dialog, or make much use of it if they do, and Chrome has to provide the best possible experience for those people. For the people who care about customization, extensions seem like a better mechanism than a maze of tickyboxes: it's easier for users to navigate, it keeps Chrome's codebase small, and it lets those features develop independent of Chrome's dev/release process (you don't need anybody's permission to write a Chrome extension).

Personally, my biggest UI gripe with Chrome is how far the stop and reload buttons are from each other.
Coraacoraa on February 5th, 2010 09:19 pm (UTC)
On the close-window-with-all-tabs issue, I think Chrome's solution is a clear and definite win: instead of a modal dialog getting in your way, it just transparently does the right thing: gives you an option to restore the next time you open a window (or restore automatically if you've configured it that way).

Hm. I lost a pageful of tabs at least one, but now I can't think what I did to make that happen. Perhaps I did something stupid.
Geoffthegreatgonz on February 5th, 2010 09:31 pm (UTC)
It's probably not your fault; 2gouda4u has had the same thing happen a couple of times. My point is just that the concept is sound; there may still be some bugs in the implementation.
DonAithnendonaithnen on February 6th, 2010 12:53 am (UTC)
Well i picked that quote just because it was one of the most obvious places where they said "we know not including this feature will cause problems, but we're going to not include it anyways."

I think the lack of that feature is a minor annoyance, but mainly what i like about its lack is that in Firefox i can use it as a way to get a quick count of how many tabs i have open. I didn't see an obvious way to check that in Chrome, and doing so by hand is a real pain =P

As i told the lead designer i was arguing with, the choice the designer makes is to decide what the default options are. If the user selects the "Options" menu then that's because they want to see options. But he felt that, along with confusing the user, giving the option to choose the "wrong" thing (since he'd already determined what was best of course) might ruin their experience of the game, and then they'd blame that on the game itself rather than accepting responsibility for screwing it up through the options they selected. That would be one of those things that i considered rather hubristic.

And if they don't have the discipline to make decisions without outlawing options then perhaps they should work on that discipline rather than using it as an excuse not to include options.

And the blog didn't make it sound like user feedback or measurements, it talked a lot about aesthetics and what they did and didn't like.

And even if they do test a feature and find that 60% of people like something one way and 40% of them like it the other way, are the 40% of us just SOL?
DonAithnendonaithnen on February 6th, 2010 12:58 am (UTC)
Oh, and i'm just fine with the idea of modification through add-ons rather than options, as long as those add-ons exist. I admit i haven't searched thoroughly, but i didn't see any add-ons to provide a minimum width to tabs, or to make a scrollable tab bar, or a clean drop-down list of open tabs. (Or to move the tab bar below all the other stuff and associate it with the actual window, or to provide a top-level text search box.)

If they really think that add-ons are the way to go then perhaps Google itself ought to create some to address the most commonly requested options in the cases where the user-base seems unable to come up with them itself?