
AMP: the missing controversy - josephscott
https://ferdychristant.com/amp-the-missing-controversy-3b424031047
======
ocdtrekkie
We were discussing with the AMP project tech lead over on GitHub trying to
suss out details about governance and the like, and it's even scarier than we
thought when it came to AMP4Email: Gmail is implementing AMP in email "the way
they want to", and AMP Project is just deciding whether or not they want to
support it/publish a 'standard'.

I strongly recommend this for reading:
[https://github.com/ampproject/amphtml/issues/13597](https://github.com/ampproject/amphtml/issues/13597)
(locked, sadly) and the original AMP4Email issue has a fair bit as well:
[https://github.com/ampproject/amphtml/issues/13457](https://github.com/ampproject/amphtml/issues/13457)
(only for discussion of email).

Unfortunately, there are lots of people talking about how bad AMP is, and why,
but nobody yet has suggested how we do anything to stop it.

~~~
mulmen
I think the best thing to do is just be the kind of online citizen you want to
see. It may be small but it is something you can do yourself.

I will be looking for a way to move my online identity away from Google to
something I control more directly. I am also going to try replacing my social
media activity with email. The web is already decentralized, we just need to
use it.

~~~
robin_reala
I closed my G Suite account today because of Google’s announcement of AMP for
Email. Luckily I didn’t have a huge Google presence in the first place beyond
email which is easily IMAPed over to another server. Takeout allowed me to
extract the rest: my docs as ODF, YouTube subs as RSS and contacts as ICS.

If anyone’s interested I wrote up my investigation into potential replacement
mail services: [http://www.robinwhittleton.com/2018/02/18/dropping-g-
suite/](http://www.robinwhittleton.com/2018/02/18/dropping-g-suite/) . In the
end I went with Runbox, will see how they perform but I’m happy so far.

~~~
tombrossman
> In the end I went with Runbox, will see how they perform but I’m happy so
> far.

I tried Runbox back in 2013 after a fair amount of research and they looked
great. After signing up, they sent a confirmation email with all my account
info with user-name and password in clear text. I cancelled immediately after
seeing this, but I wonder if they are still doing it?

I ended up switching to Fastmail, which I still use and highly recommend.

~~~
robin_reala
I didn’t get that this time at least. It’s worth pointing out that while
that’s not great, if they send the password before encrypting it for saving in
the database and only send it internally to their own mail server then there’s
little security risk. But it’s not best practise as it trains users to expect
it from other sites.

------
jsnell
> If Google would have a genuine interest in speeding up the whole web on
> mobile, it could simply preload resources of non-AMP pages as well.

... but they've been doing exactly that for ages. Originally with link
rel=prefetch, and later with ever more elaborate schemes which I think
culminated with this:
[https://plus.google.com/+IlyaGrigorik/posts/ahSpGgohSDo](https://plus.google.com/+IlyaGrigorik/posts/ahSpGgohSDo)

But prefetching based on giving hints to the browser has a bunch of problems.
The most obvious one is the one hinted at here: you can have either something
ineffective, or something that's effective but complex and not supported
across all browsers.

> Not doing this is a strong hint that another agenda is at work, to say the
> least.

The sinister agenda of wanting things to actually work well.

~~~
ec109685
Yes, exactly. They (Google, others) cannot instantly load arbitrary websites
because those sites would have access to the google.com domain in an unsafe
manner. That is why AMP is “different” than other HTML. It is a safe way to
allow Google, Twitter, Bing, Yahoo Japan and others to cache pages and
preload/prerender them in the background before the user clicks.

~~~
Too
If Google had genuine interest in just speeding up page loads after search
they would let the client prefetch the page (amp or not) straight from the
original domain instead of their own cdn.

~~~
ec109685
That would mean the third party website would get traffic without the user
having clicked on a link, creating a privacy issue.

------
walterbell
There's an IETF proposal for certificate-signed web content (Web Packages)
which can be rendered offline. The browser address bar will no longer show the
URL of the web server (e.g. Google AMP), it will show the authenticated origin
of the Web Package.

2017 IETF proposal by Google: [https://tools.ietf.org/html/draft-yasskin-
webpackage-use-cas...](https://tools.ietf.org/html/draft-yasskin-webpackage-
use-cases-00)

2018 Chrome demo at AMP event:
[https://youtube.com/watch?&t=9m03s&v=pr5cIRruBsc](https://youtube.com/watch?&t=9m03s&v=pr5cIRruBsc)

There may be overlap in goals with W3C Web Publications, which is working to
converge EPUB and Web:
[https://w3c.github.io/wpub/](https://w3c.github.io/wpub/)

------
gcb0
You can add a controversy to the new controversy presented in the article,
because even that conditional speed improvement only happens if you ignore the
rest of the environment. Meaning, it will be significant if the user is
arriving from google search and only focused on browsing.

If the user has GPS consuming 3G data, or some other app they care about, and
only did a quick google search to confirm something, now the GPS or other app
data will be severely limited while the browser download all that crap about
some 20 different sites the user will never ever visit.

I personally disable preloading on everything, because waiting 3s for a page
to show up is a very fine tradeoff to control what my device is downloading
and when.

~~~
benjiweber
How does one deactivate the amp preloading?

~~~
ocdtrekkie
Use a different search engine.

~~~
robin_reala
Or use encrypted.google.com (for the time being at least). Although I’d
definitely recommend using a different search engine as a general rule of
thumb.

------
hdra
Only thing I can't figure out is why is anyone buying into it in the first
place?

Has the publishers not learned anything from Facebook taking their content and
readers hostage? Sure, it gives you traffic boost in the beginning, but sooner
or later it will force you to play by their rules and generate content _for
them_.

~~~
wmf
If I had a choice between going out of business sooner (not using AMP) or
going out of business later (getting screwed by AMP one day), I'd choose
later.

------
2aa07e2
I see AMP as a marketing opportunity for a cheap SEO. If more visitors come to
my client's or boss's website and get familiar with it, it's a win situation
for me as the programmer/maintainer of the said website.

More users don't equal increased ad revenue with AMP. If ads are not a thing
you are selling, you are probably losing free attention if you aren't already
exploiting AMP.

------
akras14
Cache is part of AMP spec. What author seems to refer to is only a 2/3 of AMP
spec - Subset of HTML and JS library.

Since the beginning AMP team was clear that AMP is not very useful without
cache.

I do agree with all of the concerns raised, but wanted to point this out as to
not get sidestepped from the main discussion.

[https://www.alexkras.com/i-had-lunch-with-google-amp-
team/](https://www.alexkras.com/i-had-lunch-with-google-amp-team/)
[https://www.ampproject.org/learn/overview/](https://www.ampproject.org/learn/overview/)

~~~
Sylos
> Since the beginning AMP team was clear that AMP is not very useful without
> cache.

I don't see that at all. Even just calling it a "specification" is misleading
in the worst ways. You don't need a spec for caching. Nor do you need a spec
to tell you that you shouldn't include a ton of CSS and JS. Nor was it ever
the plan of Google to actually see others implement this spec.

~~~
cromwellian
Actually, the IETF would often issue BCPs to go along with RFCs, because
people do need to be told the right way to deploy things in the presence of
foot-guns.

------
sseth
AMP is one of a long series of Google's efforts to ensure the web remains
competitive with walled gardens and native platforms. Chrome (with the V8
engine), NaCl, SPDY, QUIC, PWA, Dart, Certificate Transparency ... the list
goes on and on. Some have succeeded (SPDY became HTTP/2) and some have failed
(Dart, NaCl), but it has been consistent at least.

Standards cannot become a strait-jacket. In many cases (such as HTTP/2) the
standards have come much after the concept was proven. Though Dart and NaCl
failed, they triggered improvements in Javascript and also led to WebAssembly.

AMP was created as a response to Facebook's Instant Articles. If anyone
supports the open web, then it is hard to see how things become better if the
web stays stuck as more content moves into walled gardens, or the web remains
unusable on mobile phones in large parts of the world.

Maybe there is no controversy, because there is no need for one.

~~~
dmitriid
AMP is not open web though. It's Google's own walled garden under the guise of
an open web.

~~~
sseth
As a javascript library it is pretty much as open as React or any other
javascript platform.

It is the caching where the discussion lies - effectively Google is providing
a CDN for AMP pages and I agree this needs some improvements. But these should
in the realm of technical discussions rather than looking for conspiracies.

~~~
dmitriid
AMP is designed by Google, and implemented almost exclusively by Google. It is
also used in the most popular search engine in a way that makes AMP feel like
it's fast.

Meanwhile:

\- it's not fast without Google's overpowered cache/CDN (that no one has a
chance to replicate)

\- it's not even valid HTML

\- it's entire design and development is governed exclusively by Google, with
no external input, and all external input is discarded and discouraged. See
top comment:
[https://news.ycombinator.com/item?id=16455593](https://news.ycombinator.com/item?id=16455593)

The fact that it lives on GitHub doesn't make it open.

~~~
SquareWheel
>it's not fast without Google's overpowered cache/CDN (that no one has a
chance to replicate)

[https://amp.cloudflare.com/](https://amp.cloudflare.com/)

[https://blogs.bing.com/search/September-2016/bing-app-
joins-...](https://blogs.bing.com/search/September-2016/bing-app-joins-the-
amp-open-source-effort)

>it's not even valid HTML

Custom elements are in the WebComponents spec, which is "valid HTML".

[https://www.webcomponents.org/introduction#custom-
elements](https://www.webcomponents.org/introduction#custom-elements)

~~~
dmitriid
> Links to other implementations

1\. Google dominates search. So other caches are basically irrelevant

2\. To create a competing cache you need to make sure Google's search uses
that cache _and_ that your cache is big, fast, and powerful enough to pre-
render AMP pages on Google scale

Which comes back to the original problem: AMP is not fast until someone caches
and pre-renders it.

> Custom elements are in the WebComponents spec, which is "valid HTML".

Will all of you "opponents" please read the article you comment on?

Since you can't, here is the six paragraph:

> AMP makes up its own standards that break with what is considered valid
> HTML. Case in point, have a look at how the AMP project’s homepage, which
> itself is an AMP page, produces over a 100 validation errors

You can check it yourself.

~~~
SquareWheel
>Google dominates search. So other caches are basically irrelevant

Then why did you ask to see other caches? You're moving the goalposts.

>produces over a 100 validation errors

By a validator that doesn't understand HTML5. Try your browser - it's a far
more advanced version of the validator. You'll find it understands amp pages
just fine.

~~~
dmitriid
> Then why did you ask to see other caches? You're moving the goalposts.

No goalposts have been moved.

Once again. Slowly:

\---- quote -----

AMP is designed by Google, and implemented almost exclusively by Google. It is
also used in the most popular search engine in a way that makes AMP feel like
it's fast.

Meanwhile: \- it's not fast without Google's overpowered cache/CDN (that no
one has a chance to replicate)

\- it's not even valid HTML

\---- end quote ----

You _cannot_ replicate Google's cache for the following reasons:

\- Google's search is dominant.

\- Google's search uses and will use Google's own AMP cache.

\- Google's own AMP cache relies on Google's infrastructure.

Even if you create an AMP-compliant cache:

\- Google will not use it.

\- It's highly unlikely that you will be able to match its power and speed.

How is AMP open and fast again?

> By a validator that doesn't understand HTML5. Try your browser

Nope. The browser is able to render AMP pages just because the browsers have
historically tried to make the best out of shitty HTML.

Let's start from the top.

Do you know that this is invalid HTML 5?

    
    
        <html :lightning emoji:>
    

HTML5 living standard sections 4.1.1 and 3.2.6.

Do you know that this is invalid HTML 5?

    
    
        <script async custom-element="amp-carousel" src="">
    

HTML5 living standard sections 4.12.1 and 3.2.6.

Do you know that this is invalid HTML5?

    
    
        <head>
           <style amp-boilerplate></style>
        </head>
    

HTML5 living standard sections 4.2.6 and 3.2.6.

Shall I continue?

You see, in order to know that it's enough to just stop drinking in Google's
propaganda and actually look at what the web has to offer, and how all of this
stuff works.

------
kzrdude
Side note, install this extension to make medium pages readable by removing
the useless top and bottom bars:
[https://github.com/thebaer/MMRA](https://github.com/thebaer/MMRA)

~~~
ino
Better yet, use reader mode in firefox/safari. Or stop visiting medium until
they stop these user hostile practices.

~~~
kzrdude
Too many are using Medium. This recent HN posted link for example:
[https://blog.jupyter.org/jupyterlab-is-ready-for-
users-5a6f0...](https://blog.jupyter.org/jupyterlab-is-ready-for-
users-5a6f039b8906)

My protest is to talk about this issue in this HN thread, and to just install
the extension so that the sites start to "just work".

------
eadmund
As an aside, I truly dislike lazy loading. If it's really that important to
perceived page speed, isn't it something that the _browsers_ should be
implementing, rather than everyone and his brother breaking HTML and require
full JavaScript execution in order to display images?

~~~
dictum
Blink may get built-in support for lazy loaded images:
[https://groups.google.com/a/chromium.org/d/msg/blink-
dev/czm...](https://groups.google.com/a/chromium.org/d/msg/blink-
dev/czmmZUd4Vww/1-H6j-zdAwAJ)

I'm not excited about it. I can't remember a single time a page with lazy-
loaded images felt _snappier_. It seems very dependent on latency to the host
serving the images. Most pages also don't account for content shifting when
images haven't loaded yet.

------
adamrezich
Where can I find a good explanation of what "AMP Email" and the controversy
surrounding it are? I was hoping this article would detail it because I've
seen buzz about it recently

~~~
dmitriid
The top comment has the links:
[https://news.ycombinator.com/item?id=16455593](https://news.ycombinator.com/item?id=16455593)

------
lucio
>The term “open source” is meaningless if the thing that is open source is
harmful.

A note on "harmful" as an adjective: It depends on the speaker.

any open source project aiming to bypass the Great Firewall of China is
"harmful", according to the Communist Party.

------
hvass
"Something only Google is capable of, because it is the only entity in the
world controlling the most important information portal: search."

How is Google the only search engine? A different one is literally a click
away. This just doesn't pass as an argument.

~~~
kuschku
I have a website. How can I get all my visitors from a search engine other
than google with "literally a click"?

I can’t. 95% of my visitors will come from Google. As result, I’ll have to
accept whatever demands Google makes.

------
julienfr112
Would it be possible to use amp just for your landing pages from google, and
take advantage of instant loading, and then, from within the amp served page,
surreptitiously move to you own preload accelerated site ?

------
ddmd1
Google can't "simply preload resources of non-AMP pages". Using a CDN means
they can get more consistent load times and avoid the inevitable privacy
concerns that come with loading 3rd party content the user may never actually
click on.

~~~
kllrnohj
Chrome has been prefetching & prerendering links since 2013. IE11 has also
been prefetching & prerendering as well since 2013 (
[https://blogs.msdn.microsoft.com/ie/2013/12/04/getting-to-
th...](https://blogs.msdn.microsoft.com/ie/2013/12/04/getting-to-the-content-
you-want-faster-in-ie11/) )

So it's not only possible to do, they've literally been doing it for 5 years
now.

Firefox doesn't appear to do prerendering, but it will happily prefetch as
well and has since Firefox 23.

AMP's cap on file sizes and other limitations helps these relatively ancient
prefetching & prerendering work _better_ , but you don't need AMP to get
preloading. Not at all.

~~~
Sylos
> Firefox doesn't appear to do prerendering, but it will happily prefetch as
> well and has since Firefox 23.

Don't know, if it's necessarily "happily" in the case of Firefox. It's hardly
optional, if you want to compete at all in terms of speed with browsers that
are doing the full prerendering. And they are aware of the implications, which
is why they're not doing it fully.

