Risking a Homogeneous Web

#

Last week I had the opportunity to present at a technical SEO conference about performance. At the speakers dinner, I was enjoying a really good conversation with a few folks I met. At one point, I brought up quokkas because they’re amazing and I desperately want to hang out with one.

Or a few.

Anyway.

It turns out, the other folks at the table were not familar. I couldn’t let this injustice continue, so I told them to “Google for quokka selfies”. Christi, who works on Bing, commented with a smile: “Or you could look it up on Bing.”

It was a small thing, all with good humor. But it kind of stuck in my head. Without really ever thinking about it, Google has risen to that status (for me at least, though I doubt I’m the only one) where, like Kleenex, it has become the product itself, not just the brand. Their influence on online search is nothing short of dominant.

Their influence on the broader web is not at that same level, yet, but it’s not all that far off. I’ve mentioned in the past the mixed feelings I have about Google’s influence on the web. There’s a significant risk of any entity having too much say over what happens because no entity is infallible.

I think, for example, that their no-JavaScript intervention is a great thing. Being vocal about including performance in their search rankings has caused many organizations to put more priority on making their sites performant than they would have otherwise. This is also a really great thing. When Google pushes a feature or bit of functionality as necessary, it gets attention. When those features align with the values of the web and fundamentals of building for it, I’m pretty pleased.

But they don’t always.

Consider AMP. I haven’t been shy in stating that I feel that the way AMP has been handled is detrimental to the web. They’ve taken some steps towards alleviating some of those concerns—they’ve put an advisory board in place full of fantastic people, they’ve done some work on the URL issues—but they still fundamentally put the focus on the way the site is architectured versus the experience that ensues. When’s the last time you can remember that a framework was given preferential treatment like AMP has been given? You could argue that it’s a format, like RSS, but no one has ever tried to convince developers to build their entire site in RSS.

And yes, technically, AMP is no longer a “Google” thing, but let’s be honest: does it exist today if Google hadn’t pushed it so hard, visiting publishers and advocating for them to use it? Not a chance. If Google decided tomorrow to pull their contributers from the project and remove their integration, would AMP continue on? Almost certainly not.

The incentives Google put around AMP puts organizations in a hard place. What should be an implementation detail is now a much bigger discussion.

Do companies forgo the enhanced listings and continue building their site without AMP?

Do companies create two versions of their site—one with AMP and one without—and commit to maintaining them both? That can be a hassle as without some level of parity, the experience will become inconsistent, and engagement will suffer (after a talk at Chrome Dev Summit, I’m convinced this is at least part of why AMP case studies have been a mixed bag thus far).

Do companies decide to build their entire site in AMP, limiting themselves to the functionality that AMP incorporates and placing their trust that this framework will withstand the tests of time?

It’s true that we’ve gotten some nice web standards emerging in no small part because AMP exists. Proposals like Web Packaging and Feature Policy both look to be valuable additions to the web. But I often wonder what those standards would have looked liked if AMP wasn’t there to drive them? These are nice features, but they’re driven nearly entirely by AMP’s use cases. If Google had doubled-down on incentivizing performance instead, what different features would have emerged?

Of course, my concern around AMP and my general okayness with Chrome’s JavaScript intervention reflect my own biases. There are folks who agree, and folks who don’t. That’s a good thing, a great thing even. We need different perspectives to move the web forward in a positive way. When we lose that, that’s when we’re at risk.

Yesterday we got another example of Google’s rising influence on the web, and the increasing associated risk. Microsoft, it seems, is going to build their next browser around Chromium. Chromium is fantastic, of course, but it feels like a shame after the dramatic turnaround Microsoft has undergone already from Internet Explorer to Edge.

Still, I can understand the logic. Microsoft can’t can, but have chosen not to, put as many folks on Edge (including EdgeHTML for rendering and Chakra for JavaScript) as Google has done with Chromium (using Blink for rendering and V8 for JavaScript), so keeping up was always going to be a challenge. Now they can contribute to the same codebase and try to focus on the user-focused features. Whether this gets people to pay more attention to their next browser or not remains to be seen, but I get the thinking behind the move.

The big concern here is we’ve lost another voice from an engine perspective. For rendering engines, we’re down to Blink (Opera, Chrome, Microsoft presumably), WebKit (Safari) and Gecko (Firefox). For JavaScript engines, we have V8 (Node, Chrome, Opera, Microsoft presumably), Nitro (Safari) and SpiderMonkey (Firefox).

WebKit/Nitro has good folks working on them, but it’s a smaller group—Apple isn’t exactly making as significant an investment in the web. Apps are more their style.

The Gecko/SpiderMonkey teams are likewise excellent and some of the work they’ve done lately is incredibly exciting. They also play the most critical role of the three: they’re the one engine combination not backed by a massive for-profit corporation which gives them a unique perspective. The downside is that they don’t have as many resources to make noise and grab developers attention.

Which leaves Chromium, primarily driven by Google to this point. Google, unlike Apple, invests in the web quite a bit. They have a massive business interest in doing so. As a result, they have more people working on Chromium and more people whose job it is to discuss that work than any other browser.

Look around at any number of web conferences and count how many speakers are from Microsoft and Apple and contrast that to folks from Google (factor in folks giving talks about Node, powered by V8, and the results are even more dramatic). This is not at all a knock on the folks from Google doing this work. They do a fantastic job, and we’re better off for them doing it. But you can see the discrepancy in representation from a developer outreach perspective and it’s hard to imagine a scenario where that doesn’t end up leading to some level homogeneity.

The same is true in standards-land. Google aggressively has pushed some fantastic standards forward, but we need voices to disagree. A little dissonance is not only valuable—it’s critical. Even the best of us, if not challenged by people with different viewpoints, will end up doubling down on our own viewpoint all too frequently. It takes real work to keep the blinders off, and a considerable part of that is making sure that there are many different voices at the table. It’s true of every aspect of life, and it’s true of the web standards process.

Rachel’s words of caution from 2016 are worth remembering:

If we lose one of those browser engines, we lose its lineage, every permutation of that engine that would follow, and the unique takes on the Web it could allow for.

And it’s not likely to be replaced.

I don’t think Microsoft using Chromium is the end of the world, but it is another step down a slippery slope. It’s one more way of bolstering the influence Google currently has on the web.

We need Google to keep pushing the web forward. But it’s critical that we have other voices, with different viewpoints, to maintain some sense of balance. Monocultures don’t benefit anyone.