11 ms·
How to Replace Google's AMP Without Slowing It Down
- JoshMnem 9y agoThe WWW is supposed to be decentralized. There shouldn't be one (or a few) companies that host the Web. I don't want Google to visit sites on my behalf.
- dfabulich 9y ago(Author here.) That's what's so great about the Web Packaging standard proposed in the article to replace AMP: everybody could use it. https://github.com/WICG/webpackage https://github.com/WICG/webpackage Even HN could serve up prerendered Web Packages for all of the sites on the front page. The result would be a more decentralized web.
- JoshMnem 9y agoWhy would other sites be motivated take on the extra bandwith loads? Downloading websites before even clicking on the links seems like a huge waste of bandwidth for a problem that could be mostly solved by: - writing better HTML - stop writing bloated UIs with too much JS and CSS
- scrollaway 9y agoAnd how's that working out? I don't disagree with you, but in practice, the huge waste of bandwidth is happening today. So that hypothetical scenario isn't really useful.
- wmf 9y agoGoogle controls the incentives, so if they told people to "stop writing bloated UIs" in exchange for the lightning bolt then it would happen. But they are altering the deal and telling people to do AMP. The technical aspects don't matter.
- Spivak 9y agoIt's bad, but what are you going to do? If Google instead offered a paid CDN product in exchange for the lightning bolt and carousel placement the line would still be out the door. The technical aspects only matter to Google: lightweight sites keep their hosting costs down and the quality decent. AMP is Google's play at finding a place in the social space, and just like Facebook, publishers are happy to play.
- dfabulich 9y agoThey'd take on the bandwidth load in order to provide better performance for their users! Maybe HN wouldn't bother, but I think, say, Reddit would do it if experiments showed that prerendering links resulted in higher engagement on Reddit. (And I bet it would; don't you agree?)
- JoshMnem 9y agoWouldn't that just give an advantage to large sites with tons of cash at the detriment of smaller, independent publishers? If hosting other websites increases the engagement on Site X, users might say, "getting my news on Site X is faster than getting my news on <small_independent_website>." You might be right, but something about it sounds off to me. We already have a working system. It's being abused by bad HTML/JS/CSS, but there are ways to fix it without unbalancing the open nature of the WWW.
- greglindahl 9y agoOne easy way to "write better HTML" and "stop writing bloating UIs with too much JS and CSS" is to stick with the limited html/js/css that's in AMP.
- kuschku 9y agoSure, but that doesn't get blog.fefe.de any of the AMP ranking/carousel benefits in search, does it? That site, from a major german blogger, would actually slow down significantly when you add AMP (he kinda tried once), and yet, he doesn't get any of the search benefits.
- greglindahl 9y agoEr, isn't getting AMP ranking/carousel benefits a different thing from encouraging everyone to not be bloated? Great that "that site" isn't bloated already. Sucks that he'd have to slow down to get the search benefit. Now, about convincing the entire rest of the Internet to be less bloated, ...
- deleted 9y ago[deleted]
- tomc1985 9y agoyet another Thing That We All Must Do in this endless technological death march called progress. I get sick of companies claiming that whatever stupid remix of existing techniques (wow, page prerendering! I had an app like that for my dial-up modem...) is worthy of the kind of "innovation" that we the people love so, and all the extra work, secondary, and tertiary effects that it entails. An entire generation grows up in the bazaar, and ends up running for the cathedrals sigh
- digi_owl 9y agoI wonder if it has to do with the age churn in the business. Meaning that unless you are self-employed, you are basically out of a job by the time you hit your 30s. And then they bring in some bright eyed grad, or maybe even some self-taught kid from the street, to take over. And he invariably ends up tossing your work out because it is not in a fashionable language, he has only a superficial understanding of all the edge cases embedded over time, and it is an "old" project.
- ec109685 9y agoGoogle and others would presumably cache it.
- kuschku 9y agoHow does the web packaging spec guarantee that a user isn't served an outdated version? A site may make a mistake, correct it, and web package caches could still serve the old version otherwise. In fact, this basically leads to the update denial issue that also caused APT repositories to move to HTTPS.
- dfabulich 9y agoThe package is cryptographically signed by the original web site; the signed package includes a signed expiration date.
- kuschku 9y agoIn other words, the issue isn't solved at all, and either we end up with expiration dates of a few minutes, and Google crawling every page on the web every 5 minutes, or we're ending up with horribly outdated content, or any mix of the negatives of both.
- Spivak 9y agoSo don't package sites with volatile content? Or package the client and pull the content dynamically with JS.
- colemannugent 9y ago>package the client and pull the content dynamically with JS Please don't do this. Most pages are documents, not interactive web apps. This bugs the crap out of me when the online documentation for a language/framework/program refuses to render without JS. It's completely unnecessary.
- superkuh 9y agoUpvoting this is just not enough. This is the worst aspect of the web currently. Even NASA.gov is just a blank black page without JS enabled. It's completely unecessary and sacrifices accessibility for ease of development.
- zbentley 9y agoDoesn't Google already visit sites on your behalf, to index them so they show up in the search results?
- JoshMnem 9y agoGoogle Search isn't serving the sites.
- ravenstine 9y agoOr we can simply deliver what the user needs and not include every analytics tracker under the sun, scrolljacking, or shove dozens of images and links in their face to improve "engagement".
- dfabulich 9y ago(Author here.) Clearly AMP should be replaced, but I argue in the article that prerendering offers better performance even than bare HTML pages with no JavaScript. "Delivering what the user needs" means performance, too; prerendering simply can't be beat. The best solution will provide a way to prerender pages without AMP, without iframes, and without violating users' privacy. I claim that Web Packaging is a step in that direction, and even a further step toward re-decentralizing the web.
- kuschku 9y agoPrerendering isn't necessary here either. Usually you can get the above the fold content rendered in 2x latency + 10ms. That's around 3 to 5 frames. Prerendering is only useful for sites where either large amounts of data need to be transmitted, or parsing and rendering is slow. If parsing and rendering is too slow for realtime usage, we need to fix that - not try to circumvent it. You can get a full JVM up, an entire major codebase parsed, JITedd, profiled, optimized, JITed again, running, and finishing in 40ms. Yet we're seeing several seconds to parse some JS + HTML + CSS? That's the true bottleneck.
- jotto 9y ago> Prerendering is only useful for sites where either large amounts of data need to be transmitted, or parsing and rendering is slow. Agreed. Many of my leads for https://www.prerender.cloud/ https://www.prerender.cloud/ end up not using the service after we discover the root cause of slowness was due to an initial, slow, render-blocking XHR request, or in some cases infinite loops that eventually get cut off. AMP seems to allow sidestepping root cause performance issues by creating a pure version just for Google - it's a growth hack - "don't bother refactoring your app (which would require overcoming organizational inertia), just make a streamlined version for us."
- alpb 9y agoFunny, a similar post in the opposite direction from Airbnb is also in the front page right now: https://news.ycombinator.com/item?id=16422763 https://news.ycombinator.com/item?id=16422763
- lern_too_spel 9y agoThe AMP brand is only toxic on HN, among iOS users who don't know any better. The article itself perpetuates a common mistaken belief among iOS users — that AMP implements its own scrolling. The problem stems from the root source of all of the author's listed problems — that AMP uses iframes. Mobile Safari had a bug where iframe scrolling is different from scrolling in the rest of the system. On every Android browser, it works just fine. Similarly, that Mobile Safari's reader mode doesn't work with AMP is simply because it doesn't understand iframes and doesn't work on canonical URLs, unlike every other reader mode (both websites like outline.com and browsers like Firefox) I have used. The real issue is that Safari is such a buggy, rarely updated browser that publishers have to choose between speed or UX.
- JoshMnem 9y ago> among iOS users The main arguments against AMP have nothing to do with iOS or Safari. I don't have any Apple devices. Also, how is that the top comment just a minute after being posted on a site where most people don't like AMP?
- dragonwriter 9y ago> Also, how is that the top comment just a minute after being posted on a site where most people don't like AMP? I think that it's quite possible that there is a false impression the proportion of the HN community that dislikes AMP just because the people that do dislike it have intense need to wave that around, while the people that don't dislike it aren't rushing out to post their "eh, it doesn't really bother me." Or even to question the attacks, as that often fails to produce any kind of substantive response.
- deleted 9y ago[deleted]
- dfabulich 9y ago(Author here.) I think the AMP brand is toxic roughly everywhere. Many users don't know what AMP is, and don't really care—in fact, there's some evidence that users like AMP in search results, or at least they like the performance—but as far as I can see in tech communities like HN and Reddit, the vast majority of people who know what AMP is also know that they hate AMP. (Scroll up and down on this thread a bit!) As for why it's toxic, I don't think we have to agree about that, but it's not just the UI problem. The URL problem (AMP URLs point to google.com instead of the original site) is a real, significant problem in its own right. The URL problem is the root of the claim that "AMP is Google's attempt to take over the open web." IMO, if it were just an iOS scrolling issue, AMP would just be controversial: love the speed, hate the scrolling, eh, it's a wash. But the URL problem is what really gets the flamethrowers running!
- f4rker 9y agoon mobile reddit has a night mode google amp links break that night mode
- ficklepickle 9y agoI think the alleged performance improvements are only an illusion. The device still has to use data and electricity, in fact more because it is fetching a bunch of things you probably don't want. Link prefetching is already a thing, so I don't see why we need another standard to resolve this. Also the privacy argument is moot, I believe. In the questionable example of the AIDS patient, you are instead trusting Google with this info. That is not any better to me. I'm a front-end developer and I see so many sites bogged down with many analytics and tracking providers, some multiple times. I can't help but feel like AMP is an attempt to maintain the tracking and analytics status quo, while giving the illusion of performance, instead of just chilling out on the multiple redundant client-side analytics.
- nbsd4lyfe 9y agoI have an awful ISP - having a local mirror is a massive improvement. It almost seems like the web is unusable aside from companies large enough to have a mirror here.
- prepend 9y agoHow many years will it take until Google introduces “google keywords” instead of DNS? Mark my words, this non-open, non-standards stuff is a slippery slope. AOL has good intentions as well, and only toward the end went full rent seeking. Google can solve a lot of its problems by allowing companies to pay for and register keywords so they can make a safe, vetted Internet that advertisers will like without worrying about their brands showing up next to ISIS.
- DennisAleynikov 9y agothis comment has nothing to do with the article. The author addresses that amp sucks and talks about getting similar functionality without people getting mad at google for being skynet. google isn't trying to replace dns or other core web tech just trying to make delivery lubricated which gets them so much hate. if a cdn introduced AMP it wouldn't be plagued by this phobia of over centralizing.
- prepend 9y agoGood point. I should have described more clearly to make the link that AMP is Google unilaterally exerting more control over the web and making it less open. If a CDN introduced this, they wouldn’t have the massive market position that Google does. So they’d have to either propose a standard and get adherents or just add it to the pile of stuff that isn’t used. Google is different because of their search dominance. But I think this that Google is turning into more a controller who isn’t concerned with open standards. The keywords thing was just an example of how much AOL sucked when Google started up.
- deleted 9y ago[deleted]
- JepZ 9y agoIts the first time I read about Web Packages[1] but when you combine it with service workers it could really make sense. Just imagine downloading an .wpk and install it to your local environment like a .deb or *.apk package. I think that could be a nice way to solve the omnipresent dependency on servers for PWAs. https://github.com/WICG/webpackage https://github.com/WICG/webpackage
- peterwwillis 9y agoWe used to have applications. Applications were a thing you downloaded once and ran locally. They did things offline. If you needed something extra, it could communicate with a remote host to give you the thing you needed. Eventually, packagers were created to distribute applications more easily. Then we had web pages. Web pages were supposed to enable us to browse remote documents. They worked, for a time. But then people either forgot or were annoyed by making applications. Then we had web applications. Entire systems of software development combined a web page with an application. You couldn't use it offline, and it didn't browse documents so much as allow you to use an application remotely. The browser would show you an application with which you would browse documents. And it worked, for a time. But then people apparently got tired of distributing apps over a web page. So now we have web packaging? If you wanted a universal application platform, make a less shitty form of Java or something. But stop pretending that hypertext is an application, trying to make me jump through hoops to read some text. I don't need my content proxied, prettified, modified, imaged, scripted, stylized, or customized. I don't need it faster, or better, or more private, or more anything. I really just want to read the text of the article I wanted to read. Honestly. I'm sick of new wheels. I'm sick of progress. I'm sick of advertisements, scripts, pretty fonts, pop ups, pagination, and columns of useless distraction. I'm sick of commentary by ignorant intolerant insensitive paranoid outraged strangers. I'm sick of trying to read a news article and being assaulted by the equivalent of five kinds of media warring for my attention. I'm sick of likes. I'm sick of sharing. I'm sick of people who have seemingly made it their purpose in life to annoy me. I'm sick of technology.
- cromwellian 9y agoAMP isn't being used for applications, it's being used to deliver mostly static text documents with images. It's pretty bare bones, but people didn't like Google's implementation that works on unmodified browsers, and so now there's a new proposed implementation that requires browsers to implement it natively. Most of the anti-AMP commentators keep repeating over and over again that people can make documents which render as fast, but the Redfin article essentially points out that this goes beyond stripping out all JS, and having quick HTML parsing. You could reduce parse/layout to 0 and still be slower than AMP. Do you want to install a native application just to read each article? It doesn't scale. Even simple things like DNS lookups on mobile networks can add hundreds of milliseconds delay (from 80ms at the median to 500ms at the 90th percentile), and the subjective delay causes people to feel the bad.
- whyagaindavid 9y agoAMP can be hosted by 'YOU'. See Guardian.com 's own AMP cache. It is not google taking over the web. https://amp.theguardian.com https://amp.theguardian.com https://www.theguardian.com/membership/2016/feb/24/todays-release-of-accelerated-mobile-pages-amp https://www.theguardian.com/membership/2016/feb/24/todays-re...
- asymmetric 9y ago> There’s no way to work around this privacy problem while allowing your browser to visit 10 random sites. Wrong. Browsers could intelligently delete cookies after a short time, which is what Apple is doing with Intelligent Tracking Prevention[0]. More sophisticated users can install browser extensions that allow them to do this manually[1]. [0]: https://webkit.org/blog/7675/intelligent-tracking-prevention/ https://webkit.org/blog/7675/intelligent-tracking-prevention... [1]: https://addons.mozilla.org/en-US/firefox/addon/cookie-autodelete/ https://addons.mozilla.org/en-US/firefox/addon/cookie-autode...
- martin_drapeau 9y ago> Yes, AMP pages load fast, but you don’t need AMP for fast-loading web pages. If you are a publisher and your web pages don’t load fast, the sane solution is to fix your [fricking] website so that pages load fast, not to throw your hands up in the air and implement AMP. I'm a developer and took some time to analyze AMP from a developer's perspective. The above conclusion is the only sane one. AMP, Web Packing Standard, damn proxy - they are all workarounds that complicate things. Don't be lazy - fix your shit and make your website fast. https://medium.com/@martindrapeau/amp-for-developers-the-technical-and-seo-perspectives-b1becd64e66d https://medium.com/@martindrapeau/amp-for-developers-the-tec...
- digi_owl 9y agoI fear the inherent problem is that a "lazy" dev team ships/publishes earlier...
- dfabulich 9y ago(Author here.) You and I agree that AMP has serious problems, but your article doesn't evaluate the Web Packaging standard at all, which is the whole point of the article. Prerendering is faster than the fastest web site you can build, faster than http://motherfuckingwebsite.com/ http://motherfuckingwebsite.com/, as fast as switching tabs. On noisy cellular networks, where even one network request can take seconds, even the fastest sites can be slow; prerendering can fix this. I don't think it makes sense to say, "Prerendering makes even the fastest sites faster?! Bah, humbug! Web sites are fast enough if you do them right." Web sites are pretty fast if you do them right. But making them even faster is hardly lazy.
- sbuk 9y agoLost me at "AMP haters"...