I have been very impressed by Firefox lately. Kudos to the whole team at Mozilla.
Just about 5 years ago, it was looking to me like it was the end of Firefox. It was Chrome all the way. New features were coming out one after another. Faster rendering. Safe process isolation for each tab. Looked better.
But I just switched back last month. It happened kind of randomly. Saw an announcement of a new release ( 33, I think ), downloaded, re-imported my bookmarks from Chrome and just kind of kept using it instead of Chrome since then.
I like how the tabs look also I think it feels lighter and snappier on my (now old-ish) laptop.
Same here. Especially as Google becomes more and more evil, Chrome looks less attractive. Even on mobile, I use FF, despite it needing a lot of work and having a lot of rendering and input issues. And Chrome on Android looks very sexy. On desktop, FF is fine, once more.
Rust is also one of the most promising languages with a potentially massive impact on the world. Not only safer software, but exposing more programmers to better ways of coding. (Imagine how different the world would be if a popular OS had adopted a Rust-like two decades ago.)
I am actually still going back and forth between chrome and firefox and it's design was something that was holding me back, specially in a stacking window. Now looking at this I looked through themes and found Simple White[1] something that way out dones chrome and et all in sexy factor.
I would like it if something like that was the default and never changed. They seem to keep trying to jump on whatever style is popular when they start a redesign but by the time it appears in a release version it's way out of date. The developer tools are even worse in this regard, they're not even consistent with the rest of the browser. Themes are much better suited to keeping up with trends, the default should be simple.
well styling is always a matter of personal opinion. I don't think Mozilla should spend time on theming it's developer tools as long as it's readable and usable.
For the main theme, as long as it's customizable to satisfy the 5% of grumpy people I'm fine with that. The other 95% just doesn't care.
Isn't it actually whoever will pay the most to be the default search? I mean, I <3 google search, but i'd bet microsoft could pony up quite a bit of cash as well.
Once upon a time, you could come across a post like this and confidently respond to it by pointing out that, no, Google's position as the default search engine in Firefox is not for sale to the highest bidder. So that even if, e.g.:
a) the "deal" with Google had never happened, and
b) Microsoft came out of nowhere and began offering to pay what Google is actually presently paying (or, let's say, just for fun, even double or triple that), all while
c) Google were making no offer to start paying
... then Google would still be the default search engine in Firefox, regardless.
Years ago, Google was head and shoulders above all other search engines. Today Google's competition are almost as good, so other parameters might affect Mozilla's search engine defaults.
We are not talking about whether or not other search engines are probably, maybe now in a better place to compete with Google in terms of quality. Let's assume that they are, even. In fact, let's assume that they are, in fact, better. What we are talking about is this question:
Is the default search position in Firefox for sale to the highest bidder?
If Bing today is the better search engine, or if it's slightly inferior to Google, or if your perspective is that when Bing debuted it was terrible and it's even worse today--these are all absolutely immaterial. They have no bearing on the answer to this question.
Well the set of Mozillians today is not the same as the set of Mozillians in 2009, which is not the same as the set of Mozillians in 2004. It's such a facile thing point out, but it has a huge impact on a project.
Then, it's another very facile thing, but a person involved with Mozilla today who was involved X years ago differs from themselves by X years of experiences. X years' difference also produce X years' worth of changes in the externalities on a project. For example, what impact did the timbre of HN alone have on Mozilla in 2011? What impact was it having in 2008?
So pick how far back you want to go, and then enumerate events that have happened since then. The establishment of Mozilla Corporation. Key developers exiting the project to go work on what would become Chrome. Working with Google on VP8 before the public announcement at Google I/O 2010. The reality of a company that had a couple hundred employees or so for years and then quickly grew to one that now has 1000+, and dealing with that. The shift in focus from the Internet to a focus on the Web, and coping with a lack of influence on the direction of both. The shift in focus on users to a focus on designers and Web developers. The not-terrible idea but also not-amazing idea to try out directory tiles, then dooming it and destroying all kinds of public goodwill in a single stroke by doing this: < https://blog.mozilla.org/advancingcontent/2014/02/11/publish... >. Coping with a number of other failed projects and initiatives over the years like: Theora+VP8 for free video, BrowserID, Do Not Track and changes to third-party cookie policy, and Firefox OS.
Those are some changes Mozilla has been through.
(Note that this is a list of changes Mozilla has gone through, not a "list of bad things about Mozilla". If I were trying to make that kind of list, there are things on there that I wouldn't have put there, and things that aren't on there that should be. But it's not that kind of a list.)
> Don't forget that a large chunk of Mozilla's revenue comes from Google
I'd love to support Mozilla as much as possible, but no way I'm keeping the default Google-search when you have stuff like DDG around.
Hopefully me wanting privacy doesn't impact Mozilla's financials too hard. Firefox + DDG only seems like the most natural combination: both are powerful and privacy-centric.
IMHO, Mozilla only appears to be privacy centric, in reality the way they hide the 3rd-party-cookie on-by-default setting shows that the user's privacy is not their top priority. I'm pretty sure that they are paid for hiding it like that and not blocking third party cookies by default (like Safari).
Disappointing.
The slogan on their page ("Committed to you, your privacy and an open Web") sounds hollow when considering this and their recent support for DRM.
Plus it doesn't forbid people to make a donation to support the software they like right ? That's what I do, knowing FFx isn't making any money from me, and knowing that I'm using years and years of development is a good enough reason for me.
When you donate it goes to Mozilla Foundation while search deal money goes to Mozilla Corporation AFAIK.
That means they actually need donations for the foundation to run (but its not 800 employees so its much less money). Legally you can't fund the Foundation with the Corporation money - since that would make 2 Corporation and zero Foundation then :)
I don't know if the opposite is possible (send donations from Foundation to the Corporation) but I suspect it has the same problem/effect.
> Legally you can't fund the Foundation with the Corporation money
The Foundation is the sole owner of the Corporation. The Corporation pays dividends to the Foundation.
Now the amount of those dividends can't be too much if the Foundation wants to keep its nonprofit status. "Too much" is determined by how much people donate: the restriction is on fraction of money that comes from non-donations.
I'm using Opera instead of Chrome. I use Chrome Canary for web dev, but Opera is basically Chrome sans-Google. It's got all the same features as Chrome as it's based on Chromium. Just none of the Google account features. I've also dumped gmail for fastmail and am trying out duckduckgo, but if that doesn't work out I'll just use Google in an incognito window.
I find duckduckgo quite usable for commonplace CS things such as programming in popular languages. For more obscure things I usually just enter g! [query] into my URL bar, so it will revert to an anonymous google. I find this better even just for the fact that I don't get the filtered down view of the world anymore - if there are things named similarly than the ones I use in the world, I want to know, so I can adjust my own naming.
Really? I tried to use DDG, I really did. But the results are just so subpar unless it was a simple "navigational" type search where I knew exactly what I was looking for. I really want to quit Google. I'd even pay for it. But they just dominate by such a large margin.
In my usage over the last few years, I've come to rely on StartPage for good search results (since it's a proxy for Google). While DDG has improved over time, it still is nowhere close enough to be a Google replacement for me. I end up doing searches on DDG only to repeat the same on startpage.com to get better results. DDG still does not have time based search (where you can search for results in the past day, week, month, etc.), which is a huge disadvantage for me.
I do use both StartPage and DDG, although it's more like a 80%-19% split between these two. The remaining 1% is still on Google to get things like news, and Self-Destructing Cookies [1] helps keep things clean on that front.
DDG results have greatly improved over the last year. I tried switching from Google to DDG a couple years ago, but didn't last more than a week. DDG results are as good (and nicer looking) than Google for general searches, but I still rely on Google for needle in a haystack searches.
Sorry, I understand that part. Was wondering what you meant by this (specifically the part about a "filtered down view of the world"):
"I find this better even just for the fact that I don't get the filtered down view of the world anymore - if there are things named similarly than the ones I use in the world, I want to know, so I can adjust my own naming."
It wasn't a loaded question or anything, not sure why I got down-voted either... (shrug)
Google gives you a "filter bubble", essentially exacerbating confirmation bias. That way if you search "what's wrong with Python" it won't return "snakes can hurt you".
I've been doing that for a few years now. I only need to log in for GMail, basically. At once or twice a day max, it's not a big hassle at all.
In particular, I find that YouTube is much more useful if you're logged out. At least then the sidebar contains related or similar videos, instead of the stuff I watched last week.
@addyosmani [1] is a Chrome DevTools engineer who often talks about new features. That's probably about the easiest way to find nightly updates without following a mailing list.
I've been using FF for a while, but partly switched off when I got a Surface (on account of IE's better touchscreen support).
But soon I'll be moving from iOS to Android, the wonderful land of being able to change your default browser. And I'll be using FF there for the bookmark syncing. Firefox on 2/3 devices ain't bad.
There was a lot of hate over the australis redesign, but I like it better than Chrome.
+1 for IE's touchscreen support. I keep holding out and using Chrome on my laptop for a few extensions and all of the bookmarks/passwords I have synced over the years, but IE makes Chrome look absolutely kludgy and clunky when it comes to performance and UI these days. It's a shame IE doesn't have a more approachable extensibility model...
Android is also the land where almost every single app can see who you call, who calls you, and get a unique serial number for your phone hardware. All because Google smuggled "check to see if the user's on the phone" permission, which many apps rightfully need, into that whole bundle.
As this is technically a very stupid move, it feels like the only way to interpret this is that Google wants more people giving up privacy, for it to be normal.
Also see: Chrome flips around OK/Cancel in the DNT enable dialog, purely to confuse and prevent users from enabling DNT.
For those curious, go look up Phone State and Identity. If an app wants to behave while your in the phone, it also needs to be able to read your IMEI and the number calling or called. So a flashlight app that wants to disable in call can now see that you're calling a cancer doc. This hardly seems accidental, given that knowing if the user is oh the phone isn't s sensitive operation.
As far as Chrome: go compare. Enable things like spell check, which put up a normal little explanation. Then try DNT, which elicits a scary disclaimer and swaps the OK and Cancel buttons.
Even with no Metro version of Firefox, the desktop version could be better. Touch scrolling in IE for desktop feels like it does on a smartphone. Firefox is jerkier and doesn't get momentum quite right.
I haven't tried Firefox in a coupled of months, but to me Firefox rendering was the worst out of all the top browsers. I think Firefox does something on purpose that makes rendering worse, such as delaying it somehow in order to increase performance or whatever. So for example you won't get the whole page rendered immediately, and if you switch to a different part of the page, you have to wait for it to get rendered, too. I don't like that much.
This has been covered repeatedly in the past. Rust inherently helps to prevent many types of memory related and concurrency errors.
Rust programs are not 'safe' in the sense that they cannot crash or have security bugs, but they are 'safer' in that the compiler automatically performs a series of safety checks to prevent common errors.
And note that the most serious security bugs in widespread software[1] are typically exactly these common errors. Eliminating them would have prevented nearly all of the remote execution bugs in history.
1: Widespread meaning OSes and popular platforms, not custom LOB apps where SQL injection exists on the login page.
Option types and safe pointers, and modern abstractions. Some other programming languages offer these too, but Rust attempts to do them while incurring no run-time costs.
It is effectively impossible to have an unsafe memory access error in Rust. The compiler eliminates a huge variety of bug types, including null pointer dereferences, use-after-free bugs, memory leaks, etc. All arrays are bounds-checked and rust encourages good programming practice like using abstracted list-processing mechanisms (like mapping instead of loops) and algebraic types instead of e.g. null pointers.
It is effectively impossible to have an unsafe memory access error in Rust
Please, don't say that. Lets be reasonable. Rust is great, but Rust code crashes and segfaults too, just like any language, programs have bugs, and those bugs can cause program failure.
Rust just has less of them, because it has a smart compiler. ...but it's not right to suggest that it has none.
Remember:
There is no way of ensuring that a rust program does not result in a segmentation fault or other memory or race condition as a result of unsafe code.
There is no way of ensuring a rust program does not contain any unsafe code.
I don't understand your post. If you mean 'unsafe' as in 'may misbehave' then the compiler can definitely ensure there will be no segmentation faults and there cannot be certain classes of race condition. If you mean 'unsafe' as in the keyword that lets you do dangerous things, it's trivial to check if your source has blocks marked with that keyword.
There's no way to ensure the compiler is perfect, but rust itself is not capable of certain types of errors.
You can always code the wrong algorithm, but that doesn't mean you can segfault or use after free (in the default safe mode you almost never have an excuse to leave).
You are flat put wrong, and spreading misinformation about it doesnt help anyone.
If you use any rust, and that includes dependencies and the standard library with unsafe code, bugs in the unsafe code can and do cause segmentation faults.
Its easy to say, 'well, thats a bug in the library, not a problem with rust', but thats the same as with C++ isnt it? If you can assert any code is 100% bug free then why do we care about the nice safety features in rust?
What is true is that any 'safe' code path that never enters an unsafe block in rust proveably cannot result in certain types of failures.
BUT every rust program uses unsafe code. In the standard library. In c bindings. In 'safe' pure rust dependencies (with hidden unsafe blocks). In loading dynamic libraries.
Its completely unavoidable.
What are going to do? Vet every line of every part of every dependency in the code you use? Dont be ridiculous.
Do you use rust?
..because practically speaking it does crash. Not often, sure. ...but this falacy that rust is 'provably safe' is absolutely false. Its provably false.
Thats why people saying it is unfortunate; it makes the rust community look like a bunch of clueless fanboys.
Please stick to reality. Rust has a zero cost memory management strategy and a smart compiler that helps to prevent certain types of common errors.
We dont need to step into magical fairy land to convince people rust is good. It stands on its own merit easily enough.
I guess I should have been more explicit that I was talking about the language itself (without the unsafe keyword). Not libraries written in other languages, not compilers. It's the job of theorem provers and whatnot to make those safe.
In other words I'm talking about code the programmer makes themselves.
>Its easy to say, 'well, thats a bug in the library, not a problem with rust', but thats the same as with C++ isnt it?
In C++ nothing prevents the lines I write from having memory errors. It's not the same at all.
>If you can assert any code is 100% bug free then why do we care about the nice safety features in rust?
Oh well you shouldn't do that, but you also don't have to use unsafe code willy-nilly. In C++ everything you touch is unsafe unless proven otherwise.
>What are going to do? Vet every line of every part of every dependency in the code you use?
There is no rust language without the unsafe keyword. It doesnt exist. The unwinding is unsafe. see the recent thread on /r/rust about mysterious segfaults.
Thats the point.
You cannot assert your rust program cannot crash.
Even if your code is perfect, there may be bugs in either the std library or some dependency you use that does crash.
Im not saying everyone uses unsafe code (or should) in their own code. Far from it.
Im saying that every rust program invokes unsafe code at some point.
So this myth of the 'pure rust' that is 'completely safe' is just that. A myth.
I dont understand why this is difficult idea for people to accept. Just use the good bits of rust. rust doesnt need to be 100% safe; its not, and thats completely ok.
You can write a library in rust that will never invoke unsafe code, even if you can't have an entire standalone program.
>I dont understand why this is difficult idea for people to accept. Just use the good bits of rust. rust doesnt need to be 100% safe; its not, and thats completely ok.
It's okay for now, but I'm eagerly waiting for a version where the important pieces of unsafe code can be formally verified. Give me safe unwinding, memory allocation, and sockets, and I can cover half the world.
As far as I know this isn't an especially difficult request. I could probably cobble together something right now by borrowing bits of verified C and gluing them to library-limited rust.
How often has one of your Rust programs segfaulted for you, when it wasn't a bug in your own unsafe code (as opposed to that in the standard library)? For me, the count still stands at zero.
I've been writing Rust for well over a year. I like to abuse new features and I've found many compiler bugs, but my code doesn't crash at runtime.
I'm not saying it doesn't happen, and the plural of anecdote is not data, but I think you're grossly misrepresenting Rust's practical safety benefits. That you only have to trust code in unsafe blocks, rather than all the code everywhere, is a huge benefit.
I'm certainly not trying to bash rust, and I do apologise if it comes across that way.
I just think a bit of realism makes everything look much more sincere and plausible.
As you say 'Rust cannot crash' is false. 'Rust has never crashed for me' could well be a completely true thing to say. Also, 'Its so much easier to write rust code (than say c) that doesnt crash!'
I completely ok with all of those.
..but 'you can do anything in rust and its always perfectly safe!' or 'rust programs dont have to worry about security issues' or 'It is effectively impossible to have an unsafe memory access error in Rust'?
Those are people being enthusiastic (good) but unfortunately spreading misinformation (bad) and making the rust community look bad (very bad).
I just wish people could be excited about the the things that are actually exciting about rust. I feel like this whole safety thing is a massive distraction.
fast, low level, concurrent and managed memory with no cost is both accurate and exciting about rust.
'helps avoid bugs and race conditions' isn't very exciting to me, but I acknowledge its important.
I guess 'completely provably safe!' is exciting to some people; but since its not true, Id prefer not to get people excited about rust that way.
The safety thing isn't a massive distraction. It's a major part of the point of Rust, whether it's exciting to you or not.
The graphical bindings you're using are not part of the standard library, which is why I specifically asked about that. I know there are bugs in third-party dependencies in Rust, because there are many C bindings that aren't exposed safely by those libraries. I've segfaulted using a TrueType binding library, for example, because it was not actually exposed in a way that prevented double frees. But writing a bad binding is something you can do just as easily in Ruby, or Java. The standard library is what we were originally talking about. I wouldn't disbelieve you if you said you crashed every fortnight using only standard library code, but I would probably press for details.
I am not saying Rust is "completely provably safe", but nothing is. You always have some trusted software or hardware that, if it screws up, will compromise your program. Rust's advantage is that it allows you to be explicit about what parts are trusted and what parts aren't. It vastly reduces the potential attack surface.
This is misleading. Apart from bugs in the core code (compiler and stdlib) you shouldn't be memory unsafe in an exploitable way. Even segfault from deref null should be rare. It's like saying Java isn't safe because it might call some JNI. While pedantically true, it's qualitatively different.
That's why effectively impossible is an OK statement. Unless you go out of your way, your program will not contain such bugs.
I don't accept that 'effectively impossible' means 'can happen, but probably doesn't happen very often'.
Rust has many other unsafe code paths than ffi; low level optimisations, dynamic libraries, etc.
Unless you go out of your way or are doing low level work, your code will not contain such bugs, and if you used no dependencies that do anything meaningful, what you said is plausibly true.
...but what are we trying to argue here?
That you can build a contrived rust program that doesn't crash?
Or that if you build an arbitrary program in rust, using arbitrary dependencies to do meaningful work (that will invoke a c library at some point, and talk to device drivers), that it wont crash?
In my view 'effectively impossible' is faaaaaar over stepping the bounds of reality.
Inveterate Rustacean here, and I agree with this. We need to carefully clarify the sort of safety that Rust provides in order to avoid misleading people.
Improperly implemented `unsafe` blocks can cause crashes. APIs that don't properly isolate unsafe interfaces can cause crashes. Bugs in the compiler, bugs in LLVM, and unforeseen unsoundness in the type system can cause crashes. So instead of saying "Rust makes crashes impossible", I'm starting to prefer "If you write only safe code, any crashes that occur are not your fault". A bit less comforting, but still a best-in-class guarantee for a bare-metal language (not to mention that the former claim is impossible in any language).
Furthermore, I think it's important to express to people the true role of `unsafe` blocks, which are not so much "Rust without safety" as they are "reified inline C code with a bit more safety". Rust without `unsafe` blocks could exist, but it would require an enormous amount of FFI and/or much more machinery baked into the compiler itself.
> There is no way of ensuring a rust program does not contain any unsafe code.
Sure there is. There's a compiler lint available which can disallow "unsafe" code, i.e. code which is able to create null pointer errors (and thus segfaults).
Of course, the standard library will always contain a bunch of unsafe stuff - but at least it's shared between every project, and any bugs can be fixed once, and assuming it's correct any non-unsafe code that depends on it is memory-safe.
I see it as a hubris against the idea that Google claimed to not be evil, and the fact that evil is such a poorly defined concept, and whether or not Google meets the bar depends entirely on the values of the perceiver. Many perceivers, for instance, miss the distinction between "Don't be evil." and "Don't do evil.". The former is a mindset, strategy, and intention, while the latter is impossible for a corporation with 50k employees.
Then, the only logical conclusion for someone who hasn't grasped all of the above is that Google is becoming more and more evil every day.
What's the mindset that ends up with Chrome going out of its way to swap OK/Cancel when you enable DNT? (I don't think DNT is a real solution, but I'd guess Google wants to be able to point to data showing users don't enable it.)
What's the mindset behind the broken permissions on Android? Where any app that wants to change behavior when you get a call must request permission to your IMEI and calling/called number? Or why the broken, upfront, all or nothing model is still even used?
What's the mindset behind G+'s incessant nagging, and forcing it as a requirement to even rate apps on Play? Or the same for YouTube, etc.? Not to mention the "real names" debacle.
At what point are we allowed to say Google's mindset is not "don't be evil" as far as external observers are concerned? Or will everyone that brings this up always be labeled as unable to understand?
> What's the mindset that ends up with Chrome going out of its way to swap OK/Cancel when you enable DNT?
Chrome dev here. The way the Chrome settings web UI is written does not lend itself to strong consistency, just eventual, as devs notice it and fix it. Your DNT example was fixed last week in
https://codereview.chromium.org/665113003.
Another example of inconsistent button ordering: the overlay for disconnecting a managed profile has its buttons reversed from the usual order, while the overlay for disconnecting an unmanaged profile does not.
Damn. I guess this just goes to show how hard it is for an external observer to judge intent. I mean, you gotta admit that between the long, scary warning and flipping the buttons around compared to other privacy related settings, it certainly seems like a dark pattern. But I've been on the receiving end of this, so I understand how frustrating this must be. "No, really, it was late and one line got pasted in front of another and no one noticed."
I guess that just leaves the fundamental incompatibility with Google's current business model and personal privacy.
> I mean, you gotta admit that between the long, scary warning and flipping the buttons around compared to other privacy related settings, it certainly seems like a dark pattern.
"What's the mindset behind the broken permissions on Android?
Where any app that wants to change behavior when you get a call must request permission to your IMEI and calling/called number? Or why the broken, upfront, all or nothing model is still even used?"
At the time android created its permissions model, most of these issues were not obvious, or it would have been done differently.
Remember, of course, that prior to things like android (the first version of the iphone only had webapps), permission models of any sort were pretty much unheard of. Flip phones running java apps, or blackberries, had apps that got to do whatever they wanted.
Permissions changes are being slowly made in android.
The same way you'd slowly change most serious things about something with billions of users.
It's not like C++ or Java just release new features every day (even if we may want them to :P).
This is of course, the same as any large system in engineering.
I don't know enough to comment on the rest.
"
At what point are we allowed to say Google's mindset is not "don't be evil" as far as external observers are concerned? Or will everyone that brings this up always be labeled as unable to understand?"
Truthfully?
It doesn't matter. At some point, every company large enough will lose its sheen, and people will worry about it, and eventually question its motives.
Nobody can be perfect at doing the right thing all the time, even if they wanted to. Eventually, even with the best of intentions, mistakes add up, and people stop believing.
In fact, i'd wager it happens slower if you don't even try to have good intentions, and and just stay under the limelight, rather than try and occasionally mess up.
In any case, I guarantee the same will happen to Mozilla (or whoever we want to peg as the current defender of the world) over time, the same as it has happened in the past to every other company. Non-profitness won't save them.
This is a lie, I have a Nokia with the S40 OS and Java apps can't just do anything they want, particularly sensitive thing like accessing contacts and making internet connections.
In fact, if your app isn't signed by Nokia, you can't let an app make a request without nagging you for permission. This totally kills homebrew.
This was the "pretty much" part.
But even that permission model is really really simple.
MIDP 2.0 had permission domains. In practice, the permission domains were basically "want this app to let you do anything on your phone Y/N?" for a lot of phones.
In the specific case of S40, Nokia's security policy came into play in 6th edition feature pack 1, or so Nokia claims.
The permission domains govern what the defaults are and what permissions you are able to request, but the permissions themselves are more finegrained. And none of them defaulted to "allow" – see table linked from the page you linked to:
http://developer.nokia.com/community/wiki/MIDP_2.0_API_acces...
"Trusted 3rd party domain" is everyone who gave heaps of money to Verisign. They get no permissions by default, but they can request, for example, network access and the user can then grant it once, per-session or always.
"Untrusted 3rd party domain" is the rest of us, and basically any app I ever installed, in which case the user is prevented from selecting "always allow" for network access and is prompted once per session, which was highly annoying.
So if anything, it was too secure! Sun sank their own standard by requiring expensive certificates for normal functionality. If they had used self-signed certificates they way Android does (checking on upgrade that it's the same certificate) it would have been great.
"Operator protection domain" and "Manufacturer protection domain" mighty work differently, but that's no different from the stuff that comes pre-installed on Android phones having access to everything without asking.
DNT is a bad idea that does nothing useful. Discouraging people from using it is good, just like IE always sending DNT is absurd.
Android permissions aren't great. When Android was being designed (before Google bought it), the permissions were a huge step forward from desktop apps, which can still do anything at all.
Arguably the very concept of upfront permissions is inferior to asking when needed, but attributing malice to the choice is silly.
It'd also be really hard (or even impossible) to change without breaking all the apps out there.
G+ is annoying, indeed. They were aping Facebook with the real names thing and they should've known better.
"What's the mindset behind the broken permissions on Android?
Where any app that wants to change behavior when you get a call must request permission to your IMEI and calling/called number? Or why the broken, upfront, all or nothing model is still even used?"
At the time android created its permissions model, most of these issues were not obvious, or it would have been done differently.
Remember, of course, that prior to things like android (the first version of the iphone only had webapps), permission models of any sort were pretty much unheard of. Flip phones running java apps, or blackberries, had apps that got to do whatever they wanted.
Permissions changes are being slowly made in android.
The same way you'd slowly change most serious things about something with billions of users.
It's not like C++ or Java just release new features every day (even if we may want them to :P).
This is of course, the same as any large system in engineering.
I don't know enough to comment on the rest.
"
At what point are we allowed to say Google's mindset is not "don't be evil" as far as external observers are concerned? Or will everyone that brings this up always be labeled as unable to understand?"
Truthfully?
It doesn't matter. At some point, every company large enough will lose its sheen, and people will worry about it, and eventually question its motives.
Nobody can be perfect at doing the right thing all the time, even if they wanted to. Eventually, even with the best of intentions, mistakes add up, and people stop believing.
I guarantee the same will happen to Mozilla (or whoever we want to peg as the current defender of the world) over time.
>Many perceivers, for instance, miss the distinction between "Don't be evil." and "Don't do evil.". The former is a mindset, strategy, and intention, while the latter is impossible for a corporation with 50k employees.
No, we perceive the disctinction just fine. Some of us just believe Google does "evil" with mindset, strategy, and intention...
No one said anything about comic book style. Google is the one that framed things in terms of evil. Are you saying Google meant it in a tautological way? That is, unless they start killing children or something really evil, it doesn't count?
You're suggesting that a scrappy startup in a field everybody else wrote off which eventually grew to be one of the biggest companies in Silicon Valley was actually just a front and not a real business the whole time? That strains credulity — really far.
I do not know if Google is evil, however I do find it hard to trust an organisation that feels the need to have "Don't be evil" as a motto, for much the same reason as avoiding someone on the street who is loudly reminding themselves not to kill people.
As a side question, I'm curious why you think that Google is becoming "more and more" evil? There are products like Cultural Institute, google.org, and many others which prove just the opposite.
Across Google products, the UIs seem intent on getting users to reveal and allow themselves to be tracked. Google appears to want to downplay this and get people in the mindset of giving out personal details.
See my other comments, but things like swapping OK/Cancel when a Chrome user attempts to enable DNT fit right into "evil". Really, how does one excuse adding a dark pattern like that? Even though DNT is bad, Google shouldn't resort to trickery to juke the stats.
Edit: A Chrome dev in this thread says this was fixed and just an artifact of how the UI code is in Chrome. Well that makes me look foolish.
I'm not a huge fan of the evil terminology, as it sounds melodramatic and it's easy to dismiss anyone saying "evil" in such contexts. I use it because Google chose that word.
On a less objective point, everytime I use a Google service, I feel icky. It's bad enough that I'm working on the one missing app I want so I can switch to Windows Phone. (MS has problems, but between their internal legal oversight and inability to execute, I don't feel icky with them. Apple is also a choice, but I just really hate the UI and poor development tools.)
One of the co-founders is still the CEO. He is one of the world's wealthiest men. He doesn't need the money and I doubt he feels the need to put shareholders first.
Why would he let Google stray from an ideal he ascribed to previously? Has he been corrupted by having more money than he could possibly spend?
Beyond a certain point, power, influence and fame become bigger motivating factors than money. Additionally, competition from the likes of Facebook in diminishing the "value" of what Google (his "baby") provides could also motivate certain people to do all sorts of things. And on the topic of Google, one cannot forget the time when Eric Schmidt was the CEO.
I've been reminding everyone I know who still uses Chrome to try Firefox again. Many have switched back. It's simply a better browser. One e10s is in stable, it's going to be even better.
Google is a for-profit company that makes money selling your data and targeted, personal ads.
Mozilla is not-for-profit and just wants to make the web better.
I don't think there is actually any evidence they use Chrome for much more than
1. disrupt IE/MS - i can say for certain they originally backed Firefox for this effort and only decided to split away to build chrome in the first place because they felt starting fresh they could build a better core and i believe they did.
2. enabling more people to build on the web, enables more of their ads to be shown. Firefox achieves this just as well as chrome. IE was dominating not too long ago and you could argue much of google's ad revenue growth can be attributed to more people having access to a higher quality web.
That said... I don't see why you should believe google would need or desire to sell data from what it might collect from Chrome. More likely they see it as a means to ensuring web dominance by ensuring the web is never locked down by one mega corp. It's similar in away to what they have done in the mobile space. Android is more of a technology to disrupt Apple and ensure it can't be dominate, but really does google have any control over Android?
If you sign in to Chrome, your bookmarks and full browsing history are uploaded to Google's servers. Only your passwords are encrypted locally before being sent to Google.
chrome://terms/ links to https://www.google.com/intl/en/chrome/browser/privacy/ which links to http://www.google.com/policies/privacy/ to define "how we use information we collect." From that page: "We use the information we collect from all of our services to provide, maintain, protect and improve them, to develop new ones, and to protect Google and our users. We also use this information to offer you tailored content – like giving you more relevant search results and ads."
Your full browsing history is a treasure trove of information useful for making Google's core services (search and ads) more effective. They would be stupid not to use it to improve the quality of their services. I challenge your assertion that Chrome is an altruistic endeavor.
Based on my current knowledge, I believe you are wrong. Firefox' Desktop Awesomebar (which actually predates Chrome's omnibox) does not send every keystroke to Google[0], and never has.
Even Firefox' Mobile Awesomebar doesn't do that[1] unless you click that "Yes" button.
On the other hand, Google's Chrome browser is clear about the fact that it does send everything in the omnibar[2]:
> When you type URLs or queries in the Chrome address bar (omnibox) or App Launcher search box, the letters you type may be sent to your default search engine so that the search engine’s prediction feature can automatically recommend terms or URLs you may be looking for.
If you still believe you are right, I would be interested in seeing your sources.
Huh. Your first link says nothing about search suggestions. I based my comment on my experience of having to disable search suggestions every time I start a new browser. I hope you're right…
Obviously, I can't prove that it doesn't send search suggestions by giving you a link to the code, since it isn't there. If you want to make sure for yourself, I advise using Wireshark.
Oh. The search suggestions I get come from my DuckDuckGo Plus extension (installed it a long time ago). But my point stands with other browsers: Opera, Safari, and IE all have the unified bar, and I was referring to those browsers in my comment (specifically Safari).
That's a feature of most "cloud" services that allow multi-device synchronisation.
It could be said Google already have your browsing history (of sites that they serve adverts on, or that use their analytics). I doubt Chrome's syncing data would give them any more information than what they have already.
Firefox provides synchronization without relying on 3rd-party servers, you can just use your own or one provided by a trusted friend.
and it's quite easy to block Google from tracking your browsing habits using GA or Ads: just use an Adblocker and something like Ghostery, RequestPolicy or Disconnect to block Google Analytics.
365 days a year for several years Google has had a Chrome banner ad on www.google.com showing to Firefox users. That page is the most lucrative property on the web in terms of eyeballs, so take your most outrageous ad rate you can find and do the math. It's billions per year worth of advertising.
Yes but that doesn't mean the economic value is non-existent.
Theoretically Google could sell that space. They trade this potential profit to promote their own product, at a loss, of how ever much that space could be sold for. This is like economics 202, opportunity cost.
It's not that simple. It's easy enough to claim that showing a Chrome ad benefits users and helps Google's brand. Showing third party ads hurts Google's brand and overall value.
Only if the 3rd party project is subpar. largely chrome is a 3rd party project from the eyes of search. I'm pretty sure there isn't a massive overlap between search and chrome developers at google.
> I'd like to see a source for the billion-dollar-a-year campaign
I can't find a source for the figure right now, unfortunately. And the whole thing is a guess, since Google doesn't release this information. All it releases is overall sales/marketing spending, which in 2012 was about $6 billion if I understand right (see <http://www.quora.com/How-much-does-Google-spend-on-advertisi...). That includes salaries for the marketing folks, etc, not just direct spending on campaigns.
As I recall, the $1b estimate broke down something like 30% actual spend (primetime TV ads, ads all over the London Tube, etc, etc) and 70% in-kind placement (i.e. "every search you do on Google with another browser shoves an ad for Chrome in your face"). I'll see if I can hunt down where I saw that...
I recall seeing a heavy metro ad campaign in Paris. All the slots were used. The campaign cost listed[0] (Q-Massifs) doesn't even have a regular price. Extrapolating from the regular campaigns, it cost Google beyond a million euros a week, and the campaign lasted more than that, if I recall correctly. And that is just one city, one campaign.
As for Google Search ads, let's take the number of search requests[1], an example CPC they give[2], an example CTR they give[3], the StatCounter portion of non-Chrome users[4], we get 1216373500000 * (1-0.3) * $0.10 * 0.005.
That's $425,730,725 for a one-year campaign in 2012. Given the prominence of this ad (and its unintentional scare value), the CTR is probably off, so that's a very conservative figure.
If that is indeed 70% of the whole campaign cost, the total is $608,186,750 per year.
The "billion dollar" number is speculation, since the Google front page ad space that Chrome got isn't for sale to anyone else. "Priceless" would possibly be more accurate.
> It's not an accident that Google's webservices work best (sometimes only) in Chrome.
A web service that only works in Chrome? Maybe you mean web application (web service would be really odd to work in just one browser). Do you have a source for this regardless? I hadn't heard of this.
I mean the services Google provides to users in the form of web applications, yes. The terminology is sucky.
As for concrete examples, Hangouts only works in non-Chrome browsers (including ones with WebRTC support) if you install a Google-provided binary blob. Which you may not be able to do.
Gmail only supports offline access in Chrome (see https://support.google.com/mail/answer/6557?hl=en the "two exceptions" bit). Whether not having offline access to your mail counts as mail "not working" is up to you, I guess; for me it counts as "not working".
https://bugzilla.mozilla.org/show_bug.cgi?id=973754 is an example where as far as I can tell they built the feature around non-standard Chrome-only functionality even though Firefox supports the standard version.
They do fix these bugs sometimes (the UA sniffing ones, where they just got the sniffing flat out wrong, tend to get fixed once someone diagnoses them). And sometimes not.
> Hangouts only works in non-Chrome browsers (including ones with WebRTC support) if you install a Google-provided binary blob.
The Google Hangouts website uses some carefully-constructed language to imply that people must download Chrome to use Hangouts, even though a Hangouts NPAPI plugin supposedly exists:
The Hangouts Chrome extension won't work in your current browser. You'll need to
download Chrome before installing the Hangouts Chrome extension. Do you want to
download Chrome now?
Google+ photo editing is another Google feature that requires Chrome. I believe it uses NaCL to optimize some photo effects.
The NPAPI plugin is one binary blob. The Chrome extension is another. The Google Hangouts home page only offers the Chrome extension. To actually find the NPAPI installer, you have to know it exists and search for it.
It's not nefarious on the part of the _developers_. They were given concrete goals. I wasn't privy to those, but it sure looks like those were: Must work in Chrome (Android) and on iOS, working elsewhere is nice to have but optional. They were also given deadlines. Then they proceeded, with no nefariousness, to deliver a product that works on Chrome and iOS and not elsewhere. I'm sure if they had more time or more people they would have made it work elsewhere too.
Then you ask yourself why the goals were set the way they were. Obvious guess at an answer: because they only want to target "mobile" and Android+iOS cover most "mobile" clients. Had iOS had less market share, I will bet the goal would have been Android-only (modulo advice by lawyers based on antitrust worries in that situation, of course).
No malice anywhere along here, but the end result is not so distinguishable from malice, sadly.
Every single case is different, but with with Microsoft it was corporate policy to do so - "Embrace, Extend, (Extinguish)", and it was executed again (MS-DOS vs. DR-DOS) and again (IE and Frontweb) and again.
The old saying was "Windows is not done until Lotus won't run", and the DR-DOS case shows it might not have been an exaggeration
Google/Chrome also works hard to support "what's already out there", which is what you mention, but what we're discussing now is building on your supposedly-open-but-really-proprietary platform _against_ other players, whether that's policy or coincidental with constraints.
Microsoft spent effort making sure Windows itself WON'T run on DR DOS before that. They constantly ignored web standards after they won the browser wars (conveniently working well with Microsoft tools that produced non-standard markup, though) ... up until the moment they lost them again, at which point they started to pay attention to standards again.
With their last few releases, Google seems to be adopting this Microsoft style of evil. Some people defend that, and some don't.
Yeah, people who think individual developers at Microsoft were trying be evil just aren't thinking clearly. Now upper management, on the other hand....
btw, the Inbox team clearly didn't bother to contact Mozilla about the Firefox performance problem because Mozilla fixed the bug within a couple hours of it being reported on HN:
This is a huge problem for the overall strength of the open web and Mozilla unfortunately is no less guilty of this. Many of the tools developed for FxOS are targeted for Gecko and wont run on other rendering engines. More and more it seems the only people actually building libs for the open web are independent developers and small shops. :(
I think there's a difference between ChromeBook or FxOS apps, which may need functionality and more importantly permissions that are not available on the web yet and creating web apps that use functionality that's supported in multiple browsers but restricting to only one browser.
That said, I agree that more FxOS bits need to end up on standards tracks. The permissions issue really needs solving to make serious progress there.
http://www.otsukare.info/2014/10/28/google-webcompatibility-... has a more complete rundown of the still-extant issues in case you're interested. The whole post is well worth reading, because it does say something important that needs to be said: there are many individuals at Google who believe in things like interoperability, web sites working in all browsers, etc, and strive for that (sometimes against internal opposition). It just happens that Google as an overall organization cares a lot more about its sites working in Chrome than it cares about them working in other browsers, with predictable results.
I can't entirely blame them for this one considering the alternative is either using something standard (localStorage) where they're only going to be able to store a really insignificant amount of information or creating something proprietary for multiple web browsers which is difficult to maintain.
If there was a web standard way of caching 5GB of files locally then I would be annoyed.
Hmm you have a point though I don't know how well Chrome supported it when they first came out with the offline drive support. May be an issue of legacy needing to be upgraded. I also can't find good performance benchmarks for very large blobs in IndexedDB. But yeah I suppose they could use that now.
If you ask me, the only reason they haven't moved even faster in this direction is because they're afraid of triggering the same legal action that Microsoft did back in the 90s with IE, but that doesn't mean that they wouldn't love to have that form of dominance - it can only help them.
Google has used it's position in Android and Chrome to undermine privacy. Both platforms encourage users to "knowingly" give up privacy. This is beyond simply preventing monopolies.
Disrupting MS is a big goal of Google's, but that ambition runs far beyond displacing IE. Google, via Chrome (and ChromeOS) and their online services, wants to displace Windows, Office and Exchange. Firefox helped (and still helps) to fend of Microsoft's browser share, but development of Chrome is what Google is using to push browsers towards being able to replace Windows and Office for enterprise customers.
There never was a good reason for Chrome to exist in the first place. Content companies should not produce browsers, it is too much of a temptation for them to optimize their content for their own browser and vv.
> There never was a good reason for Chrome to exist in the first place.
Chrome kicked off the browser performance wars, especially javascript. A fast and performant web was important to any strategy Google could have had, regardless of their status as a good or evil company.
Please check your history. There was a JavaScript performance war in full swing, with both Firefox and Safari producing new JITs and working on improving them, before Chrome ever appeared.
Your memory might be based on press releases, not what was actually going on. Safari and Firefox had the jits in their development builds, and were actively competing with each other, but hadn't shipped them in a final release yet at the point when the existence of Chrome was announced. Those JITs shipped a few months after that, with the attendant press hoopla.
Safari never had the marketshare to make its JIT a 'threat'.
Besides, Chrome didn't just introduce V8, it also introduced a cleaner UI, sandboxed tabs, and eventually, a much better set of DevTools than any other browser.
To deny that competition from Chrome didn't put pressure on other vendors I think is trying to willfully discount it's contributions for political, not technical reasons.
There's a difference between "Chrome put pressure on other vendors" (which is clearly true) and "Chrome kicked off the browser performance wars, especially Javascript" (which is the statement I was responding to upthread).
Chrome obviously put pressure on other vendors in various areas, including performance. What just isn't true is that without Chrome there would have been no JS performance competition. Whether the competition would have been as intense as it ended up being is a debatable counterfactual; I believe it would have been.
One other historical note, since you brought it up: Chrome was first announced publicly Sept 3, 2008. The first public beta of IE 8, with tabs in separate processes, was released on March 5, 2008. These processes ran in a low-privilege sandbox, as in fact did the entire browser starting with IE 7 (released October 2006), on Windows Vista or newer. Chrome did provide the first browser sandbox on Windows XP and non-Windows platforms, which was a big step up, of course. Again, there is a difference here between "introduced a new ground-breaking concept" and "incrementally improved on what was already going on".
Oh, and V8 was clearly considered a "threat" by other browser makers way before Chrome had any market share to speak of, so I'm not sure what your remark about Safari is supposed to mean.
To be totally fair, Brendan Eich has stated that he was well aware that Lars Bak et al were working on V8 years before Chrome was announced (and Bak's involvement implied the implementation direction that V8 was likely to head towards). I'm sure that knowledge was known elsewhere as well.
The problem with this discussion is inherent in any counterfactual history, as you point out, and the common issue of what appears to be revolutionary to people outside a domain vs merely implementing things people have discussed for years, as the same "revolution" appears to people inside that domain.
The reality is that circa-2008 JS engines were fairly rudimentary, including (or especially) V8, and your average JIT compiler writer at the time would have been less impressed and more compelled to question why this "revolution" hadn't happened years earlier (and several did ask exactly that).
All that said, "Chrome put pressure on other vendors" has been extremely important to the evolution of JS performance, especially with Crankshaft -- I think it's extremely likely that shipping Firefox would still have a tracing JIT today and would be just starting to move past it without Crankshaft having existed -- but Chrome in that slot vs the other major browsers is really not that meaningful a distinction either, as without SpiderMonkey existing, it's likely that V8's major strides forward would have stopped with Crankshaft in 2010. Performance would have continued to improve in either (especially with JSC making big improvements), but I don't think we'd have seen the major architectural changes as often as we have without that pressure. Competition is great.
I agree. IE kicked everyone else's butt first (in terms of market share), and the Web stagnated. Then Firefox kicked IE's butt, and the Web didn't stagnate quite as much, but let's be honest -- it stagnated. At the moment, Chrome is dominant but no browser is really trampling its competition, especially not in terms of overall quality. And the Web is improving faster than it ever has. (Well, not quite -- the "catch up" phases of the browser wars probably saw faster improvement while they were happening.)
Chrome does not exist to give the world a fast and performant web, it exists to give google full control over the audience from request to delivery, it exists to increase google's control and serves as a collection mechanism for data that it would not otherwise get at.
My argument is that nobody would have put that data online in a slow and sucky web. If you think Google wants full control over the audience, surely they also want a large audience.
(Note that I do not think that Google is evil. But if they were, I don't think they would need chrome to get most of that information anyways, given all the other ways they are collecting data. Sure, there are some corner cases they would miss but I don't think the incremental coverage would be worth the effort.)
Christ: my slightly hyperbolic rhetoric aside do you really disagree with anything in the logic chain that a faster web = a more usable web = a more used web = a larger audience = better for google?
Honestly, my issue with Firefox all comes back to the Omnibar: I just like how Google does it better. And the only Firefox plugin I've seen that gets similar to that behavior, is slower at every step of the way. Also, having to manually add every search engine is a hassle even if you are willing to put up with the extra steps that plugin asks.
I really like Google, but I want to support open source(and am not quite willing to put up with Chromium). But for me, core usability is still king, and nothing really touches Chrome for that.
How do I enable the Omnibar search behavior you describe? When I enter "a" in the Omnibar, I see amazon.com in the Omnibar drop down list, but when I hit tab, Chrome just highlights the next item in the drop down list. It doesn't search Amazon. Have you manually added Amazon to Chrome's "Manage search engines" list?
Firefox has something similar: "Keyword Searches" bookmarks. I define my own search shortcuts, such as "am" for Amazon, "imdb" for IMDB, "nf" for Netflix, and "w" for Wikipedia. Using "am Harry Potter" or imdb or nf or w will use those respective website's own search forms to find "Harry Potter".
Wow, I didn't have any idea that that existed. That doesn't look discoverable at all and the Chome UI provides feedback that Firefox doesn't - but the ergonomics are just as good and that's enough for me to switch my home computers back to defaulting to Firefox.
You can do that in Firefox and with more granular control. If you right click in a search box you can choose to "Add a keyword for this search" and then you can make the keyword whatever you choose.
For example: I have a folder in my bookmarks containing like Youtube which is this url https://www.youtube.com/results?search_query=%s&oq=&gs_l= associated with the keyword "yt" so I can type yt <search term> and it loads the Youtube results. I've also added one for the Mozilla Developer Network (mdn <search term>), Python Documentation (py2 <term> or py3 <term>) and I add others as I use them more.
I use that, but it isn't as good as it used to be in Opera. Opera auto-completed your search using the target search engine's autocompletion. I don't use Chrome often enough to know if it does that too, but it might make me switch. (I switched from Opera to Firefox because of the plugin ecosystem.)
Chrome has all those features too, it let's you add search engines via right-clicking a searchbox, ,you can change the search keyword, and "<search-keyword> <search-terms>" in the omnibar works as described by you.
My solution to this issue is to use DuckDuckGo along with their bang commands [1]. So if you were to look for a replacement Wacom stylus on amazon, you would input "!a wacom stylus".
DDG bangs works with all large website or search engine (!g for google, !w for wikipedia), and with smaller, specialized one as well (I can look up words definition in the Trésors de la Langue Française Informatisé with !tlfi , and a particular protein in the Protein DataBase with !pdb).
If you use the official extension[2], you also get search suggestion out of the search box
To... other advertisers? Google is the advertiser. It not only goes against their Terms of Service to sell that data, but also makes zero business sense.
I swear people just make things up when it suits their world views.
So because of non-standard DRMed content, you decided that the best way of preventing that to be a problem in the future is to install the only non-standard browser which renders this non-standard DRMed content from the same provider?
Would you even considered that if that one provider was anyone but Google? No? If so, why do you give Google a free pass?
It just said "cannot play video", did not inspect why because it said something about a plugin, and it made me annoyed, so I switched. This page http://www.youtube.com/html5 had only 2/6 checkmarks in FF.
Mozilla does not respect the rules of my native OS. For over five years, they insisted that double-clicking the upper-left corner of the window should not close the window like every other app on the system. Nope. They insisted on doing it their way ignoring the complaints of thousands of users.
Firefox also makes you press Shift to use access keys. Totally non-standard amongst browsers and OSes and annoying for devs and users.
Is Firefox the only browser left that hasn't switched to multiple processes?
No, Firefox isn't better and I don't trust Mozilla anymore than Google.
I just spent an hour trying to figure out why ff freezes on the partner's computer. Yay 780mb sqlite wal. Who the fuck knows what that's doing. Why on earth does using a browser require vaccuming sqlite files? Dunno, because there's no good reason.
If she'll finally switch to chrome I'll stop hearing complaints the internet is slow.
Try Help -> Troubleshooting -> Reset Profile (upper right).
That fixes most problems of that sort with (often ancient, migrated since FF 2.0 or 3.0) profiles.
Most things are retained, even cookies. It does remove some things (often things that can cause problems, like badly out-of-date-unmaintained extensions, clears DOM storage, download history, plugin settings):
https://support.mozilla.org/en-US/kb/reset-firefox-easily-fi...
TBH, the fact that bookmarking has not been completely separated from browsers makes me very sad. I know I can use a cloud service like pinboard.in. A universal bookmark sharing format would make the world a much better place. The fact that importing and exporting is still a thing sucks. Give me a content addressable store upon which multiple indices and management tools can be built and give me a way to choose how to view my bookmarks based on information about them. Near as I can tell bookmarking tools still only record url and title and let me organize into folders by copying entries. This is simply archaic. I should have to adopt a cloud solution to get something better, faster and easy to pull up in any browser on my computer.
RIP del.icio.us remember when browsers had extensions to sync your delicious bookmarks ? Or when bookmark sharing on delicious was a form of microblogging ? If you followed the right feeds it was the hackernews of the day.
I don't want my bookmarking completely separated from browsers, but I would like it to sync to shared browser-portable cloud storage. I'd also like the distinction between tabs, bookmarks, and history to go away and be replaced by some categories that are more relevant to me.
If process isolation is indirectly responsible for the "page freezes, doesn't re-render, doesn't respond to input" symptom then it seems to have cost more than it was worth in the stability department. Those freezes have dogged chrome on both my mac and my pc for the last 4 or 5 years every time I've tried it. Safari and firefox, OTOH, almost never seem to crash or become unresponsive.
I'm all for having clever damage control mechanisms, but having less damage in the first place seems to be the winning strategy.
Process isolation isn't actually on yet, it's still opt-in in Aurora.
It also makes everything about the interactive experience worse, or at least it did last week. `perf top` shows a pretty damning story around locks, too. So- we're probably not going to see it until 2015.
I wasn't complaining about lack of process isolation in firefox, I was complaining that process isolation in chrome caused more trouble than it was worth.
FWIW After re-reading my post I believe your mistaken impression was due to lack of clarity on my part, not laziness on your part.
Hah, I did the same. I've been using Firefox Aurora for about 6 months now, and I don't miss Chrome in the slightest; in fact, I prefer Firefox for nearly everything. Now we've moved to Slack instead of Hangouts, I've never had a reason to open Chrome.
Never used Chrome for regular browsing really. Firefox was kind of behind in the 3.x days but not to the point of switching for me, especially since I value Mozilla's goals.
Check out http://arewefastyet.com/ (the website mentioned in the article), which tracks javascript engine performance. Spidermonkey is faster than v8 and Safari's JSC on all three popular javascript benchmarks [1]
According to [1]:
"Last week I asked for benchmarks of the new JavascriptCore Fourth Tier LLVM JIT. Arewefastyet from Mozilla now includes such results. FTLJIT does particularly well on asm.js examples."
FTL is shown there, but note that FTL only works on 64-bit machines. Click on "machines->mac os x 64-bit" to see the results. They are indeed much better than without FTL.
"This puts us in a position of strength, so we can say "these benchmarks are not very interesting; let's talk about other benchmarks (e.g. asm.js-related) and language features" without being accused of being sore losers."
But are asmjs benchmarks interesting? They are not representative of the vast majority of real-world JS, so wouldn't an asmjs-laden benchmark suite really be a case of optimizing for your own set of benchmarks, tuned to your own idiomatic-JS?
But anyway, congrats on the achievement. I like the fact that V8, JSC, and FF performance are converging. If the performance differential is too great, it creates additional headaches for the developer targeting a certain level of efficiency.
Don't look at asm.js benchmarks if you're interested in real-world JS. Look at them if you want to know something about the performance of C++ code transpiled to run in a browser, which is an interesting thing to know. And it's getting to be more and more relevant these days. (Even "real-world JS" is going to start using asm.js libraries, I bet.)
But asm.js execution is very different from JS execution, even in browsers that don't have specialized asm.js paths. Executing regular JS is all about balancing compile time and garbage collection with code execution. asm.js barely uses GC, and allows lots of opportunities to cache compilation in ways that would be invalid for regular JS. So the whole space of tradeoffs is different.
Being representative of "existing real world JS" is one way benchmarks can be interesting. On the other hand, asm.js benchmarks are interesting because improving asm.js performance expands the scope of what the Web can do. Ditto for new language features.
The vast majority of real-world JS don't need JITs to perform adequately, but heavyweight asmjs games are CPU-bound and it makes sense to optimize for them. Watching Firefox creep up on Chrome performance on the arewefastyet.com charts, all JS engines seemed to be converging on some performance asymptote. asmjs changes the rules of the game and break through for specific content.
Firefox is awesome and I love it, but my one complaint after all these years is that I have to restart the browser every day. It's not the end of the world, but it's still frustrating, especially when I'm in the throes of debugging or important research.
Over the course of a day, the browser becomes unresponsive and CPU usage idles at 10-15%. Restarting with the same tabs brings it down to 0%. Yes, I know, disable addons, blah blah...doesn't work for me. Same problem.
I'm really looking forward to the new threading model coming up. I have a feeling that once each tab has a thread, things like this will be much more self-repairing. It's not always easy to kill a rogue execution path in an event loop, but killing a thread is pretty straightforward =].
Also, congrats on the firefox team for really taking performance seriously.
It resets your profile while preserving history, cookies, bookmarks, etc.
> I'm really looking forward to the new threading model coming up. I have a feeling that once each tab has a thread, things like this will be much more self-repairing. It's not always easy to kill a rogue execution path in an event loop, but killing a thread is pretty straightforward =].
First, it's "process", not "thread" :)
The plan is to start with just two main processes -- one for chrome (browser UI, mostly) and one for web content. So no processes will be killed in normal operation. This is because additional processes incur certain extra costs, particularly when it comes to memory consumption.
Still, it might help with your problem; it's hard to say for sure.
I have hundreds (not kidding here, it's the nature of my work) of tabs open routinely for days or even weeks on end and this is not an issue for me. This is under Linux (which may be a factor) on a machine with plenty of RAM (which may be another factor), firefox is extremely stable and if it goes down it is because I power off the machine.
Do you have any plug-ins or add-ons installed that might be the cause of this problem? If you do I suggest you disable all plug-ins and then slowly re-enable them to figure out if any one of those is the culprit.
I've heard other people say this too, but it must be a workflow or use case thing. I run Firefox as my browser of choice on Linux, Mac, and Windows every day, and have for 10 years at least. I do remember a time when memory was an issue, but those problems have been resolved for a few years. I routinely have dozens of tabs open, often with Flash video or lots of javascript, sometimes 50 or more (with the excellent TreeStyleTabs plugin for hierarchical side tabs) and I have never had these problems. I restart my browser maybe once a month, usually along with OS updates.
Interesting that you are talking about RAM, but it's hard to beat Firefox memory usage among major browsers. I'm impressed on my computers how Firefox takes ~750 MB of RAM and Chrome with the same tabs takes ~1.4 GB RAM.
It's not threading, it's processes that's coming up. I would be surprised if each tab didn't already have its own thread, because eg. multiple tabs can load at the same time...
And umm, not sure what I'm doing differently but I usually keep Firefox open for weeks at a time and have no issues. Though I cut back a bit on keeping tabs open, I used to keep like 60-80 tabs open all the time but now I usually clean up when I'm done with something (more to reduce cognitive overhead than resource utilization).
I'll second the motion that there's something going on specifically with your setup. A reset as another poster suggests might be worth a go. Or even just creating a separate, fresh profile and trying that out for a day or two. [1]
Yep, everything I need to know is bookmarked and synced to my google account. If something is interesting enough I'll bookmark it, if not I'll close the tab.
Really the only time I'll have more than 5-6 tabs open is when I'm trying to read through an API documentation and I want to be able to reference multiple points quickly.
You have 200 tabs open? How do you find the tab you want? How often do you look at each of the 200 tabs? What happens when you're on another computer? What happens if you accidentally close Chrome, do you open all 200 tabs again?
For me each window has tabs on a particular topic, e.g. database api docs plus stack overflow (10 tabs), a javascript one (7 tabs), hackernews (18 tabs), paleo recipes (12 tabs), etc. Tab creation and deletion basically acts like a stack with the most recent/specific tab on top—and I'll garbage collect (command-w a bunch of tabs) when I finish with the specific task.
What happens when you're on another computer?
Laptop goes everywhere with me. 99.5% of the time I'm not. But that other computer also has fuckton of tabs open. lol
What happens if you accidentally close Chrome, do you open all 200 tabs again?
Yup. Various plugins make it less painful but it does hurt. I make sure not to accidentally close the browser.
I generate maybe 60 tabs a day, and finally came to the conclusion that I was using tabs incorrectly. Tree Style Tabs is great, but I found that I was using tabs as combined bookmarks + todo list. So I wrote a Firefox addon that pops up a sidebar every morning and steps through every tab prompting me to either close it or save it as a bookmark. (with tags) It has definitely helped with this vague uneasy feeling I have about occasionally restarting Firefox and having to automatically reopen hundreds of tabs, most of which could have long ago been garbage collected.
In Firefox you can search among open tabs by typing % in the awesomebar, I use this everyday with hundreds of tabs open. And there is also tab groups feature (which is activated by ctrl/cmd+shift+e). I don't know why this feature is not advertised more.
The "%" search sounds really interesting, but I can't seem to get it to work. No matter what I type after the "%", it initiates a web search. This is with Firefox 33 for Mac.
Probably because you have to put a space after % (not sure why, but likely to disambiguate it from other sorts of typing).
It rocks. And I have 1200 tabs open at the moment on Linux64 Nightly (~120 actually loaded). Yes, I'm a tab-hoarder. Bookmarks are useful, but don't give me the easy "I want to come back to this" aspect - once I do close it, I'm done with it; if I bookmark it it's there forever (and the number of bookmarks became unmanagable eventually).
Every so often I do a pass and close out 50 or 100 tabs I no longer care about. Usually I sit at 900-1000; it's time to cull.
In Firefox, opening a browser with 200 tabs doesn’t mean that 200 tabs are immediately loaded. The browser will retain your tab state without loading the contents (apart from the tab you previously had open and any pinned tabs). If you click on an unloaded tab it’ll load the contents dynamically.
I suspect that the reason people keeps tabs open is a deficiency of all modern browsers -- if we had the ability to search the contents of our history of sites, it would dramatically reduce our need to desperately hold onto tabs.
Right now you can search the history, but it searches only the title and basic metadata, and as we know well from HN, titles are often wholly unrelated with the content.
So many times I've found a page that has interesting information, and I can easily remember snippets of the page, but without walking through my history manually for hours, I'm left with trying to remember unique phrases and instead searching the world of information on Google, having to winnow through a lot of chaff. It would be so great if a browser (or an evil cloud-synced variant) generated a search corpus of every page you visit -- understanding the overhead and costs, made viable by many cores and massive IO performance -- allowing you to say "I saw a site about banking regulation and overcommitments in the past week...where was it?"
Assemble a team or otherwise generate enough interest in making Permafrost[1] a reality, and you could have this. I'd love to work on this with somebody...
Love hearing this. I have been a Firefox user since Netscape 5, if that makes sense. To me there might be some positives about Chrome but for me it is a culture / community issue. It is a foundation I am willing to support during the good times and bad, and I am not so hot about giving Chrome access to every keystroke I make.
While this may sound petty, one feature I'd really love to see come back in Firefox is the ability to see the refresh button match the style / movability of the back/home buttons. It is very annoying having to use precise clicking on the eeeency little arrow on the URL bar.
But thats the thing, even if I am annoyed by small issues or lacking features, I don't abandon a project based on that.
Mozilla is currently testing Electrolysis (or "e10s") [1] - their project to run web content in a separate process - on nightly, and I've been using it for the past few weeks. It's getting pretty reasonably stable, so hopefully we'll see it in a release version soon enough. According to [2], the tentative plan is for Electrolysis to be released with Firefox 36.
I could survive without processes-per-tab, if Firefox gave some hint – any hint! – which tabs are being naughty. Maybe just a per-tab counter of allocations, or timeouts, or DOM edits, or some other operation? Anything that serves as a proxy for "more active than average while not in foreground".
Yeah, Firefox really needs some sort of "top". Right now, idling, my Firefox is taking between 20% and 40% of my CPU. I'm sure it's some tab running some dumb javascript, but there's no way for me to figure out which one. Sad, because spidermonkey must know which window a javascript context is associated with, so it could feasibly keep track of run time.
Yeah, but it knows the global "window" object. That's enough for it to keep track of stuff. Let the browser correlate that global object with an actual UI window/tab.
If a script hangs, Firefox has a little popup on that tab that asks if you want to kill it or let it keep running. So something in the browser knows which tabs are JS-intensive.
Sure. That particular setup has pretty low overhead and hence also low granularity; it's not measuring intensive or not but just how long a script has been running when a timer on a background thread fires. So your script could be eating up all the CPU but just returning to the event loop every few seconds and the hung script dialog would never notice.
Use the profiler in the developer tools. Run it for a short while (e.g. 10 seconds) and look at the results. The tab using the most CPU resources will be at the top of the result tree.
I just gave it a try in a current, Firefox-not-being-sluggish state, and it seems it may be a bit hard to correlate profiler lines to exact tabs. (For example, 7 of the top 13 rows that had domains associated were Google-API-related, but I don't think they're being used from Google pages...) Still, when I next enter a laggy state perhaps this will help finger the culprit(s) unambiguously. Thanks!
As soon as firefox gets per process tabs in stable I'll switch back
As strange as it sounds, this is a reason why I don't use chrome as my "default" browser. I seem to find the web sites that leak resources and leave them open in tabs (one of my projects at work is a big culprit too). With firefox a runaway tab or two simply results in a single CPU pegged at 100% and max about 2GB of ram consumption. With chrome it will peg out a couple CPU's and eat RAM until my machine goes into swap. Usually this happens while I'm gone so simply unlocking the screen is a painful process as everything gets swapped in.
In other words I prefer having to kill firefox on a regular basis because its run out of RAM, than to have to reset my machine because its taking 10 minutes to unlock the screen.
This reminds me of the cell phone industry competition. We all benefit from head-to-head fights for performance and value. It's a shame so many markets have little direct competition outside of technology either due to monopoly, regulatory capture, or market dynamics.
Kudos. But they should really invest time in making the UI responsive and fast. This is my biggest gripe about firefox. I also find it incomprehensible that it checks for updates on startup in a modal fashion. Very annoying.
Non-Windows still has modal update dialog. On startup for non-Windows you are blocked from using the browser until the update is complete. There is a dialog if you run out of date extensions. There is a nag dialog if you have an update pending for over 24h.
"Spidermonkey has passed V8 on Octane performance on arewefastyet, and is now leading V8 and JSC on Octane, Sunspider and Kraken." (ie faster than Chrome on Chrome V8 benchmark)
Yeah. Unfortunately for Mozilla, they don't have a download button on the #1 page on the web (google.com) and they dont bundle it either with any OS (Windows + IE, Mac/iOS + Safari, Android + Chrome) or software (Chrome auto installed from Flash upgrades, etc.)
So I don't know how strong the switch back would be...
This is cool, but Firefox still feels a lot slower to me than Chrome.
I think Mozilla would get a lot of mileage out of improving the performance of the rendering engine. FF doesn't feel slow because of JS, it feels slow(-er than Chrome, at least on my Mac) because repaints and layout seem to take longer.
They are working on it on several fronts, constantly cutting off tasks from the main thread onto their own ones (downloading, cache v2, Awesomebar), making other things asynchronous (project snappy), garbage collection improvements also help in some cases. Most of these are smaller wins, and several big ones like OMTC, tiled rendering or e10s are yet to come.
Edit: It may not be as responsive as Chrome (I don't know as I don't use it), but I believe it is miles ahead of it's former self.
>This puts us in a position of strength, so we can say "these benchmarks are not very interesting; let's talk about other benchmarks (e.g. asm.js-related) and language features" without being accused of being sore losers.
I'm looking forward to such a statement from Mozilla. The web needs mature suppott for languages other than JavaScript and C++/C are very widely used languages(as opposed to some new hobby language) and compile to JS tools are the only realistic way of getting there. So I can hardly wait until browser venders and standards organizations embrace efforts like Asm.js and the nessary extensions to make it support other memory and language models and features (Shared memory, SIMD, JVM languages etc.).
Mozilla is one organization that I have no problems supporting. Thanks to everyone involved with Mozilla for contributing to a great organization that does awesome stuff.
I still use Firefox as my main browser, but while it has improved a lot in recent times, I don't know why are some root problems not getting fixed - memory hogging, browser hangs, crashes (yes, I still get them on my workstation - I've even reported the callstacks to them). Mostly, the answer is, "It's your add-ons" - oh yes, but when it comes to talking about their strengths, this is one of the first things they talk about - "add-ons".
For example, every other browser fixed this 12 year old bug [0] one by one, but Firefox doesn't care much about it. In fact, not only that they don't have any solution to it whatsoever, when people's resentment about the bug increased, they chose to just shut down their voices on it.
That bug is intractable with the current NPAPI and plugin vendor landscape. Slowly plugins are being replaced by web accessible technology. That is the way forward.
There are some things a user can do to avoid the issue as much as possible. Setting all plugins to ask to activate in about:addons resolves a number of common occurrences where plugins take focus on load. Set YouTube to use the 'HTML5' player [0]. Use pdf.js. If you are on OS X 10.7+ use Mozilla's Aurora branch to get h264 playback [1]. If you develop sites check for support of h264 playback instead of assuming Firefox does not have it.
Firefox's hopeless video and audio implementation (especially on Mac OS X) remains a deal breaker for me. It means resorting to Flash in a lot of cases, which means I use another browser.
I'm glad to see strides being made in JavaScript performance, but basic browser functionality is far more important.
HTML5 video and audio in Firefox works perfectly in every site I visit. What problems do you hit? I haven't used it on Mac so perhaps the support is less good there.
Some sites don't attempt to use <video>/<audio> in Firefox for me, but that's a site issue, not a browser issue - h264 and webm both work fine.
Unlike SpiderMonkey, V8 doesn't have a special mode for "use asm" code, as far as I know. E.g. it still does JIT compilation, unlike SpiderMonkey, which does AOT compilation.
But the V8 team is certainly working on making asm.js code fast. This is clear from the fact that V8's performance on asm.js benchmarks has increased significantly since asm.js was first announced. (As you note, they put an asm.js test in their own benchmark suite.)
And even if V8 doesn't have a special mode for asm.js, they're benefitting from asm.js's existence, because asm.js makes clear exactly which subset of JavaScript they need to be optimizing for.
V8 has an experimental new JIT called "TurboFan". AFAIK, it doesn't do AOT compilation of asm.js code, but the "use asm" directive (among other cases) will force TurboFan mode.
Octane is Google's own benchmark suite. I don't think getting beaten on your own hand-picked set of performance metrics satisfies any definition of "impressive".
It sure is far better than idiotic SunSpider. They are close to real-life application examples. If they really wanted to hand-pick they would not include asm.js benchmarks, where Firefox has a certain advantage.
The notable thing about this achievement is that for a very long time V8 was miles ahead of the competition on its own benchmark (first V8bench, and now Octane), as the graphs at http://arewefastyet.com/ show.
While this is great for those keeping track of the stats, I doubt it will have much effect on the average consumer. Almost everyone I know uses Chrome; that includes family members, co-workers, tech-minded and non-tech-minded people alike. For them, it's been IE vs Chrome for awhile and telling them "Firefox is a tad bit faster" isn't enough to make them switch again. Unfortunately, I think Firefox lost too many people during its sluggish phase awhile back and it's going to be tough getting them back.
Also, as much as I keep hearing "Google is evil" in the tech echo chamber, again, the average consumer doesn't care. Even I know Google's policies and still choose to use Chrome purely because it's more convenient.
That is not the point of the post. The point is that Mozilla for a long time have thought these benchmarks to be sidetracking and useless for normal users, and now that they are beating the competitions they can rightly say "we need to focus on something else" without sounding like sore losers.
Mozilla sees big potential in ASM-js and if the competition starts working on getting that optimized a whole new type of web application will be broadly feasible, which is something Mozilla cares much more about.
> Even I know Google's policies and still choose to use Chrome purely because it's more convenient.
What do you find is more convenient with Chrome over Firefox?
I don't (yet) use all of the sync features in Firefox, but just having a unified history on Android and desktop is quite convenient, as is syncing saved passwords -- and knowing both how data is handled, and that I can set up a personal sync-server if I want to (actually tried that with the previous generation of sync) -- gives me peace of mind.
Allow me to speak from the mindset of a consumer. The average consumer doesn't care about Firefox's data storage policies or how much they cooperate with the government. They care that things just work and are fast enough. For me, the convenience of Google Chrome comes from the fact that it is tightly integrated with all of Google services. I can use one Google account to log into my browser, access my email, set up a calendar, etc. Sure, Firefox can do syncing too, I just prefer using one company that does it all rather than two that do half.
Also, unrelated, I think Firefox spent too long copying Google Chrome's interface and now they are playing catch up.
Regardless, Firefox usage continues to decline month after month. I think they've lost the general consumer appeal.
I'd be much more interested in what you think personally, than what "a consumer" might think. I'm perfectly aware that a lot of the things that matter to me, doesn't seem to matter to a lot of people. Do I understand you correctly, in that:
1) You use gmail and Google calendar, therefore
2) You want your passwords, extensions, bookmarks and browser history synced by the same provider that provides your email and calendar hosting
3) You don't care if you can never (reasonably) move away from that provider
For you, Firefox would be as nice as Chrome, if: Firefox provided free/cheap (web)email and calendar hosting in addition to the sync services? Or if a third party offered paid hosting for Firefox sync along with (web+imap+smtp) email and calendar (ical) services? (Sounds like something fastmail should consider..?)
I'm not trying to be snarky, I just genuinely want to know in what way you think Firefox could (should) improve -- it sounds like the only thing missing is more services hosted under a single login?
Anecdotal evidence: I work in an office with a lot of our companies non-technically inclined folks, and I would say: Yes, that is exactly how they feel. They want one password, and they want all their bookmarks and customization exactly as they are on every other computer they log in on without giving the computer or the software running on it any thought.
For work especially, calendar, email, hangouts, docs/drive... it saves us from needing more IT or training.
Edit: added "Anecdotal evidence:" to show awareness that I do not represent all cases. Also removed snark.
Well personally, I am probably not the average HN reader in that I have little problems giving up personal information in exchange for access to new services, free services, etc. So in that regard, Google more or less fits my mindset. As far as improving, I don't know - Firefox is already an excellent browser that is fast, secure, and pretty standard-compliant. It definitely beats IE.
What I've been trying to communicate is that I think the general consumer tends to be drawn to tightly integrated services - one provider can handle their email, their calendar, their browser, their phone's OS, etc. While this raises issues within the HN-crowd, my anecdotal evidence* supports the fact that the average user has little knowledge or desire for efforts to "protect their privacy." In general, they trust Google and don't have a need to switch. I've yet to convince anyone to switch from Chrome to Firefox over privacy arguments, but I have managed to get almost everyone I know to switch from IE to Chrome simply by telling them "it's Google."
I certainly appreciate the convenience of having one (service) provider. Not very important to me (I'm aware of the trade-offs involved) -- but that doesn't mean I'm blind to how most people feel. Funny that the only thing that's not (AFAIK) part of Mozilla yet, is cloud storage. With more Firefox apps, it's not inconceivable that there'll be a viable docs-alternative -- and as for phone os, there is of course Firefox OS...
You know, I just don't know who to believe these days when it comes to browser benchmarks. All browser vendors pretty much say they lead all browsers in _something_. Honestly, I don't even know what all these benchmarks mean most of the time.
Yeah, no. They chose intensive process, many of them are ports of code from other languages and some the tests are using software made by Mozilla such as pdf.jz and zlib (Ecmascripten) and Microsoft (Typescript compiler)
But they also included stuff like splay-latency which explicitly tests something that doesn't matter on the Web (support for incremental GC during script execution, which doesn't matter in browsers because the effects of a script are never made visible to the user until the script ends). Guess what, V8 has that and Spidermonkey doesn't.
Can you explain more what you think is unfair about the test? I've only given it[1] a brief read and it certainly is a synthetic benchmark, but it doesn't seem absurdly artificial.
I've certainly written JS that builds trees, modifies them, tears them down, and builds new ones, all within the same event loop turn, and so would certainly benefit from incremental GC in the cases when the data it's working over is very large (or it's just a part of an app that's already been burning through a large number of allocations).
Your app won't benefit from incremental GC during an event loop turn, because nothing your script did before the incremental GC slice will be made visible to users until the entire event loop turn is finished.
But what about the all the other processes in the device? There may be another process at the same time who may benefit from such GC, perhaps a video being played inside a plugin, or just Photoshop being run side-to-side with the browser and things like that.
It may not benefit the app but it may benefit the user, which is clearly a relevant metric.
Just try them, and believe your eyes. For me, Firefox feels much more bloated and sluggish than Chrome. I don't know if it's actually raw performance, or just UX issues, but it's no contest.
I switched back to Firefox from Chrome a couple years ago, because I no longer trust Google to have my best interests at heart. It's been fine; I have a beefy machine with plenty of RAM, but I also use it on my horribly slow Android phone (an old HTC Sensation 4G that has never been worth a crap), and it works OK there, too.
My only complaint is that it requires a plugin to get a reasonable number of tabs in a window before requiring scrolling. It's downright absurd that it stopped being configurable many, many, many versions ago.
I had another look at FireFox the other day. Impressed with their editable layout and smooth interface. Less impressed with the Network tools pane in comparison with Chrome(chrome shows compressed/inflated size, can view and copy raw headers, etc). Still, it's in my to-do to give it some game time.
It would be interesting to now how Firefox performs with regard to battery usage. Apple in particular seems to be focussing on battery life as much as performance, given that the codebase is shared across iOS and OS X.
You know whats funny, I stopped using Chrome and use Firefox now because Firefox is so much faster. The exact same reason I switched to Chrome 5 years ago. Also I'm slightly less creeped out.
I think this is pretty common. In fact, this can happen even if neither browser changes at all. Your profile builds up and your history searches etc. slow down, so you switch browsers and get a clean profile to start with. Repeat. (I'm not saying that that is what you are experiencing, but I think it's a factor for every browser user.)
Just about 5 years ago, it was looking to me like it was the end of Firefox. It was Chrome all the way. New features were coming out one after another. Faster rendering. Safe process isolation for each tab. Looked better.
But I just switched back last month. It happened kind of randomly. Saw an announcement of a new release ( 33, I think ), downloaded, re-imported my bookmarks from Chrome and just kind of kept using it instead of Chrome since then.
I like how the tabs look also I think it feels lighter and snappier on my (now old-ish) laptop.