3,668 karma · joined October 11, 2010
Not having to make an extra HTTP request is the only way to get good performance in this case.
Our work was mostly related to ensuring that native scrolling of the main page works as expected when the finger touches the ad iframe. This is non-trivial and most implementations do it by forwarding touch events from the ad up to the page, which then feels laggy and leads to touches that are interpreted as clicks.
This is definitely not a known issue.
Edit: We can repro and filed https://github.com/ampproject/amphtml/issues/3481 It might be a bug in Google News (Because Google Search is fine), but we'll track it in AMP.
One other benefit is that because the ad is on a parallax pane, it can resize itself without disrupting the page flow (which AMP does not allow).
The goal is absolutely to make this not annoying at all.
If and when browsers change (including those used by a lot of people that only update once a year) AMP can just change its guidelines. These are things people have to do today anyway to get fast sites. AMP just packages up in an easy to consume package.
See https://medium.com/@cramforce/2016-will-be-the-year-of-concu... for the long game as to how to build such things in AMP without iframes.
In the world of the web platform it doesn't get much more standard than that.
But I like to present both a solution "this is how you make it fast" as well as the penalty.
If you only take AMP as a guide or tutorial that puts current best practices in a neat package that is fine with me. We are totally not claiming to have invented a new wheel.
Browsers could do what AMP does (e.g. super lazy prerendering) but I'm an impatient person and I don't like waiting for what a browser with a yearly release cycle might do.
<amp-pixel> supports all kinds of tracking. You just give it a URL. Ironically it does not work with Google Analytics but we'll fix that eventually. Most others should work.
<amp-ad> currently supports these ad networks https://github.com/ampproject/amphtml/blob/master/builtins/a... We are super happy to add more. We want to support all networks.
You suggest elsewhere there is revenue sharing involved, but that is not true. amp-ad just loads an ad. This is controlled by the publishers and and their agreement with the advertiser. Google only plays a role if it happens to be the ad network (or the advertiser) involved.
We use amp-img instead of the img tag to be able to control when resources load (read not load them unless actually needed). Doing this with a different hack like <img data-src="foo"> is possible but a less explicit hack.
To your first point: It might have been just the right point in time, but maybe it isn't. I argue that if adoption is good users will win. It could totally fail, but then it was still worth trying.
In case you haven't tried, check out this video https://www.youtube.com/watch?v=i2_lAEzmOPo&feature=youtu.be I so much want my experience to be like that (or try g.co/ampdemo on your phone yourself).
With general web content prerendering is pretty dangerous and you certainly cannot do it with say more than 1 doc at a time because it may use arbitrary bandwidth and CPU.
That allows for instant feeling loading of pages (because they are already loaded when the user clicks) which in turn makes users happy :) While all web pages can be fast, AMP allows proving that they are which makes such a feature possible.
A referrer like Twitter or Pinterest or Google could e.g. indicate: Clicks on these links will be super fast (because they are AMP docs). If users click them more (because they like fast) there is a strong incentive for everyone to be fast – and then we all win.
I don't think XKCD927 applies, because we only combine existing standards and restrict ourselves voluntarily to a subset of those. Its still just HTML, CSS, JS. Browsers do not need to change. 't
Same as before, just with happier users including myself. Happy users are good for business in the long term.
The problem we are solving is that many sites don't.