Breaking down a few of the concerns in this article:

> With AMP [chat applications] cannot be used

True currently. There are no chat application amp extensions, yet. This could change in the future. Vendors interested in implementing one for AMP should get involved at http://github.com/ampproject/amphtml

> AMP does not have any markup specific to checkouts

Most web pages move from shopping cart to payment by changing URLs. This would work just fine with an AMP page. There is in fact at least one vendor who has integrated payments with AMP already: https://www.ampproject.org/docs/reference/components/amp-acc...

Also take a look at https://ampbyexample.com/advanced/payments_in_amp/

> AMP does not allow for use of forms

See https://www.ampproject.org/docs/reference/components/amp-for...

> They really do not support a logged in state, or user preferences. Things like recommended products, or recently viewed products will not work with an AMP page. None of the personalization aspects like “Hi, Lesley” are done with AMP.

See the (perhaps poorly named) https://www.ampproject.org/docs/reference/components/amp-lis... This supports loading content specific to the user, even on a cached amp document.

> if search and filtering are a large part of your site’s mobile navigation, AMP will be useless.

This is exactly what amp-bind was built for:
https://ampbyexample.com/components/amp-bind/

> Google Analytics is not supported on AMP

Google Analytics is fully supported in AMP. Here's the Google Analytics support page:
https://developers.google.com/analytics/devguides/collection...

> If you use a different suite of tracking such as Piwik or kissmetrics, they will not work with AMP.

There is a large list of analytics vendors that have direct support here:
https://www.ampproject.org/docs/guides/analytics/analytics-v...

Other vendors can be added with a small amount of configuration. Here's a guide for Piwik, for example: https://www.elftronix.com/guide-to-using-piwik-analytics-wit...

Alternatively, vendors can submit a configuration to the AMP project which is just a few lines of JSON, then the vendor will be supported more directly.

> Ad Revenue is Decreased

The link is to a single article from a year ago. There are many studies pointing to the opposite effect as well.

> A/B testing is not supported

See https://www.ampproject.org/docs/reference/components/amp-exp...

> Performance

I'm not sure what URLs the author used, but I tried to find a similar overstock recliner page that might be the right one. I found:

https://www.overstock.com/Home-Garden/Recliners/Leather,/mat...

The author tries to use a google.com/amp URL, but these redirect when not coming from a search click. Much easier is to take the CDN amp URL, which is served the same way:

https://cdn.ampproject.org/c/s/www.overstock.com/Home-Garden...

I loaded both of these in Chrome, simulated a mobile device, network tab, and throttling with Fast 3G. Here were my results:

* non-AMP: 42 requests, 1.1 MB transferred, Finish: 10.3s, DomContentLoad: 3.38s, Load: 9.52s

* AMP: 35 requests, 408 KB transferred, Finish 5.87s, DomContentLoaded 1.28s, Load: 5.88s

The AMP page is 60% smaller and hits the load event in 40% less time. However "loaded" is a funny term in the world of javascript driven websites and needs to be looked at more carefully.

I suspect that the author's referenced tool is reporting "fully loaded time" as the time that the last network event ended. AMP pages intentionally delay loading images below the fold to prioritize visible content. This results in some images loading later without impacting the user experience. For example, as I scrolled in the AMP page, the "Finish" time would move ahead to a new time as new images were loaded. With events like analytics triggers, looking at the time the last network event finished is typically a misleading metric and won't work correctly with most amp documents.

If you load filmstrips in Chrome's Performance Tab, you can see this more clearly. Filmstrips display what the page looked like at snapshots in time after loading starts. For my quick test with network throttling, the non-AMP page takes a little over 6s to finish reaching it's final state and the AMP page takes about 2.2s. So AMP here is nearly 3x faster as the user would perceive it on similar connection speed.