1. 62

  2. 52

    Just as important as Firefox being a distinct product is that it uses its own rendering engine. There are only three major browser rendering engines: Trident/WhateverTheyCallTheEdgeEngine (Microsoft), WebKit/Blink (Chrome, Chromium, Safari, Opera, most one-off browsers like Web in GNOME, WebPositive on Haiku, etc), and Gecko/Servo (Firefox).

    It’s not enough to have a million different browsers if they’re all using the same rendering engine. We need variety in implementations on that front too…

    1. 11

      Very good point; I spoke of this issue with a colleague a couple of weeks ago, and I asked: “what happens if Microsoft decides to get out of the web browser market and Mozilla collapses?” Then, for all intents and purposes, Google would literally control the web. Now, I don’t know how likely it is that Microsoft would stop its Edge effort or that Mozilla would go under—probably not very likely in the short term. Still, it seems to me that the complexity of the modern web (HTML 5, CSS, JavaScript with a state-of-the-art JIT compiler, DRM, etc.) makes it unlikely that we’ll see another web engine—much less a free web engine—that can compete with the current trio, and practically impossible to see enough new web engines to actually create competition.

      1. 7

        Agreed, the only way you web standards can realistically be called standards is if there’s a variety of implementations, and a variety of vendors with enough influence to shape those standards.

        1. 5

          EdgeHTML. No really, that’s the name of the rendering engine. Microsoft continues to amaze with their horrendous naming :)

          1. 9

            Could be worse. Could be EdgeTML.

            1. 1

              Older versions of IE could be called “FML”, which is exactly how you feel when tracking those IE only bugs.

        2. 23

          Not related to the content of the article, but to the web page: Why is there a loading screen before content is shown? Why are the “links” elements with onclick event handlers, breaking mouse wheel to open in a new tab and other features semantically sane markup provides? What about the page gives it any right to load megabytes of javascript? It’s just text ffs!

          The only part of that page it would be remotely hard to create using only simple, semantically sane HTML and a style sheet is the parallax effect for the title. In return, the page would load a lot faster (as content would be shown as it’s loaded, instead of being hidden behind a loading screen), assistive technologies would work better (my own plugin for keyboard-centric navigation completely breaks because the markup isn’t remotely semantic, I imagine screen readers would have similar issues), and browser features people expect to work (like middle mouse button click to open in new tab, pressing TAB to focus links, the URL of the destination showing up in the lower left corner when hovering, etc.) would just work.

          (note: I’m using “semantically sane” instead of “semantically correct” because I don’t want to create connotations to people arguing that everything should be 100% semantically “correct” all the time - just simple semantic sanity, like using tags for links, is enough.)

          To actually comment on the article: I switched to Firefox some years ago after having used Chrome for a long time, mostly because I vastly prefer Mozilla over Google. For a long time, I was sacrificing performance and battery, and still had Chrome installed for sites which needed Flash, as I never took the time to figure out how to install that when Chrome has it built in. I have noticed recently that Firefox is more performant than ever and works my CPU less, and as the web has moved away from Flash, I can now stream twitch livestreams and watch videos anywhere (even on Netflix!) in Firefox. I’m excited for its future.

          1. 29

            I always assumed CNET’s web page was designed to signal “cnet is trash” in order to teach me to stop clicking on links to their site. I must say, they’ve done an excellent job.

            1. 4

              Same boat. I far prefer Firefox over Chrome, and I have no dog in the OSS fight. It just feels like a better product.

            2. 22

              To Mozilla, each tap or click on a webpage in Firefox is more than you browsing the internet. It’s a statement that you’d prefer a more open future where online services can start up on their own.

              Exactly. Which is also why we mandate Firefox as the browser at NTK. We are not suicidal.

              1. 10

                I really want to like Firefox, but it feels increasingly clear that Mozilla doesn’t seem to consider anyone who wants to adapt any of the choices Mozilla made for him/her to be part of their target audience anymore.

                I don’t really know what their target audience actually is to which they are trying to pull off a Gnome-like pivot, but given the fall in market-share it’s baffling that retaining existing users doesn’t seem to play a more important role.

                Having tried the nightlies of Firefox 57, Mozilla has basically reset my browser usage to a vanilla install. All my extensions will stop working (marked as “legacy” – and I only have three: mouse gestures, an ad-blocker and tree-style tabs) and my theme causes tabs to crash on load (which I only use because the default theme keeps gradually eating more and more screen space).

                While I’m positive that a solution can be found for mouse gestures and ad-blocking, it seems that tree-style tabs (or any kind of UI customization) is thoroughly dead. Even if they addressed the dozen of bugs that were filed to get tabs working again, it’s quite clear that the required level of visual integration to avoid making it look like a second-class citizen will not be supported anymore with WebExtensions.

                The whole switch to WebExtensions feels like going from a positive, user-empowering stance of helping and encouraging users and extension developers to adapt their browsing experience to their liking, to a model where the possibilities of customization and extension is severely limited to protect the users from potential harm that seems to lurk behind every extension.

                1. 21

                  It’s not just about protecting users from harm, it’s also about:

                  1. Performance. By restricting extensions to APIs we can ensure they will run silky smooth.
                  2. Compatibility. Old style extensions broke anytime the random internal thing they depended on changed, so developers would constantly have to be updating their addons. Web extensions are one last major breaking change for addon developers, and then they never have to worry about compatibility again.
                  3. Portability. Web extensions can be shared across browsers, so developers don’t need to write multiple versions of their addons anymore just to support Firefox+Chrome. Given a choice between supporting only one of Firefox or Chrome, 95% of developers were already choosing Chrome (I made that number up, but probably). This equalizes the gap.
                  4. Security. Like you mentioned, it will be very hard to write malware when that malware is restricted to known APIs.

                  There are a lot of really good reasons to make this switch. And while it will be frustrating to a lot of loyal users and developers, I think it will be the right decision in the long term. I’m feeling the pain too, a bunch of my extensions no longer work either. But I’m confident I’ll either find replacements in due time, or adapt my workflow to live without them.

                  Btw, u-block origin already has a web extension posted to their AMO dev channel.

                  1. 19

                    Since I don’t see many people sharing this sentiment, I just want to chime in as a long-time Firefox user and say that I’ve been really pleased with the work in Firefox over the past several years. Performance has improved massively, and it seems like every time I open the developer tools, I find some cool new thing I didn’t know about before. I’ve also gotten a lot of mileage out of several of the experiments in TestPilot. All in all, I’m quite pleased.

                    Keep up the great work!

                    1. 3

                      Thanks! Much appreciated :)

                      1. 2

                        As another random data point, I don’t remember ever even having a real problem with Firefox.

                        But now the new version worries me because there might not be a good mouse gesture plugin available.. soooo if you wouldn’t terribly mind implementing mouse gestures the way Opera v12 had them, that would be nice :)

                        1. 2

                          As another random data point, I don’t remember ever even having a real problem with Firefox.

                          But now the new version worries me

                          Likewise, Firefox has always been great for me, but only because I use an extension which allows me to rebind the keys. This extension doesn’t exist for Chrome because Chrome hard-codes ctrl-n to “open a new window” for security theater reasons. (I can’t remember the last time I opened a new browser window on purpose, but it wasn’t in the past decade.) If Firefox starts copying Chrome in that regard I’ll be forced to choose between staying on the old version forever or spending half my day closing those seventeen windows that just opened because I was trying to scroll down.

                          1. 1

                            I found this: https://addons.mozilla.org/en-US/firefox/addon/foxy-gestures/

                            Not sure if it solves your use case or not though.

                            1. 2

                              Just tried it, doesn’t really work. (In the sense of “fails to save any changes and crashes reproducibly”.)

                      2. 2

                        Thanks for the note on uBlock. The dev channel thing was quite hidden, but I found it.

                        Well, all I can say is that I think it is sad to see that Firefox is switching from the software repository approach popular on Linux distributions to the walled garden approach of app stores (like on Windows/Mac).

                        I can understand why it is more convenient for developers this way, but I don’t try to be a developer of every technology I use. (Ok, I’m still sitting on this reproducible Firefox crasher and I installed the debug symbols to figure out where it comes from … but sometimes I just want to be a user.)

                        Currently my only hope is that the official roll-out of WebExtension gets delayed just enough for another Firefox ESR release based on the current code. This would give me another few years out of Firefox, but in the long term I really don’t see a future for me on Firefox. That’s kind of sad because I have been an user since it was called Netscape Navigator.

                        It’s kind of clear that vertical tabs will never be a first-class citizen with WebExtensions (even under the assumption that all of the dozen current bug reports get sorted out).

                        Firefox’ stance reminds me of the saying “if the government is unhappy with its citizens, it should swap out its citizens” and the CADT that happened with Gnome. (XFCE user ever since.)

                        1. 1

                          Well, all I can say is that I think it is sad to see that Firefox is switching from the software repository approach popular on Linux distributions to the walled garden approach of app stores (like on Windows/Mac).

                          Would you mind clarifying? The distribution model for WebExtensions is the same as for non-WebExtensions. Or are you referring to the use of sandboxing?

                          1. 1

                            Having to beg Firefox developers to allow me to make the changes I want to my browser feels counter to everything Mozilla stood for in the past.

                            1. 1

                              I see. On the other end, every API exposed to extensions becomes something that Mozilla has to commit to maintaining into the future, imposing architectural constraints. This was most painfully evident in the long process of the e10s (multiprocess) roll-out.

                      3. 5

                        There is a tree style tabs in “Firefox Testpilot”, that’s not going to break because of the API changes

                        1. 2

                          Are you talking about Tab Center? That’s sadly not a tree style tabs extension, merely a vertical tabs extension. But yes, the point remains that you can write functional alternative tab bars with the new API.

                          1. 3

                            From what I have seen, the UI from tab center will not be supported with official WebExtensions.

                            For instance, the obnoxious sidebar header will be mandatory: https://github.com/Croydon/vertical-tabs-reloaded/issues/13#issuecomment-294589274 That’s a killer for me, right there.

                            This is what I currently have: http://imgur.com/a/OemGy

                            This is what I’d like to have: http://imgur.com/a/cWEsE

                            This is probably the best I will get with WebExtensions: https://addons.cdn.mozilla.net/user-media/previews/full/185/185415.png

                            Thanks, but no, thanks.

                          2. 1

                            The test pilot has ended, and I can’t find a way to install the add-on now. Which is a shame, because they had one feature that would have actually improved my experience: Tabs taking the whole area on the left side, instead of being under the location bar. https://testpilot.firefox.com/static/images/experiments/tab-center/details/tab-center-1.ceef2f45.jpg

                            I’d love to have a tab extension doing that.

                          3. 4

                            holy hell, another tree-style-tabs-er - people don’t understand us. - I moved to vivaldi cos chrome had no capability to do vertical tabs (and always felt strangely icky on chrome). Vivaldi has vertical tabs but not tree style :(, is all chrome under the hood but with plenty of customizability and most of the “i wish i hads” from firefox. It started out buggy when i was using it but has generally gotten better. not OSS is the only thing that mildly annoys me.

                            I personally jumped away from firefox when i eventually got sick of it regularly slowing down after a few hours of use (to the point of barely scrolling while rendering another tab i had just middle clicked on)

                            that said, none of the news coming out of the ff camp is making me think “wow i should totally give it another shot”. Your comment only reinforces that - I hate not having control over other people’s stupid decisions on my system.

                            1. 6

                              There are dozens of us using tree-style-tabs.

                            2. 3

                              https://addons.mozilla.org/en-US/firefox/addon/tree-tabs/ is the Tree Style Tabs replacement. It’s not as good, but it’s improving.

                              I switched to https://addons.mozilla.org/en-US/firefox/addon/tab-center-redux/ and it’s pretty great.

                              1. 2

                                I tried them all. They are quite restricted in what they can do, and the mandatory tab header makes it pretty clear that stuff like this will always be a second-class citizen under WebExtensions.

                                Think about it: Why doesn’t the “official” tab bar get one of these headers, too? Because it is completely jarring and obnoxious. Firefox devs know it sucks, so they don’t follow these rules, but everyone else has.

                                1. 4

                                  and the mandatory tab header makes it

                                  It’s not “mandatory”. There are bugs open for a webextension API for removing it, and Firefox devs seem to be open to adding one. This API doesn’t exist now, but you’re painting it as if it will never exist.

                                  This stuff is still new, and will improve over time as new APIs get added. Like I said, “it’s not as good, but it’s improving”.

                                  Please assume good faith.

                                  1. 3

                                    It seems like from Mozilla’s perspective the sidebar header is not a bug, but desired behavior: https://github.com/Croydon/vertical-tabs-reloaded/issues/13#issuecomment-294589274

                                    I’d love to see the tickets though, because I couldn’t find anything in the official bug tracker (but maybe I used the wrong search terms).

                                    And that’s not the only issue: it seems like the place is fixed to be beneath the location bar, either at the left or right side, falling way short of Tab Center.

                            3. 9

                              The share numbers are slightly deceptive figures, in the sense that they largely demonstrate more the decline of Desktop and Laptop usage, and less the decline of Firefox adoption or relevance.

                              Those Chrome and Safari numbers really point to a huge migration of casual, everyday browsing via mobile devices, which, often being used as appliances by the hoi polloi, trend in the direction of never modifying browser choices, once a certain degree of usage satisfaction is achieved by default. So, with Chrome on Android and Safari on iPhone, there’s a ton of mobile device inertia that attaches itself to those names, simply due to platform default status within the appliance context. This is especially true on premium high-end devices, where the default, stock, out-of-the-box experience is carefully crafted to not suck.

                              The same way Windows and Linux operating systems have less general reach than mobile platforms (you usually need to be sitting down, in a controlled environment to use the system), Firefox will only grab as much usage as is available on those kinds of systems. It doesn’t mean Firefox is any less relevant, as much as it really means that this behavioral detail is not completely obvious when looking at bald HTTP request data.

                              1. 7

                                The top priority is speed.

                                For me, the top priority is “doesn’t thrash the CPU, cause my laptop to heat up, and shag my battery” which Firefox is exceptionally good at. But since there’s no other option if you want a portable browser, I’m stuck with it.

                                1. 4

                                  I love using Firefox and I’m excited that it keeps getting better :)

                                  1. 1

                                    I tried Firefox for a few months because I found Chrome too sluggish on Android: reloading tabs from first principles if I haven’t looked at them in a few minutes, reflowing pages long after I’ve started reading and scrolling. Firefox was no better. Possibly 2GB of memory on a 4 core 1.5GHz processor is no longer really sufficient for any browser. I can make my peace with that.

                                    But I was a little boggled at the missed opportunity: mobile Firefox is not really any more configurable than the built-in Chrome (even the fonts are locked down), and had a lot of little UX glitches. I’ve always thought of Firefox as “the one you can customize to your taste” – by dropping that from mobile (the largest market by far), it feels like they’ve lost their main differentiation. There’s a lot of unused potential here; it could be a lot more than “Chrome with different bugs”.