174 comments

[ 3.5 ms ] story [ 251 ms ] thread
According to Snowden's leaked Prism slides, Google was brought into the NSA fold on the 14th of January 2009. So Firefox is well over 4 years behind Chrome in that respect as well. Get your act together, Mozilla!
Seriously? Can't there be one discussion on here that isn't about Snowden or Prism?
So long at people get karma for lazy low-content references to whatever cause everyone is swept up in they won't stop posting them.
As long as they are getting substantial amounts of karma for it, I suppose that's what most of the people want to read.
I'm afraid it's very relevant.

It's also important to note that there is a divide between OSS Chromium and Chrome.

The first point is odd. I got one of the original Cr-48 Chromebooks, and the current tab would always stutter when other tabs were loading. I installed stock Ubuntu and Firefox on it and I never had that problem. Just lately, in the past year or so, I've noticed the same problem in FF. With all the optimizations they've been making, I can't think what would have changed that behavior.
That's probably just Atom being slow as hell.
Not that I'm disagreeing :) but it happens on my desktop too.
I began using Firefox a long time ago (when it was called Phoenix) but switched to Chrome.

A couple months ago I switched back to Firefox because Chrome lost my open tab session in some cases (hard crashes when loading the old session), due to privacy issues and because it often triggered long swaps (locking the process) when dealing with lots of tabs (I usually have like 50-60 tabs open in several windows). Also because I support Mozilla's values.

Unfortunately I'm not very happy either. Alongside the issues commented here, I noticed these problems:

- Sometimes it just goes to 25% CPU usage and the browser becomes really slow. The only choice is to close all windows and open Firefox again.

- Multimonitor and Flash sucks. I'm not sure if this is Firefox or Flash's fault, but it often chooses one window as its parent, regardless of where the tab with the Flash content is located. Clicking/hovering the embedded object fails when the object thinks I'm in the wrong monitor. Also, going fullscreen usually pops the window in the wrong monitor.

- The JS PDF viewer is slow as hell (I once spent 5 minutes waiting for it to zoom, and I couldn't close it because I feared losing some changes in other tab). Firefox's JS engine is quite slow in and of itself, who thought it would be a good idea to embed a JS PDF viewer?

- Extensions take ages to be updated in the Addons repository (especially compared to Chrome) which frustrates extension developers and users. I personally know a developer who had to move away from it and tell users to update the extensions themselves.

- When a JS script is locked, the whole browser locks.

- If you close a window by mistake, there's no way to bring it back, so say bye to your precious browsing experience. "Undo last tab close" only works in tabs within that window! So frustrating. EDIT: apparently this is possible, check https://news.ycombinator.com/item?id=5905649.

- The latest contributions seem to focus on how to be more like Chrome, and less about providing users a better product[^1].

- Did you ever need to mess with about:config? Black magic.

- Tab groups suck. They're useless and there's no way to disable them once you activate it by mistake. You have to mess up with about:config (see above). Talk about a great UI.

They completely lost the track on what users need. We don't need another Chrome clone nor cool UI changes in each new version (especially when they get them so wrong). They probably spend lots of hours tweaking things that didn't need tweaking. What's wrong with the current UI that needed such a big overhaul? We need a browser that works, not one that looks like Chrome.

Mozilla, making Firefox look like Chrome won't make users switch back from Chrome. If people want Chrome, they'll stay in Chrome. Period. Get rid of termites before painting the house.

[^1] E.g. http://limi.net/checkboxes-that-kill or the new UI which is a ripoff of Chrome's. I can see his point about the "checkboxes kill", but removing features with perfectly fine use-cases instead of moving them to an advanced config page is never a good idea. How about an usable about:config alternative? "We designed a bad UI for advanced features... lets get rid of those features instead of fixing the issue!"

It's the really small things that annoy me about Firefox. For example, in gmail, when writing an email, I can't hit cmd+right arrow to go to the end of a line. And because links are set to open in a new window, I can't cmd+click them to open them in the background.
Middle click causes tabs to open in the background in Firefox. IIRC cmd+click is a left click?

Ctrl-click also seems to work (on Linux).

(comment deleted)
Probably the one feature I dislike most about firefox. Having to go to about:config to make changes to my browser behavior.

Example, recent install puts tabs on top of address bar. I prefer the old method. Its not a setting I can access through Options, I have to load up about:config, click past the "world is ending" dialog.

Then comes the game of guessing what they named this item!

This is better than Chrome's complete lack of configuration. I like my browser to select the entire URL when I click in the URL bar once. On Windows, all browsers do this. On Linux, I don't know of any that do. The difference is, Firefox lets me change that option in about:config whereas the Chrome team blows me off by saying "that's the way native Linux browsers work".

How many Linux users accept "that's the default and you can't change it"?

Agreed about the small things. I'll never understand why they decided to put the ctrl+F find dialog at the very bottom of the window. It trips me up almost every time I use Firefox, which isn't often. The vast majority of computer users are not conditioned to look down immediately after invoking find.
Out of interest, where are you conditioned to look? I prefer an in-window find bar to a dialog getting in my way, and I use programs with the find bar at the bottom (Firefox, Libreoffice) more often than ones with it at the top (Chrome, gedit). For me, the position isn't an issue, as I notice the movement wherever it occurs on my screen.
Maybe you're on a Macbook that doesn't have one, but the 'End' key serves this exact purpose (jumping to the end of a line).
History > Recently closed windows?
Wow, thanks. I kept looking for this in Firefox's home.
I also discovered recently that if Firefox crashes and then presents the "recover your previous session" tab and you accidentally click "new session", you can get your previous session windows back by going to the Recently closed windows menu too!
I also switched from Firefox to Chrome.

Then I started to experience Chrome crashes.

These were total crashes, that either kill the browser or freeze the OS - Ubuntu 12.4 Linux. The only thing I could say was consistent is that every time I was in Google docs (if anyone on that team is reading, I'd swear it was a drag event in Drive).

Once you move your main email and Drive browser back to Firefox, you're kinda stuck there. Every link opens in that window, and unless you start the dance of copying links from one browser to another you just tolerate it.

Firefox is now the primary browser again in my work.

I use IE, Firefox, and Chrome for work related activities and my browser of choice is Chrome followed by IE, then FF if that puts any of this into perspective...

I use an extension for Chrome called Session Buddy because even in the initial periods of the browser, session management wasn't seemingly a priority. Session Buddy is way better than any browser's internal implementation, possibly only followed by Firefox but there again I use another session manager plugin so my thoughts are further skewed.

I guess tl;dr is I don't believe a browser really needs perfect session management internally, especially given how full featured these plugins are. My only gripe is they aren't magically grafted in but I suppose due to the sheer number of plugins and feature parity means choosing one wouldn't be easy and you'd want to promote a system where it could be replaced easily. The current mechanism of finding plugins that suit your needs is good enough to me but I'm a developer, not a grandma.

I too recently tried to switch back from Chrome to Firefox, but gave up. Lots of tabs highlighted the single process model. I love Certificate Patrol. Ctrl-W closes tabs with Flash just fine in Chrome, but required a click outside of Flash first in Firefox. And while Chrome went it alone with Pepper, at least they did something to really isolate and contain Flash. The final straw though was wanting my vertical space back - Chrome's tabs in the title bar is excellent at that. I eventually discovered that you can't do it with Firefox on Linux, and the relevant tickets were full of nasty comments about how Firefox should never do that. Oh well.

I originally switched from Firefox to Chrome because of some web code I was developing where I accidentally made the server send unlimited data (it was supposed to send one line of status information every 15 seconds - I forgot the sleep). Firefox's single process model resulted in a hung browser while Chrome let me find the cause.

(comment deleted)
The "temporarily hung interface" is definitively one of the worst things about Firefox. Fortunately they recently set up a project dedicated to fix it, next releases will probably behave much better. A few links for those interested

https://dutherenverseauborddelatable.wordpress.com/2013/04/1...

https://dutherenverseauborddelatable.wordpress.com/2013/04/2...

https://dutherenverseauborddelatable.wordpress.com/2013/05/2...

https://dutherenverseauborddelatable.wordpress.com/2013/06/0...

Vertical space on linux? That's simply not true. Exhibit 1: The default firefox and chromium running on my linux (ubuntu, i3wm). http://i.imgur.com/paE173H.png . 6 pixels by default in favour of firefox.

The real problem though is chrome's interface really is completely inflexible. I like a thinner browser than either of those. Hence, my firefox setup: http://i.imgur.com/XAyc8Tu.png .. 17 pixels more space than chrome can be gained easily (firefox with only the extension 'pentadactyl'). And further more, since firefox's appearence is all just XUL it can be styled to be as thin or thick as I like.

So yeah, firefox you can change the ui to be vertically thin. It's simply impossible to do that with chrome.

When I start up Firefox on Ubuntu running Gnome 3.6 classic or whatever they call it, I got the traditional firefox and definitely no tabs in the title bar, a bunch of vertical space used for the menus, address field and search field and the list goes on. I was able to customize the bars in order to move everything onto one line but couldn't make it the same line as the menu, and could only find bugzilla entries about not being able to move tabs to the title bar on Linux.
- Tab groups suck. They're useless and there's no way to disable them once you activate it by mistake. You have to mess up with about:config (see above). Talk about a great UI.

I disagree. I find tab groups to be very useful.

I tend to keep multiple tabs open at once, and for multiple tasks. The tab groups lets me easily organize those tabs around a single thought or task. I can keep my music streams in one tab group, and my daily webcomics in another. News feeds go in their own group. The Python standard library reference and whatever tutorials or How-Tos are relevant to my current project get their own group. You get the idea. I can then quickly swap between these groups and the tabs within with hot keys without having to reach for the mouse and scroll through what might otherwise become a cumbersome number of tabs in a single window.

Yeah, I really like tab groups. I can understand that they're not for everybody, but please accept that some of us really like them and have integrated them into our browsing workflow.
"No Multi-Process Architecture"

This is a feature, and I like it.

The rest is just flamebait.

how is this a feature?
Lower memory usage (I think).
You know, because the reason there are threads in the first place is that a single running process can share its global variables and heap space. When Chrome runs in multiple processes, it has to duplicate its global (mostly static) variable space each time.

Albeit, that is certainly peanuts next to the v8 interpreters heap, the web page itself, loaded images, etc, but there is a reason few programs do the multi-process thing.

Chrome doesn't really get a speedup from it, it gets a stability bump. If one tab crashes in Chrome a tab goes, if a tab in firefox goes it drops the whole browser process.

As a development design pattern, if you are concerned with stability, you fork your threads into their own processes and prepare for them to go down in flames.

I have more than a 100 tabs open at once, it DOES add up.
So you're for or against Firefox using a multi-processor architecture? For me, FF becomes unbearably slow when I have about 15-20 tabs open.
For me, everything except FF is unbearably slow and memory-hog-y with more that that many tabs.
I'm not sure whats causing your 15-20 tabs to slow down the browser, but I managed at one time to build up over 256 tabs[1], and I can't say I noticed any performance drop over having single digit tabs. I haven't tested doing that in chrome, through I suspect the individual processes with no shared memory (sandboxing) would cause some trouble.

[1]: Restore tabs on exit. If one do not clean up after a while, the tabs will just continue to increase.

That's got to be an addon problem. I can't remember the last time I had less than 15-20 tabs open. I have to get to 80-100 before I start feeling any misery.
I'll have to look into that. I run Ghostery, Adblock and Reddit enhancement suite, but that's it.
Not a very informative comment, but I mostly agree. I use both browsers and never noticed any real annoyance in the Mozilla side.

I don't know if the author is trying to make Mozilla prioritize his desired features, but the years-behind metric doesn't sound very friendly, or used-centered for the matter.

And there is a simple solution to that (poor multi-core utilization): go back to a one-window, one process model (go back, as in delete a lot of unnecessary code); forget the browser tabs - let the OS handle multitasking and let the window manager handle the windows.
The hard stuff isn't the window system/widget integration, it's having multiple processes open for the same domain (or iframes in different processes) and mediating access to local storage/IDB/cookie jar/network cache/etc.

It was only very recently that WebKit2 handled most of this stuff -- up until then they just had a single WebProcess (I think Safari on Mavericks is the first multi-WebProcess browser Apple have shipped). So it's a hard problem and isn't due to some lack of competence that Mozilla have been slow to adapt. FxOS is fully multiprocess afaik.

Actually getting the rendered page image into a window owned by another process is easy: windows and X let you host HWNDs and Windows from other processes (if you choose to allow your WebProcesses access to the window server) or you could draw into a shared memory segment. The hard stuff is all of the regular browser hard stuff.

I can't accept your complicated worldview. Iframes, for example, don't need to be new processes. One process - one window - one DOM. The only new process should be the rendering canvas/window. An iframe, or any nested resources can re-use cookies associated with a window/process, including caching. In order to persist tokens/cookies/cache between processes you hand them their own copy when you spin them up and write them out to a common, re-usable place when you close, but for the most part I consider browser statefulness to be more like a flaw than a feature (I constantly clear my cookies, form data, and history). how about a "save session" button, rather than the default being to cache objects and cookies in some common blocking profile that only allows one session and that, when it crashes, it all comes down... If you really want to share, you wrap those services up in a library - which is closer to the present model - but you have to know that in doing so you are making it harder to isolate things when they fail... And isn't that what's wrong with most browsers?
This is optimizing for the wrong thing (developer convenience vs. user experience). People like using tabs in their browser more than windows.

This also ignores the other important benefit of mparch: sandboxing. The browser needs some elevated access but the page content does not.

I don't see developer convenience and user experience as mutually exclusive. If an application is simpler and more consistent, that can save time for both users and developers.

(I also don't see how a one-process-per-DOM model prevents any other forms of sandboxing inside the browser. The OS doesn't understand webpages and cannot isolate them from each other - the browser does - so sandboxing pages is the browser's responsibility...)

The current round of multi-process architectures (that is: Chrome) don't really scale though. After you have so many renderer processes they start shoving unrelated pages together, so if you short-lived heap-fragmenting pages bundled into the process of a long-lived page then you lose your memory "forever", even when you close the short-lived bad tag.

I wonder if you could keep every page in its own process, but manually freeze unused processes and write them out to disk -- an application driven disk paging system basically. For pages where there's no state the browser could just kill them and reload them, iOS style (though the iOS browser doesn't care if it nukes state).

The article was meant for very non-technical users, but I did find it hilarious that the task manager proving the superiority of chrome because each tab has a separate process so delays in one tab don't affect delays in other tabs showed... 0% CPU utilization on them all.

So whereas chrome has X number processes each using 0% for a total of 0*0=0% use, firefox would just have 0% cpu on its one process for a total of 0% use, obviously a substantial difference between FF and Chrome LOL.

I use both and the main thing I notice is they're so similar that you'll see articles from one or the other trying to differentiate themselves from the other to gain user share, as if the users can tell the difference. Even the addon / extension names are either the same or about the same.

Chrome was years behind Firefox, too: https://code.google.com/p/chromium/issues/detail?id=143 - from at least 2008 thorough 2012 there was no proper color management in Chrome, while Firefox had it. This was a deal-breaker for some users. Eventually Chrome copied what Firefox had for many years. It goes both ways.
The first comment on the issue is "It fails in Firefox 3 for me, working in Safari 3 though.", so the feature was copied from Safari?
Back then, you had to enable a preference in Firefox to enable full color management. For people who cared about it a lot, this was more or less OK. The commenter there probably didn't know, and you see people further down mention that. I'm not sure which browser was first to have good color management on Windows, but in any case Firefox had it within a year or so of when wider-gamut monitors started to become popular. Chrome didn't have it for about five years, and during those years I never recommended it to friends because I couldn't use it myself.
I see, I was just confused by the comment
> no proper color management in Chrome

Can you elaborate on this? I'm relatively new at it, but I write code for a color science company so I'm curious as to what you mean.

Edit: I'm also reading halfcamerageek's URL: http://cameratico.com/guides/web-browser-color-management-gu...

Take a look at my comment below. Page elements and untagged images are rendered on the full display gamut. If you have a wide gamut display, like my 30" Dell, everything looks super saturated.

The correct behavior would be to interpret all page elements and untagged images as being in the sRGB color space. This is what the W3C recommends and Firefox follows.

It doesn't really go both ways. It should be expected that Chrome would be playing catchup since it launched six years after Firefox launched.

Now, as the author pointed out, Firefox seems to be unable to keep up in some key areas.

You can install webapps from the marketplace on firefox desktop now (in nightly at least)

Firefox OS has a multiprocess architecture, I believe the main problem for desktop is plugins / backwards compatibility

It's nice to see a Firefox vs Chrome article that doesn't mention memory usage.

The App store idea isn't that dissimilar to the add-ons Firefox has had essentially since it was born (along with a central repository), especially since Firefox add-ons can do so much more with the browser. Admittedly, there's no concept of money with the add-ons, which makes them almost useless as a way to build a business.

With all the nice items recently implemented in Chrome and all the lagging behind and alleged slowness of Firefox, I still see "aw, snap! crash!" in Chrome an order of magnitude more frequently on my screen than Firefox crash reports.

However the slowness of Firefox when Firebug is on when loading resource-heavy pages starts really bothering me.

I just switched back to Chrome again from Waterfox. It's crazy how even with only a few tabs open(Facebook, a few HN threads, some reddit and YouTube), Waterfox alone will bring my Core i7 with 8GB of RAM to a crawl. Even before I switched to Chrome, I was using IE 10 in tandem with Waterfox so that it wouldn't bog down my system so much.

Edit: Maybe it's just me? I'll have a look at my settings. Thanks!!

Huh, it's always as many opinions as people regarding Firefox vs Chrome. I only experience Firefox crawling when opening looots of heavy tabs. Probably it's heavily a matter of 1) an operating system and 2) config. I use Windows XP / 7, lots of add-ons with customized settings and super strict AdBlock rules.
Browse to about:memory in that bogged down Firefox and find out exactly what's bogging it down. As a web developer, Firefox is my main browser on an i7 8gb Win 8 machine and I can't remember any single time I've seen the browser bogged down.
On an 8gb machine, the browsing being bogged down probably doesn't have anything to do with memory usage. To figure out what is making everything slow, you need to use the built-in profiler with Nightly. I was able to use it to track down browser slowness I very occasionally see to a particular line of code on Facebook.
Could it be their their Flash implementation? I'm using FlashBlock, and I never experience crashing in Chrome.
Here's why I don't care: I like Firefox better.
Without all the add-ons that make browsing useful, it doesn't really matter how far "ahead" chrome is.
So I could play the same game and say that Chrome is years behind because it usually shows up as the top memory hog when benchmarked against other browsers, including IE.
Also: Firefox seems to discourage you from messing with cookies. For example: I can't select cookies by TLD. I have to painstakingly go through the list, clicking each host and clicking "Remove". Compare the cooking management functionality with the next tab over, password management. There you can filter the list as you want. So it is possible.
Both Chrome and Firefox utterly loose out against Opera in that department, where you can actually edit the cookies, without jumping through any "expert" hoops. Admittedly I don't think I ever used that for anything but debugging, but I still think it's a nice touch, and I am sure someone out there learned a thing or two about websites and browsing just by studying the Opera config dialog.
One of the more important plugins when doing fresh installs are some kind of cookie jar. Mozilla should really pull one of the nicer plugins into the project and just make it default.
Well, Chrome can't even be installed without being a pig about it -- no way to set the installation location, no option to disable the background updates or keeping the last few versions of Chrome around. I guess it's okay if you don't really do much with your computer though, and don't mind the resources wasted on Chrome being needy. (e.g. I have old school DSL with 100 kb per second; I like to choose when I want a browser update, and it's hardly hi-tech to allow for that)
And to the downmodders: granted, I only speak from personal experience, but from that I speak. Since I stopped using Chrome (both regular and canary), and stick to Opera, Firefox and FF Aurora, I can basically do whatever I want. Having 20 websites open in Opera, a bunch more in FF, and a video running in VLC or Renoise playing a song -- while playing L4D2 in a window, zero problems, even with my crappy GPU and otherwise good, but not crazy specs. With Chrome in the picture hard crashes were the norm for me.
I will say this for Firefox--the recent work to fix memory leaks has created a HUGE improvement. I often have dozens of browser windows or tabs open for days at a time, since I just sleep my laptop between work sessions. Firefox is now as stable and snappy as any other browser over such time frame. It's really a great improvement.
"If Mozilla can’t turn Firefox into a modern browser because of all the legacy code getting in the way, perhaps we need a Phoenix 2.0."

That sounds like Servo [1] to me. That would also be a much more forward-thinking approach to Electrolysis than fully separating the old Mozilla codebase. Firefox is also competing very well with Chrome in JavaScript speed. [2]

[1] http://en.wikipedia.org/wiki/Servo [2] http://arewefastyet.com/

Full rewrite is an ambitious, but very good initiative. Firefox has done (and is still doing) a great service to the web, but its origins can be traced to the Netscape Navigator, one of the very first web browsers. For a huge system like this, it is hard, if not impossible, to change the fundamental architectural decisions, such as a single process model. It is better to take the experience and design a new system from scratch.

I hope Servo can avoid the second system syndrome.

Kind of OT: With the latest Chrome update on Mac OS X, the tabs just freeze if I try to load a JS heavy site like Facebook, Youtube, etc. and as a result, I have to just close the tab. Any pointers on remedying this?

I started using Firefox again and everything works except for some reason, I cannot login to Twitter. After entering the details, and clicking the Login button, I'm redirected back to the login page. I can view tweets just fine (without being logged in).

In theory it might be so but when I open a large number of tabs in Chrome it becomes sluggish. Not so in Firefox.
...and if open source software is the future, the Firefox is lightyears ahead...

I use Firefox - on Windows. I am not a Gnuist. I use Firefox because there are some areas where my interests and those of Microsoft and Google are not sufficiently aligned to justify using their software in lieu of convienent alternatives. The desktop browser is currently one of them.

As an aside, I don't really want my browser sucking up as much CPU bandwidth as it can.

Open source Chrome exists.
Mozilla are leading the way in other areas. Firefox OS is entirely based on HTML5 - even the UI. Mozilla invented asm.js, an open, backwards-compatible and fascinating alternative to Google's proprietary Chrome-only Native Client technology. They've done a lot with emscripten to compile large native engines to the web, complete with WebGL and Web Audio support. Chrome looks to follow Mozilla's lead by adding asm.js support to V8.

I agree Firefox are overall more behind, but they are still an innovative company coming up with some fantastic tech. The main reason they're behind is probably because their codebase is pretty old, back from the days when they were busy saving us from IE6.

> Mozilla invented asm.js, an open, backwards-compatible and fascinating alternative to Google's proprietary Chrome-only Native Client technology.

Native Client isn't proprietary, its open -- no other browser vendor has adopted it, but that doesn't change the fact that its open. Backward compatible is a real issue with asm.js vs. NaCl, there is no reason to obscure the real issue by throwing a fake one in with it.

Oh, fair dos. But I think asm.js is so much of a better idea that there's no reason to support NaCl - asm.js does everything it's supposed to do but better. I think it was a pretty nice move from Mozilla.
> But I think asm.js is so much of a better idea that there's no reason to support NaCl - asm.js does everything it's supposed to do but better.

A key focus of NaCl and asm.js is performance, and IIRC most benchmarks are showing NaCl with somewhere between a 25%-33% additional overhead over native C, and asm.js with somewhere in the neighborhood of 100% additional overhead, so I don't think I can quite agree that asm.js does everything NaCl is supposed to do but better.

That said, the other advantages are there, and the performance gap may close.

Those statistics are misleading. The asm.js numbers count compilation time, while the PNaCl numbers don't.
If you've got statistics that show asm.js is equal or better including compilation time, I'm sure lots of people would like to see them.
Can one company change the next version of the spec without the collaboration of other users? If they can then it is proprietary even if it is open.

Was it developed by a collaborative effort across the market or was it dropped as a complete solution that they then tried to get approved by a standards body? Then it is probably proprietary even if open to everyone to use.

Chrome really needs to add tagging of bookmarks. I know there are many people who say it does not need it, but they are wrong, it does. I know that it does because every time I have to dig, search and poke around looking for a link in Chrome that has something to do with 'x' and 'y', but 'x' and 'y' are not in the url or title of the page, I can't find it. If I had the ability to tag the url with 'x' and 'y' all I would have to do is is type "x y" (like you can in Firefox) and the link would be there. Do any of you know why does Chrome not have this feature already?
He gives a bunch of "ways" in which FireFox is (in his opinion) behind Google Chrome.

The only "reason" (why) he gives is mentioned very briefly:

> With so many former Firefox developers now working on Chrome at Google, perhaps it makes sense that the innovation has been happening in Chrome, not Firefox.

The real question we should be asking is what happened to investment in FireFox? Why has mozilla had a hard time retaining or acquiring talent? If the community values the existence of FireFox, and a real (top to bottom) open-source alternative to the IE-Chrome-Safari triumvirate, what can be done to get Mozilla back on track?

Most importantly, what happened to Mozilla that it stopped being an innovator and became an imitator? Is it something inherent in it's status as a "not for profit"? Is there something wrong with it's values and goals that prevents it from being truly innovative?

Those are intended as mostly rhetorical questions. My point is that the article has a bad title. It should be "Here's How FireFox is Behind Google Chrome" not "Here's Why".

"Here's Why" is a much more difficult conversation to have--and I don't pretend to know enough about Mozilla to have any insights or opinions on the matter.

Non-profits find it culturally difficult to pay Google-level salaries to developers perhaps?
That's certainly part of it. Non-profits generally cannot compete with Google in terms of cash.

But are there other ways for them to try and attract or otherwise develop talent? Perhaps their current model is insufficient.

It's interesting to see that Mozilla has become more involved with Samsung as a technology development partner. Perhaps that is one model.

The Mozilla Foundation gets $300 million annually from Google: They can certainly afford to pay some developers Google level salaries if they choose to.
Okay, so if it isn't about the money, then what is the reason for losing so many developers to Google?

Or is the idea that Mozilla has been losing key people to Google (as mentioned in the OP) not legitimate?

If I am to hypothesize, I'd say they are tired of Mozilla's way of doing stuff. But I have to ask to put some hard data behind this, because I hear it a lot, and I don't see much evidence for it.
I think its more that non-profits find it financially difficult to pay Google-level salaries to developers.
Sorry, I thought it was common knowledge that the Mozilla Foundation gets a huge income stream from Google. $300million / year until 2014 according to Wikipedia.
I'm not sure where the $300 million number comes from (yes, I know you said "Wikipedia", but there are lots of pages on Wikipedia, and neither the Mozilla page nor the Firefox page supports anything close to that number, nor does Mozilla's most recent annual report -- in fact, Mozilla's total annual revenue is only around $160 million.)

And the whole point of Google paying Mozilla is that that money is less than the search revenue Google derives from people using Mozilla's browser, which also suggests that its less per user than Google would derive from people using Google's browser -- or, IOW, that the the Google has more to gain by spending additional money on development, assuming they acheive as much in terms of attracting users.

> Most importantly, what happened to Mozilla that it stopped being an innovator and became an imitator? Is it something inherent in it's status as a "not for profit"? Is there something wrong with it's values and goals that prevents it from being truly innovative?

pdf.js, sweet.js, Persona, asm.js, Rust, and Servo aren't innovative?

Exactly. Mozilla has been working on a lot of stuff that really matters in a long game and for the internet in general. A lot of the OS foundation level features coming to the browser aren't coming from Chrome/Google, but from Mozilla/Firefox and Samsung/Tizen. Check out all the WebAPIs. How many of them are being pioneered by Google? How many by Mozilla?

My personal opinion is that both are doing a lot to innovate and a lot for the web, but that they are complementing each other. Google is pushing forward the front-end and how the browser works with current content. Firefox is working to get browsers to the point where they can do many of the same things that operating systems can do today. A lot of that work is not as straight forward as reimplementing what operating systems do, since they often require entirely new trust paradigms because sensitive things are being exposed to the open Internet. It's not a trivial task.

Lastly, Rust and Servo matter a lot. You will only be able to get so far with WebKit/WebKit2/Blink/Gecko/Trident, etc. before you start hitting the limit of the architecture of each is capable of. Rust and Servo are being architected from the ground up with the future of computing architecture in mind. This means that they will be behind now, but will jump ahead once Servo is production ready.

Assuming these criticisms are all valid, this quote is important:

>> The fact that we have an open-source browser created by a non-profit organization only looking to make the web a better is great for the web. That’s why it’s a shame Mozilla has allowed Firefox to fall so far behind.

We should be asking "how can we help make/keep Firefox a strong competitor?"

I still use Firefox mainly because of Pentadactyl. If there was a proper alternative for chrome I'd switch back.

That, and the whole privacy thing.

It seems the author is either simplifying things too much in their text or does not know what threads are. Not having multiple processes does not mean a program cannot execute things in parallel, and Firefox uses threads liberally. As far as I know, the multi-process architecture of Chrome is mostly about sandboxing, not performance.
This article is, in my opinion, not very good. It documents areas where Firefox differs from Chrome, yes, but it fails to make the case why I should care.

* I don't want a multi-process architecture, I want it so one tab can't kill my entire browser. If Firefox can get there in a different way than Chrome, so much the better.

* I don't care whether or not my browser utilizes certain Windows features, since I run Linux. Have we seen an attack against Firefox which would have been stopped if it utilized this Windows feature? The article provides no evidence of this.

* I don't want a desktop app store. addons.mozilla.org is, for all intents and purposes, Firefox's app store. mozilla.org is Mozilla's "app store". This is kind of a silly request.

I use Firefox for the following reasons:

* There are extensions I like which have no equivalent (that I know of) in Chrome

* Inertia

* I like the Mozilla Foundation better than I like Google

I don't expect these reasons to convince you. They are sufficient for convincing me. I'm not going to pretend like they present a compelling argument.

To this list you can add the deal breaker - Firefox is not mining your data and then passing it on to the NSA.
Even if this were true (and there's no reason to believe that Google Chrome is being used in this way), there's still the open-source Chromium browser.
Which is a Nightly as well as being a pain to update. (though I hear it's different on GNU/Linux)
Which Google has made intentionally hard to find. Could your mom or grandmother figure this one out? http://build.chromium.org/f/chromium/layout_test_results/
On the systems I work with, it's easy to walk your grandmother through "click on the black square, now type apt-get install chromium, now hit enter."
Yea, my dad still hasn't _quite_ figured out copy and paste but was clicking around the Ubuntu Software Center one day and managed to install Chromium (he heard me talk about how I was planning to install Chrome on his computer and I guess the names were similar enough).
Chromium is inferior in certain respects, such as lacking an integrated PDF viewer.
I would really wish that Firefox provided a way of disabling all external services, including Googles.

If you go to the about:config and search for "Google", I would like the ability to disable all these services.

Firefox button > Options > Options (or Tools > Options) > Security, un-check both "Block reported attack sites" and "Block reported web forgeries"

That will turn off the Firefox Safe Browsing features that come from Google.

Seeing as it's extremely likely that the NSA is tapping into fiber at exchanges near major corporations, and almost everything you do online is tracked by someone, it seems like a moot point anyway.

Who cares if Mozilla or Google is providing the NSA with access when the NSA is monitoring all the data heading to and from them without permission?

Why wouldn't you want a multi-process architecture? It's bad enough that so many apps can utilize the quad core CPU's we have in our PC's. At least the browser is one app that can fully take advantage of multiple cores, unlike most apps out there.
You can take advantage of multiple cores using a single process with threads.
But don't threads generally share memory? So therefore if a thread crashes, it can totally screw up all the other tabs still.
mtgox was talking about scalability, not stability.
Scalability just makes me want stability all the more because the stakes are that much higher.
He's mtgx, not mtgox (the Bitcoin company).
Scaling (and taking advantage of multiple cores) can be done by using threads instead of processes, but processes (and IPC) have larger overhead than threads. Processes need more RAM than threads.

Google (and Microsoft) argue that using processes make the browser more stable in the sense that if one tab crashes, not the entire browser crashes, too (correct, as long as no deadlock in IPC between the processes occur - which has happened in some past Chrome relases) and makes the browser more secure (but not everybody agrees here). Thus they argue that the overhead of processes over threads is worth it.

But if you just want the scalability there are more easy solutions.

>At least the browser is one app that can fully take advantage of multiple cores, unlike most apps out there.

Nope. The vast majority of web pages and web apps do work either on page load, or in direct response to user input. While in the background, they almost universally sit idle. Multicore has no benefit in this scenario.

The exceptions are games and media, but music is the only case there where you are likely to have something actively running in the background. Unfortunately, audio decoding is so incredibly cheap now that the gains from using a separate core are negligible.

Let me introduce you to my friends Gmail and Facebook.
I didn't say I definitely don't want a multiprocess architecture.

Just that a multiprocess architecture may not be the only way to solve the problem, and if Firefox devs believe they can provide equivalent stability without switching to a multiprocess architecture, I won't ding them just because they can't tick a checkbox that Chrome ticks.

It's actually hard for a browser to utilize multiple cores, because Javascript and DOM designed for one thread: While javascript runs the layout shall not be recalculated. When you click and an onclick handler fires and JS runs, the browser cannot run other JS of the same tab in parallel. While HTML is parsed any time a inline script could come and block processing the rest of the document.

Chrome and other browsers of course work hard against that: There is a second fast parser which heuristically finds ressources to preload and Chrome just switched to blink in order to do the parsing and something else in parallel and now they want to do CSS calculations in threads, too, which is hard. There was a story here about it recently: https://news.ycombinator.com/item?id=5895729

It's significantly more difficult to share resources between processes than it is between threads. There are certainly things you can do, but it requires much more effort (especially if you're trying to be portable), and the results typically aren't anywhere near as good.

The effect of this is pretty obvious with chrome vs. FF: chrome memory usage grows a lot faster with multiple tabs than FF's memory usage does. OTOH, it's easier to manually control usage in chrome by killing tabs. Which of these effects is more important depends on your needs (so I tend to switch between chrome and FF...).

Anyway, anybody claiming that chrome is "obviously" better than FF these days is on crack. They are both very good, and each has its strong points and weak points, but they're pretty much on par...

> There are extensions I like which have no equivalent (that I know of) in Chrome

Can you give an some examples of useful extensions you use that are available in Firefox but not yet in Chrome ?

vimperator is probably the most useful web extension i've ever used.. and it doesn't have a good chrome equivalent

http://www.vimperator.org/vimperator

I've used Vimperator before but I now use Vimium on chromium and very much prefer it.

When you navigate via keyboard (by pressing "f"), Vimperator marks links with numbers, Vimium marks them with letters, from ("a to "zz'). Letters are much nicer when you can touch type and your hands are already on the keys.

Vimperator used to do silly things like hide the address bar and force you into doing everything in a kind of "command mode". It never felt very smoothly integrated with the browser and it was always a pain to try and open a new site via command mode instead of just using <Ctrl>-L and typing it in the address bar. Invariably I would try to type something in a textbox or use some keyboard shortcut, only to find that Vimperator hijacked it and I'm now typing in command mode.

Vimium doesn't give me these problems because it doesn't have a command prompt/mode. Besides that, it's integrated very nicely with chrome, in such a way that I can use normal keyboard shortcuts as far as possible, but have vim-like shortcuts for the things that matter (e.g. "/" for searching, navigation via keyboard etc.)

Pentadactyl (Vimperator fork) annotates links with letters now, I think on the home row.

The very first instructions that you saw when opening Vimium were "How do I unhide the address bar?" It takes two clicks or just a few keystrokes.

to me vimperator isn't just about having a few vim bindings here and there, it completely redefines the browsing experience... also, when you "f" to find links, you can just enter a piece of the url string and vimperator opens it.. either way, it doesn't matter much..

vimium is a lightweight clone of vimperator, if that's what you want then of course you'll prefer it..

these "problems" you're talking about in vimperator are features once you actually embrace it and use it properly. it's a power user's tool.. and should be recognized as such..

http://i.imgur.com/vznzJMV.png

> I've used Vimperator before but I now use Vimium on chromium and very much prefer it.

> When you navigate via keyboard (by pressing "f"), Vimperator marks links with numbers, Vimium marks them with letters, from ("a to "zz'). Letters are much nicer when you can touch type and your hands are already on the keys.

I can't get myself to use Vimium. While I agree that it is in some ways a stronger navigation experience, the fact that it goes inert on un-loaded pages is a deal breaker. Not being able to cycle through my tabs all the way is not cool (i.e. as soon as it hits gmail it ceases to respond).

Also, while I do like the alphabetic link highlights, I dislike the size. Particularly here on HN, the links can overlap making it difficult to determine what the second letter in the sequence is.

Fully agreed. I've tried both Vimium and Vrome. Neither were adequate, IMHO. Had I never touched Vimperator, Vimium would have been perfectly fine - but my bar is now set much higher.
downthemall, But I use chromium and go to firefox when I need it.
GMarks. There are a couple of Chrome extensions for integrating with Google Bookmarks, but they can't touch GMarks on Firefox.
Tree Style Tab - tabs should be a tree, not a list.

The last I heard, Chrome had a vertical tabs feature for a while, but that didn't allow nested tabs.

This is honestly the only thing keeping me on firefox. After getting used to it horizontal tabs just seem so... wrong.
I addition to the other extensions that have been mentioned, such as the awesome Tree Style Tab, the Session Manager extension[1] for Firefox is far better than every session extension for Chrome that I evaluated last year. Nothing came close. For example, at this point, I couldn't live without session appending, which is a feature that wasn't included with any session extension for Chrome that I evaluated.

[1] http://sessionmanager.mozdev.org/documentation.html

Live HTTP Headers
good reply.

i use <strike>iceweasel</strike> firefox for the same reasons, specifically:

* pentadactyl (formerly vimperator)

* xul and xpcom took time to read about

* i like that the entirety of the codebase is free, not just the big blocks of C++

oh, and might be worth noting that the mobile version of firefox is multiprocess, and there's always the -no-remote flag (if you want to debug something w/o potentially crashing the 20 tabs of docs, bug reports, mailing list archives, and stack overflow you had to dig through to find the thing that maybe, possibly created the bug in the first place), although i totally agree about this thing where solving the problem of stability has somehow been conflated with running more than one process.

to each their own. having more browsers promotes a healthier "ecosystem" or something like this.

Multiprocess is also important for security. It means that simply finding a renderer exploit isn't enough to pwn your system if the renderer processes have no privileges to write/execute arbitrary files.
If you're running your browser as a privileged user then you deserve to have your system pwned.
A privileged user has nothing to do with it. Running as a non privileged user will not stop keyloggers, cookie theft, privilege escalation exploits, etc.
He also mentions that there is no web suite anymore from Mozilla, but there is; it's called SeaMonkey and it's actively maintained. Although, a lot of it is upstream features from Thunderbird and Firefox.