AddThis is Now Available for AMP

Editor’s note: the following was originally posted on AddThis’ blog by Chad Edmonds, Sr. Marketing Manager, AddThis

AddThis AMP Share Buttons

Just because AddThis is now free, doesn’t mean we’re slowing down on pushing out more great features and functionalities! We recently rolled out AddThis Inline Share Buttons for AMP and it is ready for you to integrate into your AMP compatible site.

A bit of background: AMP project (spearheaded by Google and others) is a new open source initiative that stands for Accelerated Mobile Pages and is meant to improve the mobile web browsing experience by speeding up ensuring web pages are fast and smooth loading. There are also a few other advantages to setting your website pages up for AMP, like additional traffic from platforms that link out to AMP websites like Google and Twitter. Learn more about creating your AMP page here.

We’re excited to be joining the initiative to improve the content ecosystem and we believe users should still have the same functionality on AMP that they have on other platforms. That is why we’re one of the first third-party plugins to be available as an AMP component.

Ready to get started? Visit our Academy article or YouTube video to learn how to install AddThis Inline Share Buttons on your AMP site!

In the coming months, we will be rolling out more AMP capabilities as well as more robust support documentation. In the meantime, if you have any questions or feedback about the plugin, please do not hesitate to reach out to our support team.

Posted by Chad Edmonds, Sr. Marketing Manager, AddThis

AddThis is Now Available for AMP

Privacy and user choice in AMP’s software architecture

Early choices in designing the AMP HTML JavaScript library have made it uniquely suited for publishers to implement effective privacy controls for users. In web pages, resource requests and browser storage access that may have privacy impact can be initiated through a multitude of mechanisms, many of which are often controlled by third parties. This may make it hard for a publisher to ensure that no unintended actions are performed before, for example, appropriate user consent is obtained. This post is looking at a software architecture within AMP that may aid publishers to effectively implement such user choice options. For concrete steps to implement user choice flows in AMP documents, please check out this blog post.

Privacy-preserving prerendering

One of the key ways how AMP differentiates itself from general HTML documents is that it has the capability of privacy-preserving prerendering built-in. This is a user privacy requirement to implement instant loading of documents.

Instant loading naturally requires loading a document that a user might see before the user has navigated to it. By loading it before the user expressed intent, network operations can be executed by the time user finally does express intent (e.g. by clicking a link), making the load time much faster.

Instant loading is clearly a great user experience, but it does come with a privacy challenge. If a user never ends up looking at a document that was prerendered, then the publisher might still receive signals and information about the user through the pre-rendering of the document. This is a change from how the web usually works, and may not be what users expect. For this reason, we designed AMP such that it would not allow a publisher of a document to know that pre-rendering of a web page is happening until the user expresses intent to actually go to the web page. This is what we call privacy-preserving prerendering.

Privacy-preserving prerendering is implemented in AMP via 2 primary mechanisms that work together:

  1. A platform-controlled AMP Cache that does not expose user request data to a publisher of content.
  2. A centralized request manager that controls the timing and availability of resource requests from web components on AMP pages.

Let’s look a bit closer at the second mechanism: Whenever an AMP page loads any resource, such as images, videos, ads, analytics requests, tweets, or any of dozens of other types of resources, the associated network requests are controlled by a central resource management mechanism. This resource manager, in addition to performing many other functions, also ensures that requests that are not allowed during the prerendering phase of a document lifecycle are held back until the document learns that the user expressed intent to see the page.

privacy-and-user-choice-in-amp_s-software-architecture-blog-post-e1532367137299.png
Diagram of the process to load a resource in the AMP JS library.

This is the key architectural feature of AMP that makes it uniquely suited to implement more sophisticated privacy controls on top of this baseline mechanism.

An architecture for supporting user choice

The previous paragraph talks about how AMP controls resource request timing to ensure that certain requests made during the prerendering phase are only actually made after a user has expressed intent to visit a page. From a software architecture point of view, this introduces a central mechanism to control request timing, making it relatively easy to then introduce additional rules, including rules specified by the publisher of the page, for delaying requests on top of the pre-rendering specific rules.

For example, one such publisher-specified rule could be to delay any ad requests on an AMP page until the publisher has obtained sufficient user consent to make such ad requests or share ads-related data with an ad vendor.

For each AMP web component (such as the amp-ad and the amp-img elements), a publisher can specify that the associated resources should only be loaded if the user has provided consent that the publisher has determined is needed to load and display the respective resource.

privacy-and-user-choice-in-amp_s-software-architecture-blog-post-1.png
Diagram of the process that determines the flow to requesting a resource in the AMP JS library.

While a publisher may still need to perform an audit of the types of AMP web components they load on their page and determine whether any form of user consent may be needed to display them, having a unified mechanism to control the behavior of all resource types that may be included in a page–from images, over ads, to analytics–should make it easier for a publisher to gain confidence that they applied the consent treatment to the full spectrum of resources and behaviors where it is needed.

This post looked at privacy-enhancing functionality from a software architecture point of view. For concrete steps to implement user choice flows in AMP documents, please check out this blog post.

Posted by Malte Ubl, Tech Lead of the AMP Project.

Privacy and user choice in AMP’s software architecture

Track development with the new AMP Roadmap

As the AMP project grows, we want to ensure that the community has a clear understanding of the features the team is working on and the status of each. Starting today, you can head over to the AMP roadmap and see an updated view of feature development across the project. We hope this is easy to understand and offers better insight about what each feature means. As a developer, you can also continue to look at the release logs on a per release basis.

Each feature can be in the “Next Up”, “In Development” or “Shipped” categories.

If you are interested in more detail, you can click on the heading of the issue and navigate directly to the GitHub issue to learn about associated issues or pull requests.

Here are some features we specifically wanted to call your attention to:

AMP stories

  • Monetization Support — Publishers can now use DoubleClick for publishers to serve direct-sold, premium advertising to AMP stories. Next up, we are looking at supporting HTML5 story ads over this quarter.
  • Learn about other stories related features in the blog post here.

New UI features

  • amp-date-picker — this is a full-featured date-picker for e-commerce use cases
  • amp-next-page — this feature, which supports the “infinite scroll” of page-level content like new articles or blog posts, is now available as an experiment on particular documents.
  • amp-date-countdown — this component, generously contributed by community members, supports a dynamic countdown to a specified date & time, primarily for e-commerce use cases like limited-time sales.

Upcoming Features

  • 1-line PWA — A large area of effort for the team is to figure out how to make it trivially easy for developers to create a PWA, given an AMP document. This includes smart caching and prefetching, as well as a way to ensure seamless page transitions associated with single-page apps directly in AMP.
  • amp-consent — We are continuing to enhance amp-consent functionality by providing publishers with the ability to fold their existing consent flows into AMP pages and manage consent status across AMP and non-AMP pages. We are also looking at supporting the IAB framework for user consent management.
  • AMPHTML ads — Over the next quarter, we will continue to work at improving the performance of AMPHTML ads, especially when served to non-AMP pages. In addition, we will also work on supporting AMPHTML ads in mobile app environments.
  • ID Link Decoration — We’re making page measurements easier by introducing ID Forwarding on AMP pages. The updates will help you see accurate metrics of your users and their journeys on your properties.

As always, if you have questions or suggestions, please share your feedback.

Posted by Vamsee Jasti, Product Manager, AMP Project

Track development with the new AMP Roadmap

New in AMP stories: Monetization, Revamped bookends and Metadata

We announced the developer preview of AMP stories in February at AMP Conf. Since then, publishers have authored thousands of stories, experimenting with the format and providing valuable feedback to the AMP team. Based on this input, we recently released new capabilities in AMP stories v1.0, open to all developers without origin trials or a whitelist. New features include:

Version 1.0 of AMP stories includes these updates and is available today. Upgrade your existing stories to v1.0 using our migration guide to take advantage of the new features.

Stay tuned for more developments in the coming months; you can see the full roadmap here. The team is actively working on additional features including:

As always, if you have feedback, please let us know on Github. We look forward to seeing more publishers try AMP stories!

Posted by Jon Newmuis, AMP Stories Lead Engineer, Google

New in AMP stories: Monetization, Revamped bookends and Metadata

Serverless AMP solution on AWS

Editor’s note: The following was originally posted on Medium by Artūrs Krūze, CEO, Magebit. You can see their site featured on the showcase page of AMPproject.org

It all started when we realized our website gets outdated very fast and we are always so busy with our customers we forget about ourselves. We had to build something amazing.In case you are not familiar with the terms serverlessAMP and AWS — click on the words and learn more.

The technical

Everybody loves fast pages and most of our visitors are on the go — that is why we selected AMP (Accelerated Mobile Pages). We also wanted to make sure our website can handle unexpected loads, requires minimum infrastructure maintenance and is very fast — so why not go with a serverless infrastructure?

Serverless AMP solution on AWS

The above is just the infrastructure part. The website still needs to be generated, deployed etc. For that we used what we call the generator.It is a system built on Laravel which is a regular non-serverless site with 1 extra feature — generating the website frontend code. The generator also takes in the standard (non-AMP, non-minified) code and makes it fully AMP and minimized to the limits. In the end we have a fast lightweight site ready to be deployed.The deployments are automated with Jenkins. From generation and file uploads to cache invalidations — all done with a single click.

The visual

Usually, AMP pages are too minimalistic and don’t look good. We stepped in to change that. Our goal was to build a lightweight AMP page that looks good and works amazingly — and we achieved that!

There were a lot of tricky parts where we understand that with javascript it would be easy but with CSS only it is tough to do. Also, there are different sizing limits (also for CSS) so we had to work hard to keep the styles size tiny. Despite all that we made all the functionality and look as per designs. There was no place where we gave up and went with a simpler solution.

The amazing

At least that is what Google PageSpeed says about us. The infrastructure is very simple, nearly bullet proof, very easy to maintain and search engines love it. Oh, and it is not just loved by some robots and computers — it is also loved by everybody here at Magebit.

It’s a pity that AMP doesn’t allow to host AMP JS file elsewhere or have proper cache headers. This is the only reason we couldn’t reach 100/100 in Google PageSpeed. Changing the AMP JS host to our CDN gives 100 points but throws a console error that the AMP source is not Google’s. Sad, but we’re still happy we reached the maximum possible score with AMP.

Another amazing fact is that the engagement and visibility in Google search grew in a lightning speed after the launch of this AMP website. The average time on site for users doubled (from ~1 minute to ~2 minutes) and our tracked keyword visibility jumped from 0.5% to 8% — that’s 16x more than we had without the AMP site.

We’re ready for new challenges

Ever wanted to have an awesome website that is lightning fast, easy to maintain and performs amazingly? Great! Let’s get in touch to discuss the details. We will make that happen. Check out the site mentioned in this post — magebit.com or just shoot us an email to info@magebit.com.

Posted by Artūrs Krūze, CEO, Magebit

 

Serverless AMP solution on AWS

amp-date-picker is launched!

Earlier this month we announced a limited release of amp-date-picker, a calendar-style interactive date picker for form input. With this component users can specify single dates or date ranges with a calendar interface that makes the process faster and less error prone. After a great round of feedback from developers trying it out on their pages, we’ve fixed a number of bugs and added some feature requests, like the ability to quickly toggle the current date. With these updates, the date picker is now fully launched to production.

 

datepickerfinal.gif

 

Check out the sample on AMP by Example to see how to use it and what it can do. As always, let us know if you have any feedback for amp-date-picker, or for any other feature gaps in AMP. We look forward to hearing from you!

Posted by Eric Lindley, AMP Product Manager

amp-date-picker is launched!

Announcing the AMP Contributor Summit

We are happy to share that the first AMP Contributor Summit for developers in AMP’s open source community will be held in San Francisco, California this September!

The summit will take place from September 25-26, with an optional New Contributor Day on September 24th that’s especially for people new to contributing to AMP.  If you are a developer who contributes to AMP–or a developer who wants to start contributing–please apply to attend!

The AMP Contributor Summit will bring the AMP open source community together in one place for the first time.  The summit will provide an opportunity for the community to:

  • Meet each other in person.
  • Share the latest knowledge about developing in AMP–from relevant web technologies that are important for AMP contributors to know to how-tos on AMP architecture.
  • Enjoy deeply technical talks about the internals of AMP and how they could change in the future.
  • Review what we’ve accomplished in AMP so far and discuss what AMP’s priorities should be going into the future.

The main summit takes place on September 25th & 26th.  These days will feature talks, breakout sessions, hacking–and plenty of breaks and opportunities to meet other developers in the community.

On September 24 we’ll have an optional New Contributor Day to get new contributors up to speed on contributing to AMP before the main summit starts.  This day of talks and codelabs is meant for people who want to contribute to AMP but who haven’t yet started.

The talks at the summit will be given by people in the community.  If you have an idea for a talk you would like to give at the summit please submit a proposal for a talk by July 31, 2018.  Please note, that this is a technical summit and don’t worry that your talk might not be polished enough. We’re excited to hear from everyone!

See the AMP Contributor event page for more information and to apply to attend.  We hope to see you in September!

Posted by Joey Rozier, AMP Engineering Manager at Google

Announcing the AMP Contributor Summit