Search Results are officially AMP’d
search.googleblog.com
search.googleblog.com
You know I don't understand this whole AMP'd thing. It's possible to make something just as efficient if you don't ruin your mark-up to begin with. The big advantage with AMP, as far as I can tell, is the Google caching mechanism. There is no reason someone can't use actual standards to create the exact same results.
It really bothers me that, to get preferential treatment, I have to now work with Google AMP and Facebook Instant Articles. If I don't the competition will. We originally had web standards for a reason, now we're doing this non-standard stuff.
Your choice is either the status quo (pull in lots of third-party cruft), or having a fast-loading page where Google runs the tracking and advertising infrastructure.
Oh, is that what this is all about? AMP caching is a mechanism to extend Google's lock-in on user tracking. Smart, in an evil sort of way.
This way they see every request, and learn a lot about their rivals.
Note also that the AMP ad spec warns that there are major changes to come.
https://www.ampproject.org/docs/reference/extended/amp-ad.ht...
I also believe the stated reasons for the project—to make the mobile web faster–are genuine. I believe that is the sincere motivation of many of the engineers working on it.
But the ultimate purpose of this project is to preserve the status quo around ads and tracking. Bloat has made the current situation on mobile devices untenable, and people are turning to blockers as a solution. AMP is a way to get rid of the bloat without getting rid of the surveillance. Google bets (correctly, in my opinion) that people won't care about being monitored if the performance problems go away.
Controlling the platform that does this will be useful to Google in the long run. For example, Google will be able to blacklist ad networks that don't meet their specifications. And Google can be sure theirs will always be the fastest game in town.
AMP's speedup doesn't come purely from blocking tracker JS, AMP acts like a framework, like any other, to allow people to leverage best practices for fast rendering, managing all resource loading asynchronously, preventing relayouts during rendering, etc. Most frontend developers, especially at many small publishers, simply don't adhere to good HTML/CSS/JS practices.
If the future is a future where everyone runs blockers, then you get some of the benefits, you also likely break legitimate websites as we have already seen, and you make the blocker vendors themselves into surveillance platforms that sell analytics and extract profit from those who want to punch holes in the blocker. Who do you trust more, Google or AdBlock, Inc? But if the future instead, is that people don't even use Web browsers to read web sites, but used silo'ed Facebook or Apple readers, then how does that benefit anyone? Prior to AMP, the mobile web itself was facing a crisis of bloat.
AMP allows publishing to stay federated and work in browsers, delivering performance that makes it less likely people will leave the Web. I don't see how it's any different than say, Twitter Bootstrap in that regard. If this effort gets people to trim down their mobile pages in order to get better search ranking, by drawing attention to it, we may finally get some traction on an issue that's gone mostly under the radar.
It is in Google's best interest to ensure the open web continues to be viable, as Google Search won't even exist if there is no mobile web to index and everything is published on Facebook or iTunes. Google's overall goal over the years has been to increase web usage, as it's core service relies on it. I compare the Web to logging a forest. You need to keep planting trees and be a good caretaker, else the forest may die out. Many other good projects have been released purely for improvement purposes (e.g. Pagespeed Insights).
[1]: https://www.ampproject.org/docs/reference/extended/amp-analy...
I think a far more likely explanation is to take Google's statement that they want to accelerate the mobile web at face value. When people view pages faster, they view more of them, which in turn means that they search more, they click on more ads, and Google makes more money. This makes far more sense to me as a direct revenue play than as a surveillance/tracking play.
I had no idea that the reason it seemed pointless was because it was for ad infrastructure.
I think I'm going to remove the AMP page, too. It offers nothing to me and is actually worse for my visitors than the normal responsive page.
AMP-ing means saying no to all this by design. I'm not saying this is 'the' perfect solution, but this is a solution to an existing problem. And the problem is not that we somehow forgot how to build fast and light pages.
This is a side effect of the abundance of cheap and easy to use tools.
Probably somebody is already working on how to extract more data from AMP pages :D
The problem: We have too much cruft on sites.
The solution: Lets add another layer of cruft!
Ranking smaller/faster sites higher is a better solution, but it doesn't give google that sweet lock-in that they want.
I don't see why. We've had mobile pages that worked fine for a long time, they were just normal web-pages, without a lot of cruft.
> This gives an incentive for the web developers to change.
Better ranking practices, would do the same thing.
> And it gives an open option to facebook closed instant articles.
Possibly. I've never used those so I can't say.
> We would still be stuck with ie and its unique html if not for google building chrome and forcing web developers to follow the standards more instead of staying with ie.
uh... did you forget that whole Firefox thing? Google came in on the tail end of that. And they did it, by using standards, not coming up with their own standards that nobody asked for.
> If not for what google has done over the last decade you would be looking at a very different web.
And it would probably be better. Sure, searching through it was harder, but it was way less money-driven, and much more hackable/useful.
> I might disagree with google on many of its privacy practices etc but can't disregard the fact that many of advancement on the web and internet in general in the last decade have happened because of google forcing people to change or showing how it could be done better.
I don't disagree. I'm grateful for Google doing that. But it doesn't mean they get a free pass to make stupid decisions from here on out. This is still the wrong solution to the problem, no matter who is pushing it.
Do you have numbers to back that up? I admittedly don't, but I remember sites changing because of FF's popularity. If you can prove it, great, I'll believe you. But I remember it differently
on edit: And we control the leftover cruft!
When visiting non-US sites, they mostly don't seem to load 8 different JS files from different domains, which then load another layer of JS files, repeating for 3 to 8 iterations.
For example ghostery indicates 8-11 trackers blocked on major Hungarian news portals. I'd guess this is close to an average. Check a DailyMail article ;)
That is impossible. AMP is just forcing some changes and using better tech architecture for the rest. There are already slow AMP pages because of all the re-added plugins, trackers, media and ads.
Other sites could easily work on better tech delivery to improve performance without AMP, which now only decreases the amount of resources/time they have to work on their own site.
That's why I think statements like your original comment are unhelpfully reductionist, and my paraphrasing of them was not misleading.
Wait, what!? They have EVERY incentive to make sure they provide a quality product.
This is just a frontend change: If there is an AMP version of a URL, link there is instead.
This is an indication to the user that the site has certain traits (particularly, the UX they experience with AMP sites), and that if they like those traits, they should pick the site over others, and conversely if they dislike those traits, they should favor sites without the indicator over those with it.
> Maybe not initially but unless someone proves to me, with data, that this won't affect what users click on I do not believe this won't affect user behavior.
Obviously it is going to affect user behavior.
> This is an indirect ranking.
No, its information (the same as providing, e.g., [PDF] notations), not "indirect ranking". How it affects behavior, like a file-format flag, is dependent on the value (positive or negative) the user ascribes to the trait it provides notice of.
You can make a website load like AMP without going through AMP. This is not an indication of a UX trait, this is an indication of using Google's technology and nothing more.
If you have Website A using AMP and Website B not using AMP but able to load in the same way, the Google search is going to show a label next to Website A and not Website B. Do you feel that this is fair? Or another way to force operators to now generate an AMP version of their website? Because I see this as the latter.
> No, its information (the same as providing, e.g., [PDF] notations), not "indirect ranking". How it affects behavior, like a file-format flag, is dependent on the value (positive or negative) the user ascribes to the trait it provides notice of.
Ranking determines where a website shows up and affects user behavior by users choosing the higher ranked websites. This has the same behavior without reordering things. I would call that a form of ranking but this is just splitting hairs; we're saying the same things.
Perhaps, but, by the same token then, if users find AMP UX to be a bad tradeoff, and tend to click AMP results less often than non-AMP, the algorithm will start to penalize AMP.
if the flag is google-service-specific, it's not "just information"
Its only "Google service" in that Google runs an AMP cache service the same as anyone else could; its open source project with open governance that manages its own open spec.
Anecdotal, but my ability to not link to and share AMP'ed results has already caused me to avoid clicking on AMP'ed results.
Google has broken the web.
Are they going to replace DNS with AOL keywords in Chrome next?
Web standards have always been a mishmash of competing standards. Eventually one spec will win out and that will be the next standard.
Pretty much all the major browsers implemented websql, which then never made it into a standard as there were no competing implementations [0]. Nice while it lasted.
Do you mean gopher, nntp?
Both are somewhat dated examples, that is pre-HTML5.
Once the web became mass-market, standards pretty much became a complete mishmash in every area.
When FB moved to instant articles, Google moved to amp. It was the opening they had been waiting for, for a long time. AMP was an opportunistic play--a damn good one for Google.
It sucks for publishers but they are forced to play along because of you are always at the mercy of your dumbest competitor.
Users may win but this isn't something publishers want or desire. Building faster pages is easier now than ever. Not as fast as AMP or Facebook Instant but still.
Over time this will lead to commodification because of lack of standards. Bing and others will further lose their lead to AMP. Users will like the new UX. Publishers are confused.
What's stopping Bing (and others) from using AMP and Microsoft (and others) from building their own AMP caches?
The main thing about AMP is that it gives consent to the search engines which is why Microsoft is happy to use it. The consent allows search engines to display content without directing users to the publisher platform. And therein lies the rub.
AFAICT [0], the AMP project is an open source project directed by its Tech Lead and Core Committers, which are a self-sustaining group (with Google, Inc. appointing a new Tech Lead in the event there are no Core Committers), even if the initial set was set by Google, and there is no barrier to Microsoft participating as fully as anyone else in that project.
[0] largely, from the project's own governance document on github, https://github.com/ampproject/amphtml/blob/master/GOVERNANCE...
Standards today represent the successful non-standard stuff of yesterday.
Nice way of describing almost every, current standard I can think of. I might quote you on that.
Similarly with Instant Articles--the big players own the ecosystem and can enforce whatever constraints they want if they have enough leverage. In this case, it happens to provide a sizable benefit to end users so publishers and ad networks are really the only ones feeling the pain.
I suggest you file a complaint here, if you believe you have to use AMP to not get a competitive disadvantage (because that would be unfair influence on the market by Google):
http://ec.europa.eu/competition/contacts/electronic_document...
EDIT: The parent comment complains that the market is unfairly influenced by two large almost-monopolies in their respective markets – so why do I get downvotes for linking the official reference for filing antitrust complaints?
AMP is also compliant with web standards. It just uses Custom Elements which is a fairly new standard.
I know that I have personally opened search results to AMP pages that I would not normally have opened because I knew the price of doing so would be small. But, then again, I know what the AMP symbol means. How this affects normal users remains to be seen.
For some sites, I seek out the AMP URL explicitly. For example, adding "/amp" to the end of TechCrunch URLs change them from frustrating to usable.
curious as to what you mean by that. I definitely have an ad-blocker running on my phone (android)
IMHO adblocking is even more relevant on mobile because of latency & data caps.
The idea is good, but being Google they've done.... something. I'm on iOS and the way pages scroll means they feel like they've got a different weight, they've adjusted something. And it makes interacting with the frustrating because the Google results page feels like any page in Safari and then you click into an AMP page (which does load very fast) and it suddenly feels wrong.
I bet it feels 'normal' on Android.
I have a feeling this is going to drive me nuts.
For those who are interested: by default, iOS sets webview scrollviews to have a fast deceleration rate (UIScrollViewDecelerationRateFast). This is because old iOS devices weren't able to quickly render webpages, so they needed to set a soft limit on scrolling. I actually believe that native (AMP-like) scrolling offers a better experience now that mobile devices are fairly snappy.
Doesn't matter. Personally I disagree, but that's not the real sin. The real sin is inconsistency with the rest of the web on Safari. If Apple thinks that's the way things should work then they'll make that change. Until then having the random page behave differently feels very strange to the user.
No, the way Apple thinks it should work is expressed in the defaults, the options are there if the author is trying to do something else. There are cases where it may be a good idea.
I don't see how this is one. I get Google thinks they know better (and I really do wonder what they think the benefit is), and I now avoid one of their products that I actually liked quite a bit because of it.
Close, but I think it's a bit more subtle than that. AMP presents its content as a standard news article (in both function and form,) which is why scrolling should be consistent with other article-like webpages. When a site is actually a webapp, I think it's permissible to have momentum-based scrolling just to achieve parity with native apps. Perhaps I'm just being pedantic, but the real issue is that AMP's scrolling isn't consistent with a subset of other websites accessible through iOS Safari.
They do have a "share" link on the previous page that does not have a copy to clipboard or a send as email. (why someone would share before reading something remains an unanswered question)
So in the share interface, you can share on Twitter, which gets the url rewritten. Then you copy it from the share text and paste it on mobile in a new browser tab to get the real url, then you can copy that to the clipboard again and actually share.
Who the heck approved this crap?
There's a share on google+, facebook, and twitter. facebook and google+ is a "card" without the source URL ... only the twitter share exposes a url (a shortened one).
This doesn't sound like a big intrusive ui thing. They already have an over-sensitive "swipe left" and "swipe right" so you can read another mystery story. When you swipe back because the "send me to mystery story" isn't a feature anyone asked for, amp scrolls to the top ... losing your place.
So now you have to make sure your down and up swipes are directionally perfect otherwise you go to some other story.
Mobile ad tech on news sites is the climax of insanity, but google long ago went into the deep end of the designer dictatorship - lobbing off useful features to create fragile, unpredictable, inconsistent, error-prone interfaces with, miraculously some of the core functionality removed and really useless things triggered with no way to disable them (a poorly connected aux cable triggering google now is a personal favorite).
For the article I was on, it sent a URL like this in the message:
https://www.google.com/amp/{original_page_url}/amp/?client=safari
The full url is [0].For me, that successfully redirects to the non-AMP version on desktop. Though of course it's confusing to not be able to share the original page url on Facebook / Twitter / etc.
Update 1: Actually it didn't work. Safari threw an SSL related error and redirected to the Mac Rumors homepage. Not sure if it's a quirk of that link yet.
Update 2: It breaks in Chrome on OS X too:
> Your connection is not private
> Attackers might be trying to steal your information from www.macrumors.com (for example, passwords, messages, or credit cards). NET::ERR_CERT_COMMON_NAME_INVALID
I do not encounter this error visiting the original page [1] directly in either browser on OS X.
Update 3: The SSL issue may be Mac Rumors specific. A sample article from TechCrunch [2] redirects fine for me.
[0]: https://www.google.com/amp/www.macrumors.com/how-to/macos-si...
[1]: http://www.macrumors.com/how-to/macos-sierra-apple-watch-unl...
[2]: https://www.google.com/amp/s/techcrunch.com/2016/09/20/macos...
Google had another 'im-so-great' interface with hangouts a while back - trying to deprecate the separation of carrier sms, carrier mms, voip sms, and hangouts messages and combine them in some way where you don't know where things are coming from or where they are going ... so things hit carrier sms sometimes ... thus not being combined on all devices as before.
They took a working thing and made it broken in the name of making it work in the way they broke it.
I call things that make goals they set out to achieve less achievable a "car without wheels". The idea is that they are asking you to swap your wheeled vehicle for one without wheels that will just sit there on blocks.
---
another car without wheels, mobile reddit.
They've removed the "share a link" feature. On wikipedia reddit is described as "a social media, social news aggregation, web content rating, and discussion website".
They've removed the first 3 of those 5 goals in their mobile interface.
This is distinct from a 'no you can't' interface such as the soundcloud app and mobile site where you can't delete tracks on your profile. If you only have a phone (many people do), you'd have to "view as desktop" to delete and even then, it barely works...
I'm sure it's a single web request and a single menu item ... this isn't a huge development effort - they already have a hamburger menu for your tracks ... it could just be tacked on there. Really easy ...
I should go off and make a list of these mobile design anti-patterns.
Obviously not optimised for poor internet
I really wish sites (AMP isn't the only thing to do this) would stop deciding they know how to implement scrolling better than my browser/OS does it. Here's a hint: YOU DON'T. Let the user have what they're used to. Sudden behavior changes for tenuous-at-best benefits ("It scrolls faster!") are obnoxious.
Edit: Filed https://github.com/ampproject/amphtml/issues/5125 to see if AMP can switch to other GPU scrolling mode.
Of course, it would have to work seamlessly without breaking anything, so it might be asking a little much.
One thing that does work though, at least in a lot of cases, is using an adblocker to block the URLs of common smooth scroll scripts. My adblock filter rules are in a comment in this gist if you want them (actually, this gist is my aforementioned Greasemonkey script): https://gist.github.com/oxguy3/ebd9fe692518c7f7a1e9
I'm just confused why they made it through to consumer release without someone else questioning them. These are major features of the most popular browser on [one of the two] most popular mobile OS that Google is choosing to break.
Edit: Added "[one of the two]"
This is because the scrolling is in a container rather than the body. It's a tough problem on many mobile pages using sliding drawers for example, which rely on overflow based scrolling. There's no event, that I'm aware of, for a web app to listen for for tapping that UI element on iOS.
Ultimately, it's a non-standard convenience introduced on iOS only. Maybe someone else here has solved this :)
On iOS, there are various conventions that apps generally follow. On a list item you can swipe from right-to-left to bring up a Delete option. On a list of stuff you can tap at the top of the screen to scroll to the top. These are standard things in the iOS ecosystem.
A good parallel outside of iOS would be the pervasive use of right-click to bring up a context menu in Windows or the convention of having "--help" show help text in Linux.
iOS at 23% and falling...
http://bgr.com/2016/06/02/apples-mobile-market-share-sees-bi...
See https://github.com/ampproject/amphtml/blob/master/src/servic...
I may be wrong on this, as I don't know enough about the codebase. However, I'm pretty sure it's just native scrolling.
Just querying the existing position shouldn't cause it to feel faster. What do they need to know that for anyway?
I promise you 100% that it doesn't feel right. I'm not saying they invented their own page renderer in JS and are using a canvas element for output, but they've done something that changes the feel. I've seen it on other sites too, I assume it's some JS/CSS thing.
tracking.
It seems like a flick of the thumb moves it a lot further than any other page. It's especially jarring since the search results page is just as "heavy" as any other page, then the AMP'd page feels like you're moving a feather.
Traditionally the Google services experience has been better on iOS than on Android. iOS had the most amazing Google Maps long before Android got that update... Even after so much time and updates, I still prefer the Google experience on iOS to the one on Android.
If #1 then the problem is completely unrelated to AMP it's just a subpar js scrolling engine that they decided to use on Google News. If #2 then that would indeed be an iOS-specific issue because on Android AMP pages are just using native scrolling to my knowledge.
As I said, I wouldn't be surprised if Google was adjusting scrolling settings on iOS (using CSS or JS or something) to make it 'feel' more like Android, since that seems to be their MO recently: make everything feel like Android, not the native platform. Same way they apply material design to all their iOS apps instead of doing things the iOS way.
I hate it. All you did is make your software feel wrong and thus broken.
I know all the "It's more consistent if you switch between platforms" stuff. Switching between OS X and Windows never bothered me, and I don't use other platforms much so that benefit doesn't apply to me. I only get the downsides.
You can rely on this not being entirely accidental.
I found it great for searching breaking news events and scanning quickly through reports from different sources.
The Economist landing page alone uses 22 different such services.
I personally don't see it as all that different. They are both terrible.
That's at least marginally better.
In Germany, for example, loading third-party scripts from foreign servers that might track users is illegal.
So every "like" or "share" button is a two-click button: first click loads the button, second click activates it.
Everywhere.
AMP would fall under the same legal issue, if it includes tracking.
http://venturebeat.com/2016/06/02/google-news-starts-showing...
Some companies own so much of a user's online identity, I think it's time they stop growing. If Maps, Gmail and others were all separate companies and they were all competing for market share, I would have no trouble with them. As it is, I'm avoiding all of them whenever possible.
You could just as easily argue that it's better to have a few gatekeepers with a strong reputation for security than a proliferation of many gatekeepers with little history or reputation, because the latter increases your chances of showing up on haveibeenpwned.com.
Then I got to the guide or spec or something. Saw the CDN. Opened it. Bunch of minified horsecrap of course, with no mention of a non-minified version or how you can host it yourself. Suspicion confirmed.
Open source my ass.
#1 There is a big problem with mobile sites. I'm using a recent iPhone and many popular news sites, without ad blockers, are as close to unusable as the worst websites I've ever been to, dating back to using Internet Explorer in 1999. Auto playing inline video ads that slide in to view, just insane. These things clearly kill time on site and reader retention. I have theories about why publishers are ignoring this, but who knows.
#2 Google is using AMP to co-opt publisher's traffic. This means users are scrolling to another story from another publisher or easily bouncing back to the Google results when they land on your content. (See the X in the story link on the animated gif example.)
There goes your time on site and long term user retention. If #1 was a problem for you already, you probably don't notice.
#3 AMP & Instant articles are going to put a stranglehold on third party ad networks and represent a very real anti-trust issue.
There are a bunch of other privacy implications too, which have been discussed in length. Publishers should be thinking really hard about their future.
I think I found your problem.
Jokes aside, I see your point. But if those sites are shit, stop using those sites. They are currently popular but they don't have to be.
Mobile websites tend to be incredibly user-unfriendly, and I can't stand it. They load slowly, they bombard me with intrusive notifications and popup ads, scrolling is lethargic, and so forth.
As a user, I have two reliable ways to distinguish a "user-friendly" website in search results:
1. Prior knowledge (I've been to wikipedia.com. It's a great place. I'll visit wikipedia.com anytime.)
2. The AMP Badge
The AMP badge is such a reliable signal of a fast, cruft-less mobile site that I find myself avoiding non-AMP websites in search results. This is unfortunate from a fairness perspective ("...but my non-AMP website _does_ load fast!"), but as a user, it's exactly what I want. Non-intrusive ads, instantaneous loading, and general snappiness.
If the rest of the internet doesn't like the AMP badge, well, time to make your website leaner and faster. Until there stops being a meaningful difference between an AMP and non-AMP page, I'll be clicking on the AMP links. I shouldn't have to employ a bunch of counter measures (ad blockers, noscript, etc) everywhere I go on the internet.
Honestly the IDEA is pretty good, I just find their implementation horrible (see my other comment, quite possibly iOS specific issue).
Is there anyway to effectively "AMP" a page without maintaining a separate set of HTML/CSS/JS?
Yes, certainly - it is well documented here:
http://motherfuckingwebsite.com/
and here:
http://bettermotherfuckingwebsite.com/
FWIW, we followed these principles when we created Oh By.[1]
[1] https://0x.co
Unless I am missing something in these examples: https://github.com/ampproject/amphtml/tree/master/examples
You can certainly write HTML that doesn't do anything of the things that AMP prohibits, but if it's hosted on a slow server, your users won't get the lightning-fast experience. By caching the pages, Google takes the quality of a publisher's host out-of the equation. (In fact, since the pages are being cached anyway, publishers probably have less of an incentive to invest in speedy server rendering.)
(This is my understanding. I don't work on AMP.)
This is a massive landgrab by Google that only incidentally solves a real performance problem on the web.
AMP for Google, something else for Bing, another format for duck duck go, one more for yahoo...ugh!
The interface doesn't feel right either.
My only big gripe with AMP is it's only built for publishing. It's missing a key feature of making the web complete: the ability for users to interact (ie no forms).
Completely agree. But instead of adding another layer of complexity and bullshit on top of the existing stack, why not just take away the existing layers of bullshit and complexity?
I like the premise behind AMP, but we already have a solution for that. This is just another attempt to lock sites into google.
To lock more sites into their system. Sure, they don't need to, but it's definitely beneficial to them.
> Apparently they already use page load speed as a signal in their search rankings.
I hear this a lot too, but I don't think they really place much importance on load speed. Try searching for "weather", and see how many sites are slow to load, but are at the top of the list. Meanwhile fast-loading sites like http://myfreeweather.com/ are buried in the results.
I have no insight to the other multiple factors of their ranking algorithm, but I've never found speed to play much importance.
It seems to me that they used this particular approach because best practices are a lot easier to ignore or misinterpret than AMP's "your page will literally break if you try funny stuff". It's why something like TeX was invented rather than releasing a "best practices" package for making Word documents.
[1] https://www.ampproject.org/docs/reference/extended/amp-ad.ht...
But duck duck go results are still noticeably worse, sadly.
Does Google just not care that people do not know what this thing is?
"Sorry, we can't add X because it will hurt your search engine rankings"
There should be a way to opt-out that is simple and does not require the user to be signed-in to do.
Ironically, almost positive that Google hates when links are wrapped like this.
AMD'd links never redirect, if you click the X you're sent back to Google's results, there's no way to get to the real URL that an average user would easily be able to do, if the link is bookmarked the link it's not the real link, etc.
https://www.google.com/url?url=https://news.ycombinator.com/...
Because SPOF's are bad. Not just from an architectural perspective, but from a privacy, independence and total systematic perspective. You want to be an agent in between me and the Internet that basically caches a fast version of everything after being pushed through your systems? Let me opt out.
Does AMP only work from Google search results page?
If Microsoft were introducing this, I suspect we'd see a lot of "embrace, extend, extinguish" comments.
<html "Imagine a Lightning Symbol Here" >
Really? I know you can just use <html amp> but why are we going down this road?edit: Well, that should have had a weird lightning symbol next to the <html but I guess HN ate it up. See the example:
https://www.ampproject.org/docs/get_started/create/basic_mar...
Guess I'm switching my default Safari search engine to DDG...
Because by the look of that issue, you don't have any control. https://github.com/ampproject/amphtml/issues/1901
So basically you are completely at the mercy of Google's crawler.
Anyway, it feels pretty broken on iOS.
Would be great if Adblockers would mangle the Google search results to replace the AMP links with proper links to the full website of e.g. WashingtonPost.
(1) It prescribes a stripped-down version of HTML and uses a JS loader to render fast and load as much resources as possible asynchronously
(2) It caches the website in the Google CDN and delivers it via HTTP/2
By applying best practices of structuring web applications and optimizing for the critical rendering path (1) can be achieved, too. The AMP loader is just an opinionated way to do this for simple pages. Everyone can get similar results without AMP by following web performance best practices like [1]:
- Reducing the critical resources needed
- Reducing the critical bytes which must be transferred
- Loading JS, CSS and HTML templates asynchronously
- Rendering the page progressively
- Minifying & Concatenating CSS, JS and images
And there is lots of good tooling for this (e.g. postcss, processhtml, cssmin, UglifyJS, imagemin, critical, gulp-rev-all, ...)
(2) is not only harder. It is what limits the broad applicability of AMP. Cached data in the Google CDN cannot be invalidated, neither in the CDN itself nor in ISP interception caches, corporate proxies or the browser cache [2]. The effective consequence of this is that you can only use AMP when the content is mostly static. This is the case for news websites or other publications that are only changed by human editors. It completely breaks down when you try to create a dynamic site, for example a social network or a shop.
That is why our startup Baqend [3] takes a different route. We say that developers are clever enough to use existing tooling to achieve (1): an efficient rendering and loading experience. And for (2) we add a caching scheme that also employs CDNs for delivery but keeps data consistent. This is made possible by a simple process:
1. When a browser connects to a Baqend-based website, it loads a Bloom filter containing all potentially stale cached URLs.
2. Every stale URL is requested using HTTP revalidation to refresh stale copies and update caches.
3. When an update operation changes a resource (e.g. an image, JSON object or even a complex query result) its URL is instantly invalidated in the CDN [4] and marked as stale in the Bloom filter.
4. When loading resource, a statistical estimation of the expected TTL (cache liftime) is made. Whenever that prediction fails, the Bloom filter and the automatic CDN invalidation compensate the difference between estimation and real lifetime.
Using this scheme (developed at the University of Hamburg in cooperation with Baqend), every kind of dynamic data can be treated as cachable data and the applicability of is not limited to data that seldomly changes and even works for write-heavy resources with rich consistency guarantees (Δ-Atomicity, Read-Your-Writes, Monotonic Reads, Monotonic Writes, Causal Consistency) [5].
Of course I'm biased but you'd like to see AMP-like acceleration coupled with fresh cached data plus tooling, layout and frameworks of your choice, have a look at our Backend-as-a-Service.
[1] https://developers.google.com/web/fundamentals/performance/c....
[2] https://github.com/ampproject/amphtml/issues/1901
[4] https://www.fastly.com/blog/building-fast-and-reliable-purgi...
[5] http://www.slideshare.net/felixgessert/talk-cache-sketches-u...
The majority of regular web developers aren't even aware of layout costs.
hotels near SomeCity, CA
To seeWithout uBlock Origin, Google is basically unusable for most people.