
Ask HN: Is it just me or is the AMP project making everything slower? - gtf21
I have µMatrix in my browser, and by default it blocks the AMP CDN. The result of this seems to be horrendous white-screen times for web-pages, beyond what I would expect it to take for a web-server to load these pages, and the delay in loading is very noticeable across all of them.<p>I have a vague idea of the point of AMP, which is to speed up the delivery of web pages. However:<p>1) I&#x27;m not convinced the web pages were really _that_ slow to start with, so it feels like an unnecessary project (well, excepting the fact that web-page bloat has massively increased as people use more and more javascript libraries &amp;c.).<p>2) Perhaps I&#x27;m being a bit old fashioned, but I don&#x27;t really understand what was wrong with a browser serving a web page made out of some HTML, CSS, and Javascript. It feels like we&#x27;re replacing one technology with another (and that latter one comes from Google, which makes me nervous). Do we really want AMP to be the way we serve the web?<p>3) I haven&#x27;t properly investigated, bt I&#x27;m assuming that this delay is some script which is waiting for the data to load from the AMP CDN, and once that times out it displays the underlying content (I did check and loading this page [1]  is almost instantaneous yet the content only displays after three seconds). Any insight into why it&#x27;s seen as acceptable for this to be so slow when it is unnecessary for displaying the page?<p>[1]: https:&#x2F;&#x2F;www.ehow.co.uk&#x2F;how_5840711_test-electrical-outlet-digital-multimeter.html
======
kjullien
I sadly have to code AMP for work. The reason you see a white page is that the
boilerplate code required for any AMP page to be valid includes :

    
    
      webkit-animation:-amp-start 8s steps(1,end) 0s 1 normal both;
    

With visibility set to hidden for every element on the page. This is used to
minimize page rendering artifacts for the end user, which is one of AMP's main
goals, content should be fixed.

The problem however here is that this animation is usually triggered before
the 8s, as soon as the AMP javascript has been served from the CDN. Your
adblocker of something of the sort is blocking it which results in you having
to wait for the hard coded 8s fallback to see the page no matter if the
content is already loaded.

AMP is beautiful.

~~~
black-tea
8 seconds! I remember browsing the Web in the early 2000s on a good connection
and pages loaded fully in a matter of milliseconds. It was often
imperceptible. Oh how we've regressed.

~~~
SquareWheel
>I remember browsing the Web in the early 2000s on a good connection and pages
loaded fully in a matter of milliseconds.

That has to be rose-tinted glasses. Networks used to be excruciatingly slow. I
would walk away waiting for page loads during the dial-up era. Our
expectations have simply been adjusted over time.

~~~
jefftk
If black-tea had a good connection at a time when the rest of us were on dial-
up, and all the sites were coded expecting dial-up, they may well have seen
excellent load times!

(But yeah, I remember the internet being super slow. JPEGs coming down
scanline-by-scanline.)

------
Falkon1313
>I'm not convinced the web pages were really _that_ slow to start with, so it
feels like an unnecessary project (well, excepting the fact that web-page
bloat has massively increased as people use more and more javascript libraries
&c.).

Right. It's super easy to make lightning fast web pages. In fact, that's the
default state of a static HTML page. It actually takes a lot _more_ work to
make pages slow by adding tons of javascript, dependencies, server-side
applications, etc.

From the article linked elsewhere in this thread: >The 90th percentile weight
for the canonical version is 5,229kb. [...] The 90th percentile request count
for the canonical version is 647

There's the problem. Over 5 megabytes and 647 requests for one article? 5MB is
equivalent to about 20 full-length novels or 1,000 pages of text. And 647
requests?! That must be one extremely comprehensive article, right? No, it's 1
request for a brief article and 646 unnecessary requests wasting bandwidth to
load unnecessary stuff. Then people wonder why it's slow. But someone put in a
lot of work to fluff that page up to be that huge and slow and use that many
requests.

~~~
stordoff
> The 90th percentile weight for the canonical version is 5,229kb.

I get antsy when I made a page over 100KB (excluding images, and even then
anything over 1MB starts to feel excessive unless it's something particularly
reliant on images). 5MB feels very high.

~~~
gregable
I'm with you, but it's the reality. I just searched for "NASA" on google news,
clicked the first thing not from JPL
([https://www.fool.com/investing/2019/01/12/whos-who-in-
nasas-...](https://www.fool.com/investing/2019/01/12/whos-who-in-nasas-next-
space-race.aspx)) and it loaded _2.6MB_ cold cache.

Fetched the same on the AMP Cache: [https://www-fool-
com.cdn.ampproject.org/c/s/www.fool.com/amp...](https://www-fool-
com.cdn.ampproject.org/c/s/www.fool.com/amp/investing/2019/01/12/whos-who-in-
nasas-next-space-race.aspx) _200KB_ cold cache. Removing the likely cached
resources (amp javascript, fontawesome cdn font) and the payload is _~35KB_.

It's certainly possible to make a lightweight page, as hacker news is a great
example, but people aren't doing it. For whatever reason, AMP seems to be
effective at making the web actually follow best practices.

~~~
grenadier21
No it's not. All the AMP websites I've seen were just as bad as their non-AMP
counterparts. Reddit's AMP pages in particular, are slow and immensely
frustrating to use.

------
pornel
Yes, AMP is rather slow: [https://timkadlec.com/remembers/2018-03-19-how-fast-
is-amp-r...](https://timkadlec.com/remembers/2018-03-19-how-fast-is-amp-
really/)

and looks fast mainly because Google preloads it:
[https://ferdychristant.com/amp-the-missing-
controversy-3b424...](https://ferdychristant.com/amp-the-missing-
controversy-3b424031047)

~~~
HALtheWise
Sure, but from an end-user perspective, preloading is a perfectly valid way to
achieve good performance, so it shouldn't be left out of the conversation. The
fact that AMP can be preloaded without leaking your sensitive information to
the owners of domains that you have not yet navigated to is a primary
component of the design, and often gets ignored by armchair analysts.

~~~
acdha
The problem is that preloading is brittle. I see AMP pages lagging only a
daily basis which is much rarer for sites which follow best practices — that
100KB of render-blocking JavaScript makes AMP incredibly brittle.

~~~
lphnull
The web isn't what it was back in the 90s and early 2000s though. Back then,
you wanted a website to last because there wasn't much on the web to begin
with. Those of us who were online owned a reasonable amount of web bookmarks
that led us to nice solid pages that were designed to load nice and fast over
slower connections.

Nowadays, the landscape is way different. There are just so many "normal folk"
on the internet now that content is being consumed at an alarming rate. There
is so much stuff on the internet now, that even Youtube videos have become
disposable. Most of the stuff that people read and watch now is consumed once
and then never visited again because there's just not enough time to revisit
the insane amount of content we're exposed to.

Nowadays, why does it matter if a website is made "brittle" if the content
isn't going to matter in a few months anyways? And if you do want to archive
something for later, shouldn't the words on the page matter more than the code
behind it? After all, if a user 12 years from now wants to read your article,
all they're going to want is your words and pictures. Code is always brittle
because new technology makes everything obsolete.

~~~
acdha
Having been a web developer in that era, performance was definitely a big
concern. People were more willing to wait but there were still limits and you
had the same tendencies for developers to work on fast systems and forget the
experience on slow ones.

AMP is also a worse experience than that was because in the 90s you were
usually waiting on images to render and progressive display was usually
possible so you could start seeing that fuzzy JPEG fairly quickly and read the
rest of an article, whereas AMP by design prevents anything from displaying
until it’s loaded and executed correctly so you often have to reload the page
to see anything at all when it fails.

This matters because most of where AMP was marketed to are competitive fields
and that means it’s training users that they’ll get what they want faster and
more reliably somewhere else.

~~~
lphnull
I remember browsing the web on my old Nokia N900 phone and watching everything
get progressively slower as javascript started getting more and more memory
intensive. Eventually I stopped receiving updates, and the entire web became
unusable because lots and lots of websites break without javascript now.

------
aboutruby
The most frustrating is that AMP version of app/pages/websites are very
incomplete, e.g. the AMP version of a reddit post has only 3 comments (and the
"load more comments" button is buggy).

Would have been much better to use Lighthouse / PageSpeed as a basis for
showing optimized pages.

~~~
napsterbr
Ugh, Reddit. Their amp version is terrible for the exact reason you mention. I
know every time I see a Reddit page on Google results that I'll make two page
loads instead of one (this does make a difference on my country, where
everything is slow). Then, when accessing their pages on mobile browser,
there's a huge banner telling me to download their app. In this same banner
there is a dark UX pattern, where the call to action, giant button is to
download the app, and the tiny footer text is "continue to mobile site". And
apparently it doesn't matter I clicked through the banner before, it always
displays the same annoying banner.

Sorry for the rant. I'm just genuinely disappointed in what the web has
become.

~~~
mort96
My favorite is that they've recently started animating their "Get the app"
button in the header. That's both immediately on page load, _and_ on an
interval as you're reading, meaning it's impossible to read for more than a
minute or so without an animation distracting you.

Is it just me or has the mobile web taken a nosedive in recent years? Imgur
won't even let you upload images from mobile anymore without their app, reddit
is getting progressively more annoying, "Get the app" buttons and modals and
banners are getting progressively more prominent and dark-pattern-y, and the
default for all web pages now seems to be to include <meta name="viewport"
conent="width=device-width, initial-scale=1"> regardless of whether the
developers actually tested that their web page works on small screens, meaning
web pages which would've just fallen back to desktop emulation mode in the
past just simply don't work at all.

~~~
larkeith
The mobile web has always been utter trash, it's just gotten worse in the last
five years as more sites have rolled out mobile versions.

Disabling Javascript helps a lot, but the "request desktop site" toggle is
still frequently necessary.

Imgur is, however, deserving of special mention for _actively degrading_ their
mobile experience - direct image links redirect to the mobile site now, which
loads low-resolution images.

~~~
snazz
Imgur gets another point for loading images with (third-party?) JavaScript, so
that it sometimes hangs on the fancy animated loading screen and I never see
the picture unless I reload.

It’s unfortunate that so much work goes into UX design but at the same time
the web has been going downhill for years.

------
chuckgreenman
I think there are definite drawbacks to the AMP project. For starters, it
seems like the main goal is for Google to own more of the time people are
interacting with the web, rather than anything else.

A mark in its favor though is local news sites. They are desperate to be at
the top of the search page so when they join AMP, and you look at their AMP
pages all of a sudden the loads of dark patterns they usually employ are
absent.

~~~
acdha
Google could get the same effect by more aggressively factoring page load time
& size into page ranking. They don’t because that doesn’t give them control
over the ad ecosystem.

~~~
ip26
They did that for years already, I believe. It didn't work.

~~~
joegahona
I'm not sure if that's true. Even now they claim that page speed is only a
small factor in overall page rank, and even _that_ applies to "only the
slowest sites." [https://webmasters.googleblog.com/2018/01/using-page-
speed-i...](https://webmasters.googleblog.com/2018/01/using-page-speed-in-
mobile-search.html)

------
dang
I finally deployed code a few days ago to rewrite AMP urls on HN. It's tricky
to get right. Fortunately Brian Eno was not playing.

[https://news.ycombinator.com/item?id=18289349](https://news.ycombinator.com/item?id=18289349)

~~~
SquareWheel
Shouldn't HN be grabbing the canonical URL from submissions anyway?

------
tgsovlerkhgsel
> I have µMatrix in my browser, and by default it blocks the AMP CDN.

Maybe an unpopular opinion, but if you're getting a slow load/blank page
because you're blocking parts of the content, yeah, "it's just you". Without
the fallback mechanism that gets triggered after a few second, you'd just be
stuck at the white page.

A good site will load faster than AMP, on a decent connection it may even be
comparable to preloaded AMP. However, news sites have been pretty universally
horrible at making good web sites. If someone stood behind their web
developers and management with a whip, forcing them to build decent web sites
and disallowing them from adding bloat, AMP would likely be unnecessary.

Part of the benefits of AMP is the possibility to preload, which allows for
near-instant page opening from the search result page (unless you're blocking
content, of course), the other part of the benefits is being that whip.

My overall experience with AMP has been positive.

~~~
DyslexicAtheist
_> If someone stood behind their web developers and management with a whip,
forcing them to build decent web sites and disallowing them from adding bloat,
AMP would likely be unnecessary._

sadly it's the management, marketers, sales who are standing behind them and
holding the whip. Most places measure engineering quality by how many features
you can push through your CI/CD pipe (minus the fault-reports, breakage that
the pipeline generates).

When everything works perfectly it isn't appreciated as it indicates that
engineering isn't running at full capacity. The same problem we have with
security and all resilience topics: how do you measure & budget (or in
security monetize) something that is supposed to be invisible to the end-user?

As for AMP it's not just a tire-fire it's a clear attempt to break the open
web and create lock-in for competitors.

~~~
b1daly
What’s weird to me though is because I browse the internet on my phone a lot,
there are some sites that are terribly slow (and prone to those weird “you’ve
won an iPad” hacks).

The Huffington post is one. On an older phone or tablet, the site is unusable
on iOS. It will crash, and sometimes freeze. Long articles fill in
excruciatingly slow.

I would think in a data driven business, that there has to be significant
numbers of people who actively avoid the site, and that they would want to
minimize this.

Yet there seems to be no improvement over time.

I’ve sometimes wondered if it’s because literally every person in engineering
and management at company like Huffington Post have fast devices, and they
don’t notice how bad it is.

I find it paradoxical.

------
throwawaysea
They're likely unrelated issues, but I am not surprised that those outside
Google's happy path experience severe performance issues. Gmail has been
horrendously slow ever since they launched their terrible redesign, with
initial page load taking 10+ seconds and actions like opening up emails taking
several seconds. I can't help but think this is because I don't use Chrome.

~~~
kstenerud
No, it's slow in chrome, too.

Multi user Hangouts is also horribly broken in chrome (first user can't see or
hear anyone).

------
jonas21
So... you're blocking the AMP javascript from loading and then complaining
that AMP is slow for you.

Have you tried not blocking the script?

~~~
jimbo1qaz
Downloading a website sans scripts takes strictly less time than downloading
and executing scripts. A website that hides its content for 8 seconds because
scripts are disabled is a defective website which deliberately stops users
from looking static content (amp uses css animation).

~~~
SquareWheel
Ha. That's like removing a bunch of methods from a program and claiming it's
broken when it crashes. What did you expect to happen when blocking half of a
site's libraries?

~~~
jimbo1qaz
News sites are _hypertext_ , also known as formatted text, and _not_ web-apps
or programs which download and render websites. I expect news sites to load
properly in the absence of _the AMP CDN_ (not "half the methods"), not
deliberately hide content from users. (I feel the same way about blocking page
rendering when web-fonts don't download when their http connections hang
instead.)

EDIT: I just moved to desktop. If I block all scripts in uMatrix, OP's URL
loads immediately (albeit with a full page of garbage above page content). If
I block _external_ scripts in uMatrix, I have to wait 8 seconds before
anything appears.

~~~
SquareWheel
>News sites are hypertext, also known as formatted text, and not web-apps or
programs which download and render websites.

No, there are many thousands of websites that render their content dynamically
on the client - news or otherwise. Facebook, Twitter, and Reddit all make use
of client-side rendering (and all provide news services).

>not deliberately hide content from users

Your browser also "deliberately hides content". It waits a few hundred
milliseconds before triggering a paint, just to avoid content from jumping
around. AMP pages do the same -- unless you break the mechanism of course.

~~~
monadgonad
> Facebook, Twitter, and Reddit all make use of client-side rendering (and all
> provide news services)

Oh, come on. You and I both know that those are social media apps which act as
news aggregators, and are not themselves sources of textual news articles.
jimbo1qaz was clearly talking about the latter.

~~~
SquareWheel
What is the meaningful distinction between news websites and non-news
websites? Client-side rendering is just a technique which isn't specific to
any industry.

------
SquareWheel
Correct. You've broken the page by blocking only some of the assets. AMP loads
fine if you allow all scripts or disable Javascript completely.

~~~
tedunangst
Disabling javascript doesn't disable css animations.

~~~
SquareWheel
The CSS animation only comes into play as a fallback mechanism. The AMP script
will force a draw sooner otherwise.

~~~
gregable
Precisely. The exact code is here:

[https://www.ampproject.org/docs/fundamentals/spec/amp-
boiler...](https://www.ampproject.org/docs/fundamentals/spec/amp-boilerplate)

Here it is pretty-printed and simplified to not have the vendor-specific
stuff:

    
    
      <style amp-boilerplate>
      body{
        animation:-amp-start 8s steps(1,end) 0s 1 normal both
      }
      @keyframes -amp-start{
        from{visibility:hidden}to{visibility:visible}
      }
      </style>
      <noscript>
        <style amp-boilerplate>
          body{animation:none}
        </style>
      </noscript>
    

The first bit is for browsers with javascript, but where the network is poor
and can't load the minimal required highly cacheable javascript file within 8
seconds. It uses CSS just in case javascript really isn't working anyway such
as being disabled per domain or something. The second bit is for browsers
without javascript - the page is unblocked immediately.

------
abalone
I wish Google would just heavily weight fast-loading, responsively-designed
pages in pagerank and call it a day. There's no need for a weird problematic
proprietary format.. It just smacks of a power grab to keep visitors on
google.com.

~~~
jefftk
_> There's no need for a weird problematic proprietary format._

The reason we need AMP now is that you can't otherwise preload a page in a
privacy-preserving way.

Webpackaging will allow doing this without AMP though:
[https://github.com/WICG/webpackage/blob/master/explainer.md](https://github.com/WICG/webpackage/blob/master/explainer.md)

(Disclosure: I work at Google on making ads be AMP.)

~~~
pdimitar
Are you sure this is going to be allowed at Google? Policy and all that. They
don't exactly look to be condoning open standards in this regard. Would be
happy if I am wrong though.

~~~
jefftk
Google is one of the main groups working on it. For example, the draft
[https://tools.ietf.org/html/draft-yasskin-dispatch-web-
packa...](https://tools.ietf.org/html/draft-yasskin-dispatch-web-packaging-00)
is by a Google employee.

------
JesseWright
AMP pages take forever to load for me with Firefox and uBlock Origin. When I
open a news story from Google's recommendations, which always open to AMP
pages, it pretty much always takes about 15 to 30 to show anything on screen.
I instinctively edit the link manually nowto try to go to the non-AMP version,
which typically loads the content in under 5 seconds.

~~~
Marsymars
If you're using Firefox, you can just use the Redirect AMP to HTML extension.

~~~
Boulth
Or, an alternative approach that also works in Chrome: use DuckDuckGo.
Actually early AMP, that was extremely broken, pushed me out of Google
completely.

~~~
Marsymars
Still have a problem with shared AMP links in that case. I like the Safari
approach where AMP URLs get converted back to their canonical URLs when
shared.

------
lsadam0
AMP has always and will always be a garbage idea. Stop implementing AMP.

~~~
super-serial
Over the last couple years Google has acted like a dictator on the web. No
more autoplay... except if you're Youtube, or these 100 approved sites. If you
use Chrome... oh now you're auto signed in. You opt out of location tracking -
we'll still track you, we don't care.

Don't give Google more power.

Implementing your website in AMP is basically handing the keys of the web over
to Google. They're going to make it more and more ridiculous to stay AMP-
compliant and you're going to be shut out if you don't play their game.
Eventually they'll enable/disable features of AMP-based sites arbitrarily...
similar to how they determine autoplay policy on their "approved sites list."
Do you think Google should be the all-powerful being that determines what
features you can have on your website? That's the future you're opting into if
you implement AMP.

------
newnewpdro
I don't know about slower, but it's certainly made the web more annoying to
use with piecemeal javascript support - which obviously benefits advertisers
like google, if it makes more of us cease interfering with tools like noscript
and µMatrix.

------
anuraj
AMP is a project that benefits only a giant corporation. Please don't support
it.

~~~
parski
That giant corporation runs the biggest reason for SEO. AMP affects SEO.

------
zzo38computer
The content of [1] displays immediately for me (and I do not have document
scripts enabled). There are <amp-...> elements; I don't know what they are,
and they do not do anything.

For webpages that do hide everything, I define my own CSS overrides which
prevents the <html> and <body> element from ever being hidden, opacity less
than 1, or similar. Further rules can be added to prevent <body> from being
animated or having transitions.

What is wrong with just HTML, without CSS and JavaScript, or in some cases
just plain text and not even HTML?

------
k_bx
AMP is about guarantees that you can't have with regular JS. You guarantee to
not do any sync JS and document.write() stuff when you use AMP. Personally, I
plan to use AMP to make a better indexation of my app which I do as a SPA, and
which seems to be poorly indexed by Google. I'll make sitemap pointing to AMP
pages with content, which has "see full view" link on it.

------
markovbot
Yeah, I actively avoid visiting AMP and sharing AMP sites for this reason
whenever possible. They just take _so fucking long_ to load.

------
kevingadd
In my experience AMP is considerably slower unless I happen to be browsing in
Chrome. It's probably an accidental result of how they implemented AMP, that
framework is tuned specifically for Chrome in the first place (odd CSS hacks
to nudge Chrome's compositor into behaving a certain way, etc.)

~~~
trynewideas
"accidental"?

~~~
mtgx
That's the joke.

~~~
gonational
Hey, where is my bitcoin!?

------
slig
This is what's keeping the screen white before showing its content
[https://news.ycombinator.com/item?id=17746886](https://news.ycombinator.com/item?id=17746886)

------
bowlich
Have I been under a rock?

I keep reading about AMP on HN, but I have yet (professionally or personally)
actually come across AMP in the wild unless I intentionally went looking for
it -- or am I consuming AMP and not even realizing it?

~~~
dingaling
I don't believe that Google serves AMP links to Firefox, certainly not to the
Mobile version and also not when you have JS disabled from google.com

Plus you might not be browsing the subset of AMPish websites. The only ALP
links I see are when people share mainstream news links, and then it's
straightforward enough to manually extract the URL.

------
scoot_718
It's outright blocking pages for me, until the pages retry without AMP

------
anigbrowl
It's junk and I hate it. Google isn't Yahoo but it's become replaceable in the
same way that firm did. Google News has become a case study in what not to do.

------
plasma
I wish I could opt-out of AMP, I dislike the reddit AMP experience as its
poorly maintained compared the the web based mobile experience.

------
8lall0
AMP is IMHO the wrong solution for a stupid problem of bloating when simply
making decent html pages would solve it very well.

------
DocG
amp is slower than full pages for me. No custom configuration.

------
cronix
> which is to speed up the delivery of web pages

...to make up for the slowness of all of the ads Google and others serve. It's
amazing how fast pages load with no ad networks involved.

------
globe1337
Yes. I absolutely hate when I want to load an article on my iPhone and it
loads AMP. I remove that part of the URL to read the original source most of
the time.

------
cannedslime
I refuse to work with AMP simply because it seems like the only reason for its
existence is to retain more users permanently in the google "ecosphere".
Making performant, fast loading websites has always been a priority for me and
my employers, AMP isn't being integrated everywhere because companies want to
make their pages load faster, they simply don't want to be penalized by google
for not doing AMP.

So TL;DR AMP is rarely implemented for the right reasons, and the
implementations reflect this.

------
kkarakk
why not go all the way and just block websites that use amp? it's what i do.
trend riding idiots are not worth it

------
nty
>I'm not convinced the web pages were really _that_ slow to start with, so it
feels like an unnecessary project

That's because you use umatrix and possibly ublock.

AMP is about making the web faster for the common Joe.

~~~
HALtheWise
It is also likely that you don't spend a significant amount of time browsing
on a 2G cellular connection. When ping times are very long, the only way to
get web performance anywhere close to native apps is pre-caching, which is
what AMP is designed to enable (link-rel="prefetch" is a privacy nightmare).
AMP is about the common Joe, but also about the 90th percentile slow
performance (like in the developing world or on cellular networks).

~~~
manicdee
Pre-caching in those cases will cause other things to slow down and needlessly
consume bandwidth which the user is paying for.

The real reason for AMP is to allow Google to watch everything your visitors
do so they can sell your visitors eyeballs to your competitors.

------
ziont
AMP and PWA are pile of shits designed to lock users to Google.

------
html5web
AMP is slow like s..t. Mess as a f..k.

------
jokoon
HTML seems like it has turned into cancer now...

I wonder what would be required for a format to not have this problem, and how
it can be prevented.

------
1103
I have some 12 dev inspect tool for that style scripting this notebook was
given to me by my gf and its a starter kit.

------
donohoe
It’s not really AMP that delivers speed improvements that made everyone go WOW
back when it started. It was the Google would prefetch AMP pages in search
results.

In many cases AMP is neglibly faster than mobile web page and sometimes
slower.

