1. 79
  1. 20

    (Disclaimer, personal opinion. I work for Mozilla but don’t speak for them)

    I don’t agree with everything the author says, but it’s interesting that someone is pushing back on the “Safari is the new IE” meme.

    But I’d say that Apple could still show up more often and more vocally in standards groups and their open objection would be more fruitful feedback that holds everyone accountable for meaningful and interoperable spec development.

    And still, that all won’t matter if people buy in to the new, “shiny” Chrome APIs and treat them as a standard. Indeed, it’s hard not to given their loud devrel megaphone.

    1. 3

      I personally find “Safari is the New IE” to be annoying because it is screamingly obvious to me that Node is the new IE.

      • Safari has fetch; Node does not.
      • Safari has supported modules forever; Node is still in transition.
      • Etc. Etc.
      1. 20

        As in, Node.js? I don’t really understand this argument, given that Node is well… not a browser.

        I guess if we’re changing the question to “What’s the JavaScript ecosystem IE?” instead of “What’s IE that replaced IE for the www?” it could make sense, but in this discussion I don’t quite see how Node’s existence as a whole even matters.

        1. 3

          Frontend coding is being held back by its tools (Node), not the client’s browsers. I don’t support IE11 but I do have to support Node 14.

          1. 7

            I totally get what you’re getting at and why it’s confusing/ frustrating.

            But NodeJS to ever get fetch built-in is unlikely. In fact, even if, it will never be able to work exactly like the browser-fetch (which is a web standard and requires a DOM and an HTML parser and what not). NodeJS plainly doesn’t have all of those required concepts. No origin, no cookies.

            1. 2

              Deno has fetch already. Node stumbled into the frontend by accident but doesn’t actually care about it. Deno has frontend compatibility as an actual goal, and the difference shows.

              1. 3

                Yes. Deno is basically implementing a headless browser. It’s NodeJS upside down, so to say.

            2. 6

              But the sense in which Node doesn’t have fetch only applies outside of a browser. If you’re working on the frontend in a modern browser it doesn’t matter whether Node “has” fetch or not. So I also don’t get your point.

              1. 7

                It matters because npm is used both to publish node libraries and frontend libraries. The dev then has to use a bundling system like WebPack to convert the libs from one style to the other. I have seen projects where live reload takes a full minute because of that.

                Most of that complexity would go away if node supported ES modules and the fetch API.

          2. 10

            Isn’t Chrome the new IE?

            1. 2

              The new IE has to be analogous to the old one by being both dominant (like Chrome desktop or Safari mobile) and a drag on standards uptake. Node is completely dominant on the development side and it is dragging frontend development down with its inadequate standards support. Hence QED.

              1. 18

                A good chuck of those “standards” people moan about Safari not supporting yet, are in fact, not yet standards.

                They’re often random shit the Chrome team thought up…. much like all the proprietary shit Microsoft added to Trident ~20 years ago.

                1. 5

                  The new IE has to be analogous to the old one by being both dominant (like Chrome desktop or Safari mobile) and a drag on standards uptake.

                  That’s not the only way the analogy “has to be” in order to work.

                  Chrome and IE are both:

                  • Created by the most powerful tech company in the world at the time
                  • In a monopoly position such that they can ignore everything other browser vendors do
                  • Developed in a way that puts the concerns of its parent company over that of its users
                  • Holding back anti-advertising technology
                  1. 4

                    But isn’t Chrome a bigger drag by introducing whatever features they want (and also by owning the standards process so it’s just a rubber stamp on old chrome features)? I see lots of “works best in chrome” sites just like we saw “works best in IE” sites. No so many “works best in node” sites ;)

                2. 7

                  Node is the new JScript.NET?

                  1. 3

                    I don’t understand your analogy. Node.js is a back-end technology. The only “web” thing about it is that you can use it to talkie HTTP over a TCP socket, and it happens to use JavaScript as a programming language. I don’t see it as a “web citizen” at all. Complaining that it doesn’t support fetch makes just as much sense to me as complaining that Ruby on Rails doesn’t implement the fetch API.

                    There’s a huge difference between back-end technologies and web technologies. If you don’t like a particular back-end technology you can just not use it. Don’t like Node’s NPM? Use Deno. Don’t like Deno’s lack of a fetch function? Use Go. Don’t like Go’s concurrency model? Use Rust. Or Python. Or Ruby. Or anything you want. Hell, use PHP. But if you don’t like a particular browser, you don’t have a choice, you have to suck it up and support that browser, or accept that a decent chunk of your users can’t access your site. A bad back-end technology affects only the users who chose to use that back-end technology, but a bad browser affects every web developer.

                    1. 1

                      Every single modern website has a front end build system in which packages are downloaded off of NPM and bundled by a Node process.

                      1. 3

                        That’s both not true and not relevant…

                        1. 1

                          It is true by definition, because the definition of a modern website is one with a frontend build system that downloads packages off of NPM and uses a Node process like Webpack to bundle them. You can like or not like this state of affairs, but it is absolutely true that when people talk about “modern frontend” this is what is meant by “modern”. See eg https://medium.com/the-node-js-collection/modern-javascript-explained-for-dinosaurs-f695e9747b70 which is 4 years old and uses my definition of “modern”.

                          It is relevant because while there are still plenty of websites which use little JavaScript or use only a handful of manually curated jQuery plugins, that is no longer considered “modern” and new sites with well trained frontend developers don’t follow that old pattern any more.

                          My hope is that we will soon see the emergence of “postmodern” frontends that use Deno or at least not Node, but it’s still fuzzy, and e.g., if you want to use Tailwind CSS, you need to optimize it with PostCSS, which means you need Node.

                3. 13

                  I am intrigued by the framing of the Sturm und Drang about the state of the web as being driven, to some significant degree, by politics internal to Google.

                  1. 26

                    As I stated earlier this week, promo packets are what’ll do in the web.

                    I think a lot of developers simply lack the interest in context to process the realpolitik that shapes and distorts the fabric of spacetime for our industry.

                    If you refuse to understand that Google’s whole business is threatened by adblockers, you probably would be confused at the some of the changes to web extensions webRequest that make that work harder. If you don’t understand the desire to make SEO, crawling, and walled gardens easier AMP probably seemed like a great return to roots.

                    Other companies do this too, of course. If you didn’t know about OS/2 Warp some of the Windows APIs probably seemed weird. If you don’t know about Facebook trying to own everything you do then the lack of email signup for Oculus probably seems strange. If you invested heavily into XNA you probably got bit when internal shifts at Microsoft killed XNA off. If you don’t know about internal Canonical and RHEL shenanigans, systemd and other things probably are a surprise.

                    Developers need to pay as much attention to the business dependencies as the technical ones.

                    1. 6

                      What do you mean by promo packets? I’m not familiar with this term.

                      1. 21

                        When you’re doing a performance review at Google, you can request a promotion. If you do this, you put together a ‘packet’ including the impactful work you’ve done. New work is rewarded heavily, maintenance less so. For senior engineers, shipping major projects with an industry wide impact is a path to promotion.

                        1. 30

                          Which means Google rewards doing something new for the sake of doing something new. It’s tremendously difficult to get promoted by improving older systems. Crucially, you often need to demonstrate impact with metrics. The easiest way to do that is sunset an old system and show the number of users who have migrated to your new system, voluntarily or otherwise.

                          1. 16

                            Ew. Thanks for the insight. But ew.

                          2. 1

                            Is there any material evidence suggesting that someone’s promotion is the reason that chrome will remove alert? Obviously google will push the web in the direction that juices profit, but an individual promotion? Seems like a red herring.

                            1. 6

                              It is often difficult to pick it apart as it’s rarely a single person or team. What happens in large organizations is that there is a high-level strategy and different tactics spring from that. Then, there are metrics scorecards, often based on a proxy, which support the tactics delivering the strategy. This blurs the picture from the outside and means that rarely one person is to blame, or has singular control over the successes.

                              I haven’t followed the alert situation very closely, but someone familiar with large organizations can get a good read from the feature blurb. There is a strong hint from the language that they are carrying a metric around security, and possibly one around user experience. This translates to an opportunity for a team to go and fix the issue directed by the metrics since it’s quantifiable. The easiest way to start might be to work back from what moves the metric, but this is a very narrow perspective.

                              Developers may know what the best things to work on having been a developer in that area for 10 years, but their impact tracks towards those top-level strategies. Management can’t justify promotion because someone else is very focused on metrics that drive the strategy.

                              In lots of places this is called alignment. Your boss may only support X amount of work on non-aligned projects, if you do at least Y amount of work on Y projects. A classic big company alignment example is a talented person in a support department. If they can fix your biggest problem at the source it’d be best to let them do this. However, metrics incentivize assigning them to solving N support cases per week and other metrics designed for lower-skilled individuals instead of working on fixing root causes. Eventually, they leave unless you have smart management taking calculated risks, manage the metrics at the team level so the team is not noticed working the way it wants, seeking paths for talented people to work on the product, etc.

                              1. 1

                                Many of us understand how metrics and incentives at tech companies work. Was just pointing out that it’s a bold claim to assume that chrome is removing alert due to an individual seeking a promotion.

                        2. 3

                          I think about this in terms of my time at Apple – like, people ascribed all kinds of causes to various seemingly peculiar Apple decisions that to those of us on the inside were obvious cases of internal politicking leaking out.

                          1. 2

                            WHATWG is a consortium of multiple companies so I’m curious why everyone is pointing the finger at Google here, or is the assertion that Google has so much power over the WHATWG and Chrome at this point that there’s no ability for other companies to dissent? (And I mean we all know that the W3C lost and WHATWG won so a consortium of vendors is the web.)

                            1. 9

                              The multiple companies are Apple, Google, Microsoft, and Mozilla (https://whatwg.org/sg-agreement#steering-group-member, section 3.1b) Of the three, only Apple develops a browser engine that is not majority funded by Google.

                              1. 4

                                I’m pretty sure Apple develops a browser engine that is majority funded by Google: https://www.theverge.com/2020/7/1/21310591/apple-google-search-engine-safari-iphone-deal-billions-regulation-antitrust

                                1. 5

                                  That’s some pretty weird logic.

                                  The browser engine Apple creates is used for a whole bunch of stuff across their platforms, besides Safari:

                                  Mail, iMessage, Media Store fronts, App Store fronts.. Those last two alone produce revenue about 4x what Google pays Apple to make it the default.

                                  Do I wish they’d get more people using alternatives and pass on the google money? Sure. Is there any realistic chance their ability to fund Safari and/or Webkit would be harmed by not taking the google money? Seems pretty unlikely.

                                  1. 1

                                    I don’t think the stores use WebKit. They didn’t last time I investigated.

                                  2. 4

                                    It’s true-ish. But I’m sure the most profitable company in the world probably doesn’t require that money and would be able to continue without.

                                    1. 3

                                      You don’t become the most profitable company by turning down revenue.

                                  3. 1

                                    Right I was just wondering if folks think the WHATWG is run solely by Google at this point. Thanks for the clarification.

                                  4. 5

                                    The point is that many of those new APIs don’t happen in standards groups at all. Exactly because they’d require more than one implementation.

                                    1. 5

                                      Yes, this. Google’s play here is less about controlling standards per se (ed: although they do plenty of that too) and more about getting everyone to treat Whatever Google Does as the standard.

                                    2. 4

                                      WHATWG was run at inception by a Googler and was created to give Google even more power over the standards process than the hopelessly broken W3C already gave them. That they strong armed Mozilla into adding their name or that Apple (who was using the same browser engine at the time) wanted to be able to give feedback to the org doesn’t change the Googlish nature of its existence, IMO

                                  5. 12

                                    Like it or not, Google is the www. It is the driving force behind the standards, the implementations (other than Safari), and the traffic that reaches websites.

                                    It would be odd if Google’s internal politics didn’t leak into the medium.

                                    1. 6

                                      Right, it’s just … one of those things that is obvious in retrospect but that I would never be able to state.

                                      1. 9

                                        A lot of people seem to think that standards work is a bit like being in a university - people do it for the love of it and are generally only interested in doing what’s best for all.

                                        In reality it’s a bunch of wealthy stakeholders who realize that they need to work together for everyone’s best - they’re not a monopoly, yet - but in the meantime it behooves them to grab every advantage they can get.

                                        As mentioned in the post, standards work is hard and time-consuming, and if an organisation can assign a dedicated team to work on standards, that work will get implemented.

                                        1. 3

                                          Universities work like that too now

                                          1. 1

                                            This is sadly true.

                                  6. 11

                                    Safari and Chrome are both IE, it’s just that they’re at different stages of IE’s lifespan.

                                    Chrome is like late 90s/early 2000s IE, dominating the market and full of support for new features that other browsers didn’t carry, thus resulting in ‘Best viewed in X’ type apps.

                                    Safari is like late stage IE, lacking support of new features (at least in certain contexts), requiring special attention from developers in order to make certain things work that were taken for granted in other browsers. In the case of IE there were better alternatives, but they were unavailable due to corporate desktop lock down policies. The audience size affected by this issue was large enough that developers had to cater to them.

                                    In the case of Safari, better alternatives exist …. provided you run a new enough version of OS X. If you run an old enough version of OS X the only browser available is Safari (due to FF and Chrome no longer supporting that OS version). I once worked for a SAAS company whose audience was artists, the majority were Mac users and quite a few were stuck on old Safari on Snow Leopard (this was a number of years ago). They couldn’t upgrade their OS without replacing their perfectly functioning hardware. It was certainly a pain point for us.

                                    1. 11

                                      In the case of Safari, better alternatives exist

                                      It depends on what you consider “better” in a browser. Safari still tends to have a lower energy footprint, which is a big deal for users on portable machines. The battery life savings you can get by switching from Chrome to Safari as a daily driver are nontrivial.

                                      1. 1

                                        Oh for sure! In this context I was referring to ‘better’ as having better support for standards, specifically on older versions of OSX which are stuck on older versions of Safari but still have updated Chrome or Firefox browsers available.

                                    2. 9

                                      What’s even dumber is when you see all these websites that check that the browser is Chrome/Chromium to enable a feature, whether or not the browser can actually support it. How did this happen? There is everything needed in CSS and JS to check if a feature is supported nowadays.

                                      1. 4

                                        There are ways to check whether or not JS supports a feature and the same is true for CSS (s. @supports) but the problem is that some browsers lie with (Mobile) Safari being a prominent example unfortunately.

                                      2. 9

                                        Dunno if this was intended or not, but in following the theme of the page’s content, the mostly text webpage needs JS to be styled correctly…

                                        1. 1

                                          looks fine to me. who’s to say which style is “correct”?

                                          1. 3

                                            Sans JS, the entire left half of the page is just a big blue rectangle that makes the text impossible to read.

                                            1. 1

                                              ah yeah. without CSS it looks much more normal, but you don’t get the navigation links.

                                        2. 2

                                          We can admit that the whole web battle is lost and move to the gemini space.

                                          In a few years Chrome will run its own k8s instance and a Flutter v69.0.0 frontend will talk to it via gRPC and PubSub.

                                          1. 9

                                            The problem with Gemini is all the pages are made by other Gemini users and has useless syntax. The web wasn’t useful because it was for appealing to the aesthetics of chickenshit minimalists, it was useful because it had the ability to express information better through hypertext where Gopher wouldn’t.

                                            1. 6

                                              Why move to Gemini protocol? Why not just write the html you want to see, and have your friends do so too?

                                              1. 1

                                                Mainly because control over the web is already lost.

                                                How can we be sure that Chrome will not refuse to render vanilla HTML pages if there are no required attributes (Google Analytics UID or similar) in your head/body/anchor tags?

                                                Or better, imagine ANY ridiculous requirement that a single browser vendor may impose.

                                                Writing a whole new browser that implements the web stack is expensive and will take a lot of time. So Google has reliable protective moat there.

                                                Gemini contrary allows you to implement a client in a few hours, so the entry barrier is low.