AMPstinction

I’ve come to believe that the goal of any good framework should be to make itself unnecessary.

Brian said it explicitly of his PhoneGap project:

The ultimate purpose of PhoneGap is to cease to exist.

That makes total sense, especially if your code is a polyfill—those solutions are temporary by design. Autoprefixer is another good example of a piece of code that becomes less and less necessary over time.

But I think it’s equally true of any successful framework or library. If the framework becomes popular enough, it will inevitably end up influencing the standards process, thereby becoming dispensible.

jQuery is the classic example of this. There’s very little reason to use jQuery these days because you can accomplish so much with browser-native JavaScript. But the reason why you can accomplish so much without jQuery is because of jQuery. I don’t think we would have querySelector without jQuery. The library proved the need for the feature. The same is true for a whole load of DOM scripting features.

The same process is almost certain to occur with React—it’s a good bet there will be a standardised equivalent to the virtual DOM at some point.

When Google first unveiled AMP, its intentions weren’t clear to me. I hoped that it existed purely to make itself redundant:

As well as publishers creating AMP versions of their pages in order to appease Google, perhaps they will start to ask “Why can’t our regular pages be this fast?” By showing that there is life beyond big bloated invasive web pages, perhaps the AMP project will work as a demo of what the whole web could be.

Alas, as time has passed, that hope shows no signs of being fulfilled. If anything, I’ve noticed publishers using the existence of their AMP pages as a justification for just letting their “regular” pages put on weight.

Worse yet, the messaging from Google around AMP has shifted. Instead of pitching it as a format for creating parallel versions of your web pages, they’re now also extolling the virtues of having your AMP pages be the only version you publish:

In fact, AMP’s evolution has made it a viable solution to build entire websites.

On an episode of the Dev Mode podcast a while back, AMP was a hotly-debated topic. But even those defending AMP were doing so on the understanding that it was more a proof-of-concept than a long-term solution (and also that AMP is just for news stories—something else that Google are keen to change).

But now it’s clear that the Google AMP Project is being marketed more like a framework for the future: a collection of web components that prioritise performance …which is kind of odd, because that’s also what Google’s Polymer project is. The difference being that pages made with Polymer don’t get preferential treatment in Google’s search results. I can’t help but wonder how the Polymer team feels about AMP’s gradual pivot onto their territory.

If the AMP project existed in order to create a web where AMP was no longer needed, I think I could get behind it. But the more it’s positioned as the only viable solution to solving performance, the more uncomfortable I am with it.

Which, by the way, brings me to one of the most pernicious ideas around Google AMP—positioning anyone opposed to it as not caring about web performance. Nothing could be further from the truth. It’s precisely because performance on the web is so important that it deserves a long-term solution, co-created by all of us: not some commandents delivered to us from on-high by one organisation, enforced by preferential treatment by that organisation’s monopoly in search.

It’s the classic logical fallacy:

  1. Performance! Something must be done!
  2. AMP is something.
  3. Now something has been done.

By marketing itself as the only viable solution to the web performance problem, I think the AMP project is doing itself a great disservice. If it positioned itself as an example to be emulated, I would welcome it.

I wish that AMP were being marketed more like a temporary polyfill. And as with any polyfill, I look forward to the day when AMP is no longer necesssary.

I want AMP to become extinct. I genuinely think that the Google AMP team should share that wish.

Have you published a response to this? :

Responses

zeldman

“If the AMP project existed in order to create a web where AMP was no longer needed, I think I could get behind it. But the more it’s positioned as the only viable solution to solving performance, the more uncomfortable I am with it.”adactio.com/journal/13964

# Posted by zeldman on Tuesday, June 5th, 2018 at 3:44pm

Andy Bell

Good article here. I have very little positive things to say about AMP, but if it influenced performance like jQuery influenced JavaScript core, it’ll be a genuine asset to the community. For now, it’s a controlled platform by and advertising company. adactio.com/journal/13964

# Posted by Andy Bell on Tuesday, June 5th, 2018 at 5:14pm

R+

AMPstinction by Jeremy Keith 2018-06-03adactio.com/journal/13964#f2etw 「 any good framework should be to make itself unnecessary 」 說得真棒! <3

# Posted by R+ on Wednesday, June 6th, 2018 at 9:42am

Michael Morisy

Good piece on something that always bugged me about AMP: It penalizes those who share its values but want to follow a different route, and there’s no clear end in sight to that. adactio.com/journal/13964

Scott Granneman

Agreed. “If the AMP project existed in order to create a web where AMP was no longer needed, I think I could get behind it. But the more it’s positioned as the only viable solution to solving performance, the more uncomfortable I am with it.” adactio.com/journal/13964

1 Share

# Wednesday, June 13th, 2018 at 2:07pm

3 Likes

# Liked by Dominik Schwind on Monday, June 4th, 2018 at 8:04am

# Liked by Chris Taylor on Monday, June 4th, 2018 at 9:15am

# Liked by Nick Sayre on Tuesday, June 5th, 2018 at 1:31am

Previously on this day

4 years ago I wrote Taking an online book offline

It’s a book. It’s a progressive web app. It’s HTML5 For Web Designers.

5 years ago I wrote 100 words 073

Day seventy three.

10 years ago I wrote Tools of a different trade

Call yourself a web designer?