Jens Oliver Meiert

Accelerated Mobile Pages, a Critical View

Post from August 18, 2016 (↻ June 26, 2017), filed under .

Disclaimer: As many of you know, I used to but don’t work for Google anymore.

Last year Google introduced AMP and the Accelerated Mobile Pages Project. Independent of suggesting tech paternalism when AMP gets treated preferably in search rankings, I’ve been concerned about what the AMP spec entails exactly. I’ll try to give my thoughts a constructive spin.

The AMP logo.

Figure: Another Flash.

First of all, AMP tries to sell us things that are either already best or evidently bad practice. In the opening section of the spec, for example, AMP talks about optimization such as replacing image references with sized images, inlining images, inlining variables, preloading components, and minifying HTML and CSS. Replacing references, preloading, and minifying are best practice already; inlining is a good practice only when done automatically, otherwise unmaintainable malpractice.

AMP’s required markup comes off as clueless (I wish they had elaborated on their ideas to tell). @⚡ or @amp could have probably been done more humbly through something data-*. head and body are optional for (fortunate) reason and should stay optional (if you think about it, this requirement is backwards—AMP should rather insist on omitting all optional tags). A UTF encoding makes sense but the restriction needs explanation. Generally there’s no indication that everything had been done to avoid code bloat.

The AMP spec’s insisting on special or otherwise optional markup, metadata, and scripts rather seems to create and encourage such code bloat which, ironically, counters AMP’s objective to get to mobile pages that, per the FAQ, “load instantaneously.” Maybe this impression only arrives through the innocent omission of the team’s thinking, but making optional tags mandatory and giving already verbose social meta data a free pass appears all but speed-minded.

Other technical requirements like the prohibition of !important are entirely ill-advised, then. !important, for example, is part of the cascade and an important tool, and so AMP needs to yield here, not the whole world of web development.

AMP then manages to pull another trick that may hurt more than serve anyone: It demands too much and, with that, becomes too complicated. Duplication of content (in case of separate AMP pages); exceptions for HTML; exceptions for CSS; new code rules, components, templates, runtime, &c. pp. do not leave the impression that thought was on simplicity and making things easy for the user (developer), but on patching a great number of things to achieve a Google-internal and possibly Google-only objective (which would, of course, be ungoogley).

Lastly, and unless I overlooked something, AMP fails to explain why we could not have worked with a particular HTML mobile profile, similar to what was tried with CSS. The web standard specs suffer from excessive growth, and Google, swift as some of their teams may be, does not help us contain that situation. After all, the complexity AMP creates is something that will eventually fall on other people’s feet, but also hurt Google.

This leads me to my interim conclusion: Pending Google sharing their thinking behind AMP and the design decisions made, AMP looks like a shot from the hip that may have been addressed more appropriately by involving other mobile-related efforts, specs, and groups—or by simply defining criteria by which pages are considered fit for special featuring, thereby not interfering with specs and telling site owners how to write Google-style HTML. Both will make some roll their eyes, but if something’s worth doing then it’s worth doing well. AMP, the way it’s being presented to us, is not done well.

Update (June 25, 2017)

My prediction: By 2020 AMP will be dead (rightly so, without more insight into the strategic and technical decisions behind it). At the moment it’s just going to turn into a misguided bet that mostly non-Googlers will have to pay for.

About the Author

Jens Oliver Meiert, photo of July 27, 2015.

Jens Oliver Meiert is a developer (O’Reilly, W3C, ex-Google) and philosopher. He experiments with art and adventure. Here on he shares and generalizes and exaggerates some of his thoughts and experiences.

There’s more Jens in the archives and at Amazon. If you have any questions or concerns (or recommendations) about what he writes, leave a comment or a message.

Read More

Have a look at the most popular posts, possibly including:

Or maybe say hi on Twitter, Google+, or LinkedIn?

Looking for a way to comment? Comments have been disabled, unfortunately.

Flattr? Found a mistake? Email me,

You are here: HomeArchive2016 → Accelerated Mobile Pages, a Critical View

Last update: June 26, 2017

“If there is any secret, it is missed by seeking.”