New AMP Roadshows.
AMP Roadshows

The AMP Project Roadmap

Note: This is a high level overview suitable for all audiences. For a more detailed developer view, head to Github.

Next Up

  • Payment component in AMP

    AMP currently supports transactions in only limited contexts like via amp-iframe w/ the Payment Request API — however this omits many important use cases. This activity would implement a more robust payment component in AMP, potentially including integrations with third-party payment processors, widgets, wallets, etc (these should be supported somehow regardless).

  • Scroll-freeze effect

    Highly interactive documents on the web often employ a "scroll-freeze" effect, where scrolling the page temporarily stops in order to display a scroll- or time-bound animation. This activity implements this feature in AMP in such a way that it avoids common UX issues with this pattern (for instance, when the user feels "trapped" due to performance issues or unclear feedback when scrolling the page)

  • Launch amp-vega-viz

    amp-vega-viz has existed in AMP under experimental mode for over a year — this task is to assess the component for launch-readiness and then launch it

  • amp-list v2

    amp-list addressed a number of critical use cases when AMP first launched, but developers have struggled with a set of smaller issues that make the component generally hard to use. This issue is to fix those issues and relaunch under a new name.

In Development

  • amp-carousel v2

    Re-factor and re-launch a new version of amp-carousel to address a number of user & developer needs, including dynamic & responsive content, UX updates, and using amp-carousel outside of the context of valid AMP

  • Improved resizing rules for amp-list

    This issue captures the work needed to address a number of related amp-list resizing issues.

  • Doc-level infinite scroll

    Support document-level infinite scroll, such that when the user reaches the end of the core content of an AMP document (an article, a product detail page, etc), a call can be made to an arbitrary endpoint to fetch additional documents to be dynamically loaded into the view. For the best user experience, users should never see a loading spinner, but instead should either be presented with already-loaded results, or a "recommended content" section to navigate to more.

  • Element-level infinite scroll

    Support element-level infinite scroll, such that when the user reaches the end of a list of items (search results, product cards, etc), a call can be made to an arbitrary endpoint to populate the list with more items. For the best user experience, users should never see a loading spinner, but instead should either be presented with already-loaded results, or a button to tap to load more.

  • Seamless page transitions

    Users highly value page transitions that preserve as much context and happen as quickly as possible, but standard page navigations refresh the entire page (header bars, menus, etc disappear and reappear again), increasing actual and perceived loading time. App shell patterns (as with progressive web apps) address this opportunity—this feature is to provide a trivially-easy-to-implement way to get similar functionality with minimal effort.

  • Ideation to better support for dynamic content

    Developers have a range of options in AMP for supporting dynamic data (data that changes based on user-related parameters) when served from a cache: amp-list, amp-geo, amp-bind, etc. However, AMP does not currently offer good support for a number of remaining use cases. This issue tracks the task of identifying additional use cases and brainstorming with core AMP contributors how to better support a broader range of dynamic data in AMP

  • Experimental availability of amp-script

    amp-script is being developed in order to support a much broader set of interactivity in AMP and interoperability with non-AMP libraries & frameworks. This issue tracks the experimental release of amp-script. The viability of amp-script in production is still being investigated

  • Loading state improvements for amp-list

    amp-list is associated with multiple loading states, particularly when integrated w/ with amp-bind & infinite scroll. Some of these states can already be configured by developers and get a default loading state in order to communicate status to users. This feature is to ensure that more of these states are configurable by developers and get good default states to the extent possible

  • Allow developers to program AMP pages with JavaScript

    Remove “need to write custom JS for my use case” as top developer pain point.

Shipped