Archive for January 18, 2017

Wednesday, January 18, 2017 [Tweets] [Favorites]

The Problem With AMP

Kyle Schreiber (via Hacker News):

The largest complaint by far is that the URLs for AMP links differ from the canonical URLs for the same content, making sharing difficult. The current URLs are a mess. They all begin with some form of before showing a URL to the AMP version of the site. There is currently no way to find the canonical link to the page without guessing what the original URL is.


AMP is about lock-in for Google. AMP is meant to keep publishers tied to Google. Clicking on an AMP link feels like you never even leave the search page, and links to AMP content are displayed prominently in Google’s news carousel. This is their response to similar formats from both Facebook and Apple, both of which are designed to keep users within their respective ecosystems. However, Google’s implementation of AMP is more broad and far reaching than the Apple and Facebook equivalents. Google’s implementation of AMP is on the open web and isn’t limited to just an app like Facebook or Apple.


The AMP HTML Specification states that all AMP HTML pages must load a JavaScript file from If you already run Google Analytics on your pages you probably don’t care that you’re loading yet another black-box JS file from Google. But sites that load absolutely nothing from external sources (such as this one) should understand the privacy and security implications that come along with running JavaScript that you don’t control.


Google is abusing its powers. The search rank is our currency and Google has pushed AMP sites to the top for some while. So, everybody is now building weird AMP layers for their sites. We went from a free to a proprietary mobile web in just a few weeks. And we can’t do anything. It feels like the times when the Internet Explorer tried to rule except that more people were complaining.

The open solution to a faster mobile web would have been so easy: Just penalize large and slow web pages without defining a dedicated mobile specification. That’s it.

John Gruber:

The lock-in aspect makes no sense to me. Why would I want to cede control over my pages to Google? AMP pages do load fast, but if publishers want their web pages to load fast, they can just engineer them to load fast. Best answers I got were that it wasn’t really strategic — publishers are going with AMP just because their SEO people are telling them to, because Google features AMP pages in search results. I suppose that is a strategy, but ceding control over your content to Google isn’t a good one in the long term.

Previously: Google’s Accelerated Mobile Pages.

Update (2017-02-09): Danny Sullivan:

As promised, Google is making a change to how it displays Accelerated Mobile Pages, so that users can easily view and share links that lead directly to publishers’ sites rather than to Google’s copy of the content.

John Gruber:

A little easier, but I would argue that they shouldn’t be doing this in the first place, and the new UI they’ve exposed is deliberately obfuscated.


This is what you call a begrudging UI. Google wants you to pass around the AMP URL, not the publisher’s original URL. If they wanted to make it easier to share the original URL, the anchor button would be a direct link to the original URL. No need for a JavaScript popover. You could then just press the anchor button to go to the original, and press and hold for Safari’s contextual menu. And they could just use the word “Link” or “URL” instead of a cryptic icon.

Michael Rockwell:

A quick thought: wasn’t the whole point of AMP to shrink page sizes and increase the speed of browsing? If that’s the case, why does Google have to pre-cache these pages at all? Shouldn’t they be fast enough on their own without the help of Google’s servers?

Underpass 1.0 for Mac


Underpass is a chat app for the Mac that features end-to-end encryption for complete privacy and security.


Peer-to-Peer — There’s no signup or account. Underpass does not connect to a third-party service. Your Mac connects directly to your chat partner’s Mac over your network.

Privacy — Underpass does not request your phone number, email, contacts, or any other personal information. You don’t even need to use your real name.

The flip side to the non-centralized approach: you’ll need to exchange IP addresses and passwords via some other means before you can chat over the Internet.

It’s from longtime Mac developer and blogger Jeff Johnson, who writes (tweet):

Underpass is 99 cents! I can hear customers rejoicing and developers cursing. I make no apologies for my price, though. I didn’t start the App Store race to the bottom. In fact, I had nothing to do with it. The race was already over when I got here. That ship has sailed, sunk, and been immortalized in a James Cameron film. I do feel that the “value” of Underpass is a lot higher than $0.99, but I’m competing against apps that are free, and a chat app requires more than one person to be useful, so in effect I need to convince two customers at a time to buy it rather than just one. In my opinion, a higher price would severely limit initial adoption and probably doom the app to low sales. It may be doomed to low sales in any case, but I think this price gives it the best chance.

It’s a tough market. I think he’ll need to charge more than that—at least for some customers—for it to be a success. On the other hand, for just 99 cents I bought it even though I barely ever chat.

Update (2017-01-22): Jeff Johnson:

On a LAN it’s easy to advertise a network service by name via Bonjour and resolve the IP address with DNS. There’s DNS on the internet of course, but your Mac can’t simply publish a DNS record on the internet. The internet DNS servers are not under your direct control, so you’d have to go through a DNS hosting service to publish a DNS record for your chat server. Fortunately, there are Dynamic DNS providers that allow you to give your computer at home an internet domain name and automatically update your DNS if your ISP changes your IP address. On the other hand, if you decide to skip DNS altogether, you have to know the IP address of your partner to have a chat over the internet.


In answering the question of why I made Underpass, I’ve already gone partway toward answering the question of why you should use Underpass. Let me now fully answer that second question. The key feature of Underpass is decentralization. Underpass is peer-to-peer. It does not use a third-party service for chat. Why is this important? Because when you require a third party, you become absolutely dependent on the third party. A centralized chat service creates a single point of failure. If it goes down, it can take down millions of people with it. And let’s be honest, every centralized service goes down. This has been demonstrated ad infinitum. If you’re lucky, it’s just a temporary outage. Eventually, though, most centralized services shut down permanently. Nothing lasts forever. Especially nothing free, and a lot of chat services are free. When the people in charge of the centralized service run out of money, or just decide that there’s not enough profit, they will shut it down, leaving all of the users out in the cold. Another problem with centralized services is that they could be hijacked by hackers, malicious insiders, governments, et al. This may or may not be a remote possibility, but I think it would be unwise to assume that centralized services are invulnerable. They make an inviting target precisely because so many people rely on them.

Update (2017-06-29): See also: iPhreaks Show.

Update (2018-08-07): Jeff Johnson:

For marketing purposes, I want to emphasize the device-to-device capability of Underpass, because I don't think the person-to-person capability has taken off or will take off. P2P seems like too small a niche for a chat app. Even if there's an audience for P2P chat, the price was a barrier. It's difficult enough to convince one person to buy your app, and if every version of the app is paid, then you have to convince two persons to buy the app in order to chat with each other. On the other hand, if one person just needs to transfer data between their Mac and iPhone, they still have to buy two copies of the app. Thus, I had the idea of making one of the versions free, to lower the barrier to entry. The free version would also serve as a kind of trial.