We're Bullish on AMP
trackchanges.postlight.com
trackchanges.postlight.com
For me, as long as I disable javascript, the modern mobile web is plenty fast enough. That is, the bits of the web I want to use on the move: mostly text, occasional pictures. It takes real effort to break this with javascript disabled. Most JS on e.g. news sites, blogs, aggregators etc. is tracking and ad related, dynamically adding links to viral content, all that stuff you don't need and dramatically slows down sites through repeated reflow.
Fortunately for anyone with Apple phones, content blockers should still work on AMP pages.
If anything I would assume the opposite - since practically everyone else can use Firefox (mobile) and all its plugins to avoid this issue.
It might be better for their bottom line (I haven't thought about it much, but it makes sense that it would be, so I'll just go with that), but that doesn't mean it isn't also better for the web and users. Same thing with Facebook Instant Articles. I now find myself, as a user, vastly preferring these sites on mobile, because they are far less likely to hang or hijack my browser.
What's risky about it for Google? They can back down at any time they want (this includes injecting ads directly in AMP pages, precluding competitors from doing the same because they control Chrome).
They have shown again and again that they don't give a shit about lost investments for web developers.
I'm of the opinion that infestation of upper ranks of companies by these kinds of people is what ultimately leads to their demise (or rather, regression to the mean of mediocrity). These people use up goodwill and generate resentment. When they're given too much leeway, they can push hard enough to attract government anti-trust attention and tie the company up in knots for years. They suck the soul out of companies by promoting a nihilistic vision of capitalism. They encourage attributing cynical motivations about any future action of the company (think Microsoft); it can take decades to shake that off.
So, the risks are both reputational and potentially regulatory, and they're cumulative. Yes, Google has cost goodwill in the past; but they don't have zero goodwill yet, and nor do they have infinite goodwill.
In extremis, they could do what Opera Mobile used to do, and supply a pre-rendered image to the end user. I don't think they'll do that (it wouldn't be very trackable, for one), but it's possible.
Given the massive security and privacy flaws of JavaScript, anything that encourages people to leave it enabled is objectively nefarious.
That JavaScript enables privacy and security exploits is neither a position nor an opinion but the truth.
> please acknowledge there are a lot of tech-savvy people who do want a javascript-enabled web.
Sure there are; I have no problem acknowledging it. They, apparently, have a problem acknowledging that they do not value privacy and security as much as they value novelty.
People find zero days in image renderers, how do you justify not disabling image rendering? Your user agent and your browsers supported TLS configs are leaking who you are, how do you justify sending that info to every random web server?
Even just being on hackernews right now proves you are accepting a negative security impact for some novelty value.
Rather more rarely than they do in JavaScript. But that's why lynx, links, elinks, w3m, emacs-w3m, eww & friends are so important!
But yes, if one wishes to render an image, then one must render an imagine. But why would one wish to execute JavaScript, when one only wishes to read text? I've no objection to executing JavaScript when it's required for an app (although I do object to apps which could be more cleanly delivered as pages).
> Your user agent and your browsers supported TLS configs are leaking who you are, how do you justify sending that info to every random web server?
Because it's a requirement to use TLS.
JavaScript is not a requirement to read articles or listicles (which are the vast majority of the pages targeted by AMP); people who demand JavaScript in order to display text and images are breaking the Web, and endangering their users' security and privacy.
I really am curious what the folks who are so eagerly downvoting me are thinking. Are they thinking (i.e., do they have persuasive counterarguments), or are they just feeling (i.e., are they reacting emotionally, without a rational basis)? I genuinely wonder what possible objection they can have to 'that JavaScript enables privacy and security exploits is neither a position nor an opinion but the truth'; AFAICT it's as objectionable as pointing out that the sky is often blue or that fire is hot.
Belittling the contribution of scripting to the web as mere 'novelty' is rather disingenuous. I could list other benefits but I suspect you're already aware of them and discount them because they don't apply to you.
I don't believe that scripting does contribute to the web (i.e., the interlinked web of hypertext documents we all use every day), or at least not enough to be worth the cost. The web is about documents, and documents are eminently readable without scripting (ever since writing was invented and displaced oral tradition …).
The cost does apply to me. Every page which requires me to enable JavaScript (and thus forfeit the security of the computers I do my banking and work on, and forfeit more privacy than that necessary to request a document) costs me. Every page which displays nought but a white page costs me.
I have — as I've noted — no objection to web apps qua web apps. Some of them are quite cool, and some are even useful. It's definitely nice to be able to use Linux and run programs written by people who have never used it. I do wish that browsers implemented a better language than JavaScript (which is an embarrassment to our profession) to that end, but what really gets me is the needless proliferation of apps which are really just document readers. I already have a document reader: it's my web browser.
I remember what the web was like when it was just a bunch of folks writing about things they liked and linking to one another. That was a pretty awesome web. I hate that it has been drowned out by folks who think that in order to read their documents I should give them execute privileges on my workstation.
AMP can impose constraints because it's a corporate effort to re-frame content in a way that provides centralized ad serving, tracking, and the like. It gives the content publishers the same tools (ads, tracking) they have to provide themselves with on the open web, while simultaneously benefiting those like Google who will put their own viewport and context around that content. It's not that much different from when an individual wants to publish on Medium or Tumblr, so the platform provides the author with a box to put text in, a dashboard, view tracking, and stuff the author wants, while they get to host interesting content with which to attract an audience for ads. It's a win-win, symbiotic relationship, while on the self-hosted web, every publisher is on their own.
This isn't about HTML vs AMP at all. It's about business models, which are given in AMP, but left as an exercise for the publisher on the open web.
I think I'll pass, thanks
How much of that is correct? I don't know. I'm just explaining what (I think) the posts above were trying to say.
(Edit: spelling)
The best way to think of AMP is it's a list of things you're not allowed to do anymore when you make a website. It's just HTML with rules.
It seems like a roundabout way to do things.
Google noticed that the mobile web is still pretty slow, and they also noticed Facebook's Instant Articles initiative. Under Instant Articles, news sites provide a special RSS feed with limited HTML features to Facebook, who caches the results and shares ad revenue with the news site. As a result, viewing participating news sites in Facebook is faster than viewing them in a web browser, e.g. in Google search results.
Google saw this as a strategic threat, and said: "How can we do what Facebook's doing, making news sites provide fast lightweight HTML to Google and our users, but in a more Open way? At least somewhat more open?" AMP was the result.
When you use AMP on your site, a third party (Google--in principle anybody, but in fact just Google for the moment) can verify easily that a site will load quickly, by design. They don't have to launch a browser and run a speed index test; they know, for sure, that the page is going to be pretty fast.
A third party also knows that all AMP pages allow third parties to cache them. (Again, only Google is doing this today, but it could be anybody, e.g. Facebook could present AMP pages from a fast Facebook cache, too.)
Google takes no ad revenue from AMP pages, and supposedly doesn't rank AMP pages higher (except by virtue of the fact that AMP pages tend to be faster and faster pages rank better). AMP pages do also get the lightning-bolt badge in search results, which might encourage users to click on them. And AMP has a github and accepts actual PRs, so AMP is open in that sense, too, except that it's officially governed by Google, so it's not really very open in governance.
Folks here seem to be pretty skeptical of AMP; I think it's a mixed bag. One positive outcome of AMP would be if its HTML components eventually become official elements in a future HTML document, built into browsers. Then AMP would be nothing more than a set of guidelines and a validator; that sounds pretty good to me.
I hate heavy sites probably more than the next guy, but pushing your own standard is the wrong way to go about it, IMO.
They tried that; they're still doing it. But it didn't work, and at this point I think it's naive to think that the mobile web will get much faster purely because Google ranks fast sites higher.
Maybe their failure is not prioritizing it enough in the algorithm. If I look for weather, there are tons of shitty, heavy-js sites. Yet http://myfreeweather.com/ (which still has some JS, but not a ton) is nowhere listed.
The first few pages of sites that google offers me are all terrible choices.
It seems like a sugar-coating over the "use modern HTML and make less bloated pages" pill.
I'm pretty sure that value mostly applies to the Forbes and Techcrunches that have really started suffered from page weight and multiple relayouts after load, not for the individual blogs of hackernews readers.
The devs working on news sites understand the current state of bloated pages is bad and are eager to create fast, sexy pages. Unfortunately there are entities such as BizDev and AdOps that want to add more stuff to the pages to make more money, and it's easier to quantify ROI for a new ad placement compared to shaving 100ms off page load times. So we end up with dozens of scripts and script loaders and all sorts of other things. Editors and product managers want responsive pages with ad placements and enhanced functionality.
Along comes AMP, and all of the above are freaking out at the loss of control while I'm gleefully looking at super fast loading times and pages that still have most of the important functionality and ads.
Yes, the script size is large, but it will be cached amongst all AMP pages and it's refreshing to not have to think about implementing responsive pages, lazy loading, etc. because AMP handles all that.
But it's come out controlled by the major search engine, that will promote and highlight pages in it's search rankings if you adhere to their new "open" standard.
It may still be good, but leaves a bad taste in my mouth.
As an example, w3c got together to say solid HTTPS websites get a green color in the URL bar. Banks, etc get a higher, more highlighted green color for a special class of certificates. These are open standards that everyone agreed on.
I hope this makes it more clear why AMP is not a open standard.
Having a new gatekeeper in addition to the standards bodies that we have to get all new features by holds back the Web.
It would be great if we didn't have to worry about performance, I hope WebRender gets us there some day, please do continue your work and hopefully the fact that some subset of news sites aren't using features doesn't hold you back.
In the meantime I'm going to avoid using with(), use requestAnimationFrame to prevent dom thrashing, put my scripts at the end of the body, and do all of the things maybe some day I won't have to do.
Edit: Looks like you updated your comment. Initially it asked who could competing adopters be.
I think this is an important issue because the HTML spec is crazy long and it would be awesome for new technologies (say a new desktop GUI library or whatever) to be able to say "we allow and will interpret this subset some HTML" without committing to the entire byzantine spec.
We need a name for this and since it's HTML5 with stuff removed we can call it HTML5--, so HTML4 ;)
I'm thinking more of cases like letting people write some HTML in a local notetaking program or something like that -- what's a nice subset of tags you should give them so they can make text look good, but doesn't commit you to supporting the lovecraftian being that's the entire HTML spec?
Also your last line made me laugh. Nice delivery=)
It seems to me like they're trying this a lot lately, Structured Data is the other example that comes to mind. Creating "web standards", that are supposed to help a website, but are really most helpful to Google and their crawler. Then giving an SEO boost to anyone who uses those standards. And then once enough people are using those standards, just display the relevant parts of the results directly on google.com
I get that it being hosted on Google allows the servers to respond more quickly, but do you think news websites that added these features with the promise of better performance and an SEO boost were aware their articles would be one thumb-swipe away from a competitor's articles?
"Static" meaning "Not changing over time" rather than "Dynamic" meaning "changing over time". That usage is not common outside of math, but I have on occasion seen it used this way when discussing web programming.
There are still a few issues with their docs at this point, but its basically just inline css/js.
[1] http://ryanmaynard.co/ [2] https://github.com/ageitgey/amplify [3] https://news.ycombinator.com/item?id=11287540
In contrast, HN loads in half a second on that connection.
Obvious result: AMP is bloated.
That being said, I just received 239 ms with Pingdom.[1]
The majority of time spent will be on getting the 170kiB AMP lib.
Does this means there is no way to opt out of connecting to a Google-controlled server in order for any AMP-based page to display properly?
> What gets cached?
> If an AMP page is valid and is requested (so the Google AMP Cache is aware of it), it will get cached. Any resources in AMP pages, including AMP images, also get cached.
> Can I stop content from being cached?
> No. By using the AMP format, content producers are making the content in AMP files available to be cached by third parties. For example, Google products use the Google AMP Cache to serve AMP content as fast as possible.
> Can the cache be crawled?
> No. The Google AMP Cache is roboted to crawlers. We recommend that search engines process cache links according to the guidelines for crawling Google AMP Cache URLs. For more information, see robots.txt."
WebSockets for a long time (is it still true?) could not run over a SPDY/HTTP 2 connection. SPDY itself had multiple fundamentally incompatible versions in the wild before things settled down (they changed how negotiation was implemented), WebSockets and SPDY duplicate many of the same concepts (yes, really), Quic seems utterly ignorant of the early history of the Internet and the importance of flow control, and now AMP.
AMP it seems to me, is a standard designed around the current era shortcomings in the implementation of Google Chrome (and similar browsers). It's hard to get more myopic than that.
No. It's the responsibility of search engines and apps to choose whether to send visitors to AMP pages. If Google crawls your site and finds AMP pages, it'll send mobile users to them from search.
Ouch, that hit a nerve. Too early in the day, man.
I've seen more AMP pages on the web than I have the Facebook version of it for what it's worth. The article went in to detail about how the pages were designated as an AMP. it seems somewhat elegant. It's opt-in but there's definitely an advantage to adding the mark-up to your page.
So the proxy learns all about my traffic patterns, usage stats and userbase.
It looks like you can't opt-out of this feature or at least I couldn't find it.
Hardening back to "only two hard problems in programming" and all that.
"Contain a <script async src="https://cdn.ampproject.org/v0.js"></script> tag as the last element in their head (this includes and loads the AMP JS library)."
This is the big no go for me here - why would I need an AMP library, hosted on a third party domain I have no control watsoever. They can inject what they like, track initial script load etc.
The same goes on if you want to include further content such as tweets etc.
What do other folks think about these requirements?