Chris Graham: Why Google AMP is a threat to the Open Web
The lead developer for Composr CMS isn't too happy with Google's solution for speeding up mobile pages.
Like others in the IT community, I have become increasingly concerned with Google's behavior with their AMP technology.
For those who aren't really aware what AMP is, it's Google's proprietary solution for speeding up mobile pages. Webmasters implement AMP, which is a kind of Google-sanctified and Google-code-driven version of your webpage. It works very well and solves an important problem. Often when you search Google on a mobile device it will show AMP articles at the top of the results, so you get access to fast content first, which is reasonable in and of itself.
Unfortunately AMP is actually a massive power-grab by Google that threatens the Open Web in a major way. It is reminiscent of the anti-competitive and monopolistic practices Microsoft used to pull on us in the 90s.
Here are the main issues many have with AMP:
1) Developed in secret and controlled by Google.
For decades we have used open practices for developing new web standards. We have RFCs (public consultation on proposed standards) and various standards bodies such as the W3C. This is really important as it allows fair collaboration on the standards we are all expected to use. That leads to better standards that are free of bias.
It's never perfect. Often technologies are deployed by corporations before being standardized, but they are rarely aggressively pushed upon us and almost never fully and irrevocably dependent on one particular company's private infrastructure.
Google developed AMP in secret alongside news corporations who presumably all signed NDAs forbidding it being discussed publicly. By the time it was made public a number of major corporations had already deployed AMP, and Google's spec and infrastructure was basically settled and non-negotiable.
2) Forced on users.
Google is prioritizing AMP in their search results. Not fast pages in general, only AMP. There could be a page consisting of plain HTML with no CSS and JavaScript, and it would display after AMP on the Google search engine.
This is monopolistic behaviour. Microsoft once got forced to not push Internet Explorer hard on their customers, which they were bundling with Windows. This is exactly the same situation: Google are trying to force people to use their AMP technology by virtue of how popular their search engine is.
Some might argue that you can still choose your search engine and you can choose which results you click. This may be true, but the same was true of Microsoft - you could choose to use any web browser even while Internet Explorer was bundled. A monopoly isn't defined in terms of whether you do or don't have choice, it's defined by market share. Google is aggressively using their overwhelming market share in one area to take over market share in another area. It doesn't matter so much what you theoretically can do, it matters what people en-masse actually will be led to do. This is exactly why we chose as nations to enact monopoly laws: we can't have big corporations spreading to the extent that effective user choice is extinguished at some point in the future.
3) You never leave google.com.
If you click an AMP result then you are not visiting a website, you are visiting a cached copy on google.com. Similar to viewing a regular cached web page on Google.
This is a complete power grab that puts Google at the center of everything.
What Google needs to do to 'not be evil'
There is little that is technically wrong with AMPs approach at the level of implementing the technology on a website. So to make AMP palatable Google just need to:
1) Transfer control.
Google needs to transfer full control of the AMP specification to the W3C, enabling industry and public participation. Google can then provide staff to work on the specs but it has to be through this public forum and open to others (including from Google's competitors, small businesses, and enthusiasts).
2) Fair search results.
Google must not put a preference on its own tech in search results. It is legitimate to prioritize faster sites and to encourage web developers to not create slow bloated sites, but it is not legitimate for a monopoly to favour its own technology.
Google should prioritize based on actual page speed. If someone makes a super-fast page in Atom/RSS with an XSLT stylesheet (for example), that should show just as high as any AMP result.
3) Allow control of the cache layer.
AMP users must be able to either opt-out of Google caching (i.e. Google's hosting of copies of your pages), or specify their own cache server for Google to have mobile users prefetch against.
The whole AMP stack must be a software stack anyone can install, not something only hosted in Google-land. It must ultimately be as simple as installing a pre-built Debian package, with all dependencies managed automatically. This is how we always did it - the early web pioneers contributed to projects like Apache and bind so that we were all together as equals on an open system. We must not give that philosophy up.
If Google are concerned about users hosting broken AMP stacks they can just deprioritize search results for such scenarios, just like they must already do for broken Apache (or IIS, whatever) web servers that don't respond properly.
Google must not be allowed to flip the paradigm where they replace open technology systems with systems that all flow through Google.
Preempting criticism:
The most common defences of Google's AMP are:
1) Developers were not solving the problem and it needed to be solved.
It was always reasonable for Google to force developers hand by prioritizing the faster pages. The poor performance of a fraction of developers must not be an excuse for Google to take a massive power grab.
2) Google had to respond to Facebook and Apple.
Both Facebook and Apple have developed their own techniques for faster page loading.
However, these companies are not the gatekeepers to an Open Web. Users don't search out content directly on Facebook, they discover it - it's a totally different paradigm, and one Facebook created for themselves. Apple has developed a technology based on existing open standards, and are not forcing people to use Apple's systems in the same way. Apple is also a minor player compared to Google. You cannot compare these things to what Google is doing. That's not to say we can't find other strong reasons to criticize Apple and Facebook.
There has been far too little noise against Google for their behaviour on this. This shows just how successful Google have been in spreading their tentacles and priming people to depend on them. People love their masters if their masters feed and cloth them well. Developers should be cognisant that you should not go along with technologies that provide short-term advantages in return for the long-term stifling of freedom. Don't let companies take your power bit-by-bit, don't cede control of an open platform just because a company provides you nice things and makes overtures to the Open Source community.
Editor's Note: A followup to this article can be found here: Rehabilitating Google AMP: My failed attempt.
Author Bio: I am the lead developer for Composr CMS. Composr is a feature-rich website engine, optimized for ambitious folks who fall somewhere between newbie and coder.