How I Learned To Stop Worrying And Love Accelerated Mobile Pages (AMP)

Authored by

People have called me many things, but when it comes to the Open Web, I’ve been described as a zealot. Imagine a Portland hipster’s post-Trump-tweet outrage, and channel all that fire and fury into defending humankind’s greatest achievement: The Internet.

I’ll be honest, when I first heard about “Google AMP,” it was framed as a threat to the Open Web. You better believe I jumped on that train, and consumed all the anti-Google rhetoric on offer.

But when I came up for air, I couldn’t ignore the fact that AMP is an open source project. I was faced with a dilemma: Since I believe open source is inherently good, and AMP is open source, how bad can AMP really be?

We should all know by now that almost every controversy is more nuanced than it first appears. As I dug a little deeper, my discoveries moved me from Naysayer, to Skeptic, and ultimately, I’ve become a Believer.

To start with, AMP is way faster. AMP page load times are seriously close to instant.

Since we know that frontend performance is the main lever involved in driving user engagement, AMP has an important part to play in the future of the Internet.

In addition, on closer inspection, I found that most other criticisms of AMP quickly fall apart.

For example, criticism about Google’s control over the project. Unlike similar technologies (I’m looking at you Facebook Instant Articles), AMP really is open source. How open source? I took a random sample of 10 recent committers to AMP from Github. Let’s be honest – 9 of those were Google employees – but the fact that I could so easily view the project’s commit history, current issues and pull requests says a great deal.

There’s nothing stopping you or me from actively contributing to the project. Like any other open source community, AMP is a meritocracy. Rather than complaining about the negative potential of the project, get involved! Test versions, report issues, file bugs, write fixes: Any efforts you make help improve the project.

There’s another thing that bugs me about all the gloomy characterisations. Some AMP detractors argue that “the sane solution is to just fix your website so that pages load fast.” On the surface, this seems to make sense, but let’s be real – “just fixing” a website is rarely that simple.

AMP isn’t just a static site generator. It optimises DOM construction, avoids layout recalculations, prioritises resource loading, and much much more. Let’s put it this way – even a halfway complex static website would be up to 85 percent faster with AMP.

One more thing: Some detractors suggest that implementing AMP means handing over control of your content and audience. This is simply false. Does Google have an AMP cache? Why yes… yes it does. So does Bing, Pinterest, Twitter, and any other web service who wishes to have one. (Personally, I hope that my search engine of choice decides to add an AMP cache.)

An AMP cache is simply a pre-rendered version of a page, which drops a few milliseconds from the load time by removing the client-side javascript rendering. Paul Bakaus does a great job of explaining the AMP Cache in detail in this Medium post that’s well worth the read.

Let’s recap:

    1. Nothing is as simple as first it seems.
    2. AMP makes your website stupid fast.
    3. Most AMP criticisms don’t bear scrutiny.

Opinions are opinions and these are mine. How do you see AMP and its role in WordPress and the open web?

XWP has implemented AMP for some of the largest media publications on the planet, and works with Google and Automattic to maintain the official AMP for WordPress plugin.

If you’d like to learn more about how AMP can help you, let’s chat!

8 thoughts on “How I Learned To Stop Worrying And Love Accelerated Mobile Pages (AMP)”

  1. Great thoughts here, Luke. I’ve been fascinated by the possibilities of AMP for a while now, and I love to see it gaining acceptance.

    I find the difference in page speed is more than just a matter of UX, it’s a reason to pause and evaluate how we build websites in general. Caching benefits aside, if we can use such a lightweight standard for creating mobile experiences, why don’t we use it — or at least its underlying philosophy — for all of our architectural decisions?

    For example, take all of the advertising and tracking scripts that can get packed into a page. On a general, basic level, AMP raises questions about how these scripts are written in the first place. And, if we can get by without so many, or such large scripts, what does it mean that we think they are needed at all? Maybe we should pause and consider what is truly necessary in terms of gathering metrics or how we present Ads to users.

    It would be fascinating to see a toolset like AMP Components become available for general, device-agnostic purposes.

    Relatedly, it would be an interesting experiment to build an entire website purely in AMP, just to have the conversations around design and architectural decisions that we would be made with such constraints.

    Ultimately, I’m excited to see my friends at XWP taking such a vested interest in evolving the web. You are a crowd of innovators, and there are many, many people who are benefitting from your Open Source contributions, even if they never know your names.

    1. Thanks for your thoughts @John. I’m also interested in the idea of desktop / device-agnostic AMP. In fact, I think it’s likely to be the future of AMP.

  2. Thanks, interesting point of view, Lukas!
    While I’m digesting, and since you asked, I jotted down what fundamentally bugs me about AMP. It turned out longer than a comment probably should be, so I’m going to cross-post it on my own blog, too. If you feel it’s too long for a comment here, I understand. Feel free to not publish, or edit it.

    AMP, to me, is a new iteration on the approach of trying to fix a broken mindset by dumping shiny new technology on top of it.

    Which then isn’t about “fixing” anything, really, but avoiding the cost and effort of fixing stuff in favour of building new stuff and leaving the old stuff to rot and fade away.

    That “stuff” obviously is the open web.

    Yes, AMP seems to work. Yes, it seems to solve real problems. But I’d argue it doesn’t solve the real problem of the open web which to me seems to be: litter. Instead, AMP seems to encourage more litter, and less care.

    The open web obviously is a shared environment. And just like some people don’t mind littering parks and other public spaces, it has become ok at some point to litter the web with obese pages that clog up global bandwidth with ads, and more ads, and slider images, and auto-loading header videos, and all kinds of heavy, useless crap.

    I work in customer support for a WordPress plugin, and a lot of themes and plugins I get to look at on customer systems reveal a zero-fs-given attitude of their makers.
    Many product providers don’t seem to care about wp-admin health, nor about the sanity of their users, nor about basic coding standards, or third-party compatibility. They obviously see WordPress as a cash cow, the plugin repo is their lead generator, and wp-admin is where they advertise, and collect their checks.

    To me, this behaviour in wp-admin sort of reflects the situation on the open web. (Or pretty much everywhere, but let’s not go there.)

    People, even professional designers and developers, have treated the open web as a place of total freedom of … littering.

    Google and Facebook need a new cable dumped into the Pacific to keep up with demand. How is this demand going to scale at a scale of 3-10 MB per page load? Are we going to wrap the planet in cables until it chokes?

    I credit Google for trying to fix people’s minds and make them consider website performance by making speed a ranking factor.
    But apparently people’s minds haven’t complied to be fixed quick enough, so they said screw that, and they more or less forced AMP upon the open web—something only a corporate giant like Google could do.

    To me, AMP’s underlying concept is a statement of vicious, yet oh so human irresponsibility:

    “Ok world, keep littering. Pretty soon, the open web will become a place that sucks to be around, you won’t even want to use it anymore. When that time comes, you’ll find your friendly global search engine over here with a brand new web for you to hop on. It’s going to be clean, and shiny, and easy to use and build for, because you don’t get to decide a lot. Eventually it’s going to be your data dumped into our pre-defined designs, thanks for business.”

    At its roots, it’s arguably the same type of approach that motivates men like Elon Musk to invest in space ships instead of ocean cleaning technology and solar energy. Why fix a thing, a web, a planet, when we can start over and have a shiny new one?

    To me, it seems a mindset broken at its very core, where the questions asked become a matter of humanity, not technology.

    However, I’m aware there are other perspectives, and I appreciate you wrote yours up. I typed this down in between lunch and a waiting support queue, so apologies for lack of accuracy, cross references, and objectiveness. 😉

    1. @Caspar thank you so much for the time and thought you put into your response.

      The points you touch on are all very valid, and have bothered me too, although I think we may have different intuitions on how to best resolve the problem of slow, outdated websites.

      Certainly, your “litter” analogy is astute! We’re aligned on that front: let’s keep the web neat and tidy.

  3. Hey Luke,

    When it comes to page loading speed, AMP is great, and can be great for a lot of applications.

    But page loading speed isn’t everything. In fact, Google itself often talks in general about “user experience”, and that also involves a richness of interaction, media and visuals to clarify and illuminate textual information.

    Moreover, caching of any pages by Google takes away sites’ ability to determine when to publish new information and gives that control to Google.

    On the other side of the website, it’s important to get business – leads, sales, etc – and for now, that’s not entirely supported by AMP (maybe I haven’t tried everything, but I have tried a few things and they didn’t cut it).

    Google has always aimed to answer questions in the search engine. Its knowledge graph, and now the AMP cache and other forms of web page caching, are forms of digital theft under the pretense of speeding up the web, because it robs site owners of control over their web assets and marketing performance.

    Finally, the Internet is getting ever faster, not just more crowded, with satellites being launched by companies like Facebook. Mobile phones, presumably the driver of “the need for speed”, are also becoming faster by the month, as well as more capable of rich user experience.

    Bottom line, IMHO, is that AMP is great for news outlets and blogs, but for anyone wanting to run an online business, it’s not there yet.

    Best regards,

  4. I would also like to stop worrying and love AMP. There is much to agree with in this post, but I would love to know your further thoughts here.

    > Since I believe open source is inherently good, and AMP is open source

    Malware could be open sourced as well, the fact that AMP is Open Source only addresses some of the reservations people might have on AMP can come across as leveraging the positive connotations of ‘Open Source’ to justify a certain way of shaping the web.

    After admitting that the large majority of current AMP committers work for Google, you then go on to say that

    >Like any other open source community, AMP is a meritocracy.

    Which is music to most people’s ears but it seems rather preposterous to take on faith the operation of meritocracy if it meant that AMP would be making material changes that could undermine Google’s business goals.

    > AMP isn’t just a static site generator. It optimises DOM construction, avoids layout recalculations, prioritises resource loading, and much much more.

    Can’t we do this without relying on a handful of centralized sources?
    We can certainly optimize HTML, take out unnecessary characters, compress, do lossless image optimization, etc etc.

    Regarding the ability to pick your own cache server (something until recently didn’t know was possible because I wasn’t that well informed) you list Bing, Pinterest and Twitter. But this is the common theme here, we’re inviting dependency on centralized providers who largely control the flow of who sees what content. In fact all of these services, including Google, have a natural conflict of interests. And even if some publishers decide to run their own cache servers (while committing to AMP/Google’s rules), the large majority of sites will just run off Google or something similar.

    And this is where instead of getting in the weeds with ‘but it’s Open Source and a technically sound way to radically improve mobile UX’ types of arguments. Let’s look at the bigger picture. Google now tells us what we need to do to get privileged placement in organic search, what is an acceptable ad or not, when you’re deemed to be infringing on copyrighted content or not, it can power or pull the plug on revenue streams at the drop of a dime from content publishers on say, Youtube, it will increasingly be pushed to decide what types of speech are acceptable or not. It decides what local businesses have the best placements, it can decide to crush certain kinds of startups when it chooses to. And given the travel of direction in governments who are getting more keen on controlling internet traffic, they will invariably bend to meet their demands. Google’s role is simply too big and it can’t be trusted to operate in the best interests of the open web. (even though there are lots of examples where Google has done the right thing and genuinely made things better)

    AMP is a very particular way of solving the problem of poor mobile site performance. The technical solutions are effective and robust but they have a Google specific bias. When Google embeds content into its search results, it is always projecting its authority that way. It keeps users on their platform, always reinforcing its monopoly. And that authority can be used to misinform users as well. So far it has messed up one my dinners thanks to bad instructions (a bad overcooked oven dish), but on a more serious note it can also be used to proliferate disinformation.

    It’s simply not good enough to say that we can only deliver the kinds of performance improvements mobile users deserve by increasing our dependency on the same 3rd party centralized infrastructure that will or is being used to shut down sites, control and throttle information while mining user’s data for corporate, intelligence and political interests.

    When push comes to shove for Google, a free independent web takes a backseat to its other priorities. It’s own revenue streams, it’s desire to become even more dominant and survive against other giants, it’s commitment to governments, it’s biggest advertisers and large copyright lobbyists. All of these factors easily disalign with wanting to do what’s right to create a level playing field, independence for users and publishers and freedom of expression. We are better off not making the dominant even more influential, while endeavoring to make a more decentralized web more robust.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.