AMP

The AMP Project Roadmap

The ongoing development of AMP is conducted in working groups, each with knowledge or interest in a specific area of AMP.

To make their work visible to the community all groups provide regular status updates with details of what they have accomplished and what's up next.

All of the updates listed here are available as issues on GitHub and we'd love you to join the conversation there!

Select working groups

User Interface & Accessibility

Status Update Mon Mar 01 2021

What was accomplished

  • amp-tiktok PR out for review
  • amp-render continued work
  • amp-next-page scrollTo bug fix
  • Discussions around support us_privacy parameter in a4a
  • Partial Launch of TCF PostMessage API
  • Granular Consent developer documentation
  • Supporting form attribute for <input>s outside of amp-form

Lessons learned

All details on GitHub

What's next

  • Submit amp-tiktok
  • Finish amp-render
  • amp-next-page replace history bug
  • session_id macro in amp-analytics
  • Splitting linker/cookie writer module from amp-analytics & amp-consent design
All details on GitHub

User Interface & Accessibility

Status Update Mon Mar 01 2021

What was accomplished

  • Perf
  • Fix it week, focus on code health & test coverage (12 issues closed, 7 more in progress)
  • amp-consent TCF PostMessage Proxy API out, gathering feedback
  • addtl_consent added to doubleclick and adsense request urls
  • Text Fragment highlighting, exploring server side transformation

Lessons learned

All details on GitHub

What's next

  • amp-consent granular consent launch
  • session_id MACRO in amp-analytics
  • amp-tiktok implementation
  • amp-render implementation
All details on GitHub

User Interface & Accessibility

Status Update Mon Feb 01 2021

What was accomplished

  • amp-next-page handling multiple consents submitted
  • amp-render design review
  • amp-tiktok work
  • amp-fit-text deflaking e2e test
  • amp-consent TCF 2.0 PostMessage API & Granular Consent PRs

Lessons learned

All details on GitHub

What's next

  • amp-render implementation
  • amp-next-page reader ID issue
  • amp-tiktok
  • amp-fit-text CSS issue
  • amp-consent TCF 2.0 PostMessage API & Granular Consent
  • Split Linker/Cookie Writer design
  • Use addtl_consent in a4a url requests
All details on GitHub

User Interface & Accessibility

Status Update Mon Feb 01 2021

What was accomplished

  • PR to handle amp-consent within amp-next-page
  • amp-render design
  • amp-tiktok design review
  • amp-fit-text adding better testing
  • CID syncing in amp-consent via CookieWriter
  • amp-consent TCF PostMessage API legal approval

Lessons learned

All details on GitHub

What's next

  • GA4 Planning
  • Granular Consent
  • amp-tiktok
  • Text fragment highlighting support
  • amp-render
All details on GitHub

User Interface & Accessibility

Status Update Tue Jan 05 2021

What was accomplished

  • amp-consent CSS fix for docs served from viewer
  • amp-carousel cherry pick revert for CSS styling overriding publisher styling
  • amp-render discussions with DevRel & Bento team
  • block-rtc & always-serve-npa PR merged

Lessons learned

  • Careful with !important styling as pubs may want to use their own styling
All details on GitHub

What's next

  • Granular Consent design review
  • GA4 discussions
  • amp-render & amp-list continued design work
All details on GitHub

User Interface & Accessibility

Status Update Fri Jan 01 2021

What was accomplished

  • Working through amp-next-page viewer bugs
  • amp-render brainstorming and requirements--subset of amp-list
  • amp-fit-text ResizeObserver bugs fix and test
  • amp-carousel observe child elements bug fix
  • legal review for TCF PostMessage Proxy API

Lessons learned

All details on GitHub

What's next

  • New SESSION_ID macro
  • amp-form CORS error
  • GA4
  • amp-render design review
All details on GitHub

User Interface & Accessibility

Status Update Wed Dec 02 2020

What was accomplished

  • Design doc for amp-render completed, design review on 12/02
  • Code complete for Serving NPA ads (publishing in Q1 2021
  • amp-ima-video bugfixes
  • amp-fit-text accessibility fix in review
All details on GitHub

What's next

  • Begin implementing amp-render after getting feedback from design review
  • Begin design for amp-list v2
  • Working on finalizing design for granular consent
  • Working on e2e test for amp-fit-text a11y update
  • Update from GA4 team coming 12/4
All details on GitHub

User Interface & Accessibility

Status Update Mon Nov 09 2020

What was accomplished

  • Exposed consentMetadata to 3p ad
  • Exposed CONSENT_STRING macro to analytics
  • Turned on visibility-trigger-improvements experiments in canary. This experiment supports multi selector and non AMP element’s visibility trigger
  • Fixed bug on base carousel currentIndex
  • Added visual diff test for amp-carousel
  • Fixed bug on amp-autocomplete where the first focus event is not received (PR not merged due to experimentA build failure)
  • Add support to prefetch remote data in amp-autocomplete
  • Created example pages to demonstrate that <img> doesn’t work well with <amp-consent> <amp-image-lightbox> <amp-analytics> and <amp-bind>
  • Created valid and invalid <img> examples and their corresponding validator output files
  • Tested web worker behaviors in cross origin iframe/non origin iframe created by srcdoc/non origin iframe created by data:text/html) in different browsers
All details on GitHub

What's next

  • <amp-render>
  • Easy way for publishers to always serve npa
  • Add a new sandbox nodom version of worker dom
All details on GitHub

User Interface & Accessibility

Status Update Mon Nov 02 2020

What was accomplished

  • Added support for prefetch in amp-autocomplete
  • amp-sidebar layout bug fix
  • amp-render design
  • Coordinating documentation and announcements for validation changes for amp-img deprecation
  • Running worker in iframe design finalized
  • analytics-chunk experiment cleanup
  • backupCid experiment turned on in canary & prod
  • Publishers signaling to always serve NPA design finalized
  • Fixed video-analytics single percentage bug
  • Fixed RTL edge calculations bug for amp-base-carousel
  • Fixed scroll snap alignment for amp-carousel
All details on GitHub

What's next

  • amp-render finalize design
  • worker-dom in iframe implementation
  • continue talking to GA team to create design for GA4 support in amp-analytics
  • Purpose 1 consent signal
All details on GitHub

User Interface & Accessibility

Status Update Fri Oct 02 2020

What was accomplished

  • A11y Fixit Week
  • Backup CID in localStorage (in experiment)
  • <amp-list> infinite scroll performance improvement
All details on GitHub

What's next

  • TCF v2 API support
  • <amp-carousel> visual diff test
  • Validator change to support native <img>
All details on GitHub

User Interface & Accessibility

Status Update Thu Oct 01 2020

What was accomplished

Becca

  • Led Design Review for amp-img deprecation
  • Phase 1 - Approved - moving forward, digging into Validator to make img's valid amp

Caroline

  • Finalizing launch for pixi
  • Transitioning back to bento, planning for developer preview, e2e tests for carousel
  • Prototype stream-gallery

Kevin

  • Finished up tests and storybook for amp-date-countdown
  • Starting to take a look amp-accordion

Priyam

  • Led Design Review for amp-youtube (bento)
  • Prototyped amp-youtube and automated tests

Analytics - Inabox ad visibility tracking: Listen to window resize event - Enable CMP iframe to run in the background for 1 second so they can send out update after user action - Easy configuration to always serve non personalized ad - Backup CLIENT_ID in localStorage - Debugging: Analytics not loading when user scroll to the bottom fast

Lessons learned

All details on GitHub

What's next

Becca

  • Update Validator and and working on a few other components for img deprecation

Caroline

  • Thumbnails for stream-gallery
  • Go to slide issue for amp-base-gallery

Kevin

  • Continue work on amp-accordion

Priyam

  • Adding prefixes for Preact base-element
  • Starting work on amp-lightbox

Analytics - Analytics service listen to img's onload event (part of the effort of <amp-img> deprecation) - Discussion: Element level granularity consent decision support - Discussion: Pass TCF 2.0 consent string via postMessages to iframes

All details on GitHub

User Interface & Accessibility

Status Update Wed Sep 02 2020

What was accomplished

Lessons learned

All details on GitHub

User Interface & Accessibility

Status Update Tue Sep 01 2020

What was accomplished

Lessons learned

All details on GitHub

User Interface & Accessibility

Status Update Mon Aug 03 2020

What was accomplished

Kevin - Completed Design Doc for Handling Colors in Bento Social Share - Started protoype of Preact Component for amp-date-countdown (Bento)

Priyam

  • PR in review for Facebook Comments component for attribute deprecation
  • Created Design Doc for Preact Component for Facebook Comments 🎉 🎉
  • Prototype in Progress for Preact Component

Rebecca

  • Continue to work on design doc
  • Completed design review for amp-img
  • Collected examples and constructed example sets, what we'll be replacing amp-img

Lessons learned

Priyam

  • First time writing design doc @ Google!
  • Understanding structure of AMP component and AMP framework

Rebecca

  • Dev tools can be set to a particular device (such as an iphone), adjust size of screen, behave with or w/o 3G
All details on GitHub

What's next

Kevin

  • Deep dive on Handling Colors for Social Share Bento
  • Continue to build out amp-date-countdown (bento)

Priyam

  • Go over design doc in design review
  • Complete Preact Component
  • Start work on Facebook Likes Component

Rebecca

  • Continue to progress on amp-img work
All details on GitHub

User Interface & Accessibility

Status Update Sat Aug 01 2020

What was accomplished

amp-img

  • Wrote up intent-to-deprecate and presented at design review

Bento

  • Welcome Priyam 🎉 🎉 🎉 who is ramping up on AMP and Bento
  • Video docking feature
  • Prototyped two approaches to amp-inline-gallery
  • Type definitions and SVGs for amp-social-share
  • Deep dive about passthroughNonEmpty and amp-social-share

AMP page experience tool

  • Ramped up on amp.dev infrastructure, AMP linter, project architecture
  • Implemented skeleton pipeline

Display locking API

  • content-visibility: hiddenmatchable and beforematch are available in Chrome Canary, experiment with amp-accordion-display-locking here!
All details on GitHub

Lessons learned

  • AMP components are cool

What's next

amp-img

  • Acting on feedback from design review

Bento

  • Video docking performance issues
  • Design for amp-facebook-* components
  • Design doc for colors and styling in amp-social-share
  • Storybook samples for amp-social-share
  • Investigating amp-sidebar

AMP page experience tool

  • Implement 100% of checks, prepare for QA.
All details on GitHub

User Interface & Accessibility

Status Update Mon Jul 06 2020

What was accomplished

OpenJS World Summit

Bento

  • Foundational Preact prototype for amp-base-carousel
  • Documenting Bento component design principles
All details on GitHub

Lessons learned

What's next

  • Kris goes on Paternity leave again.

Bento

  • Continued progress on amp-base-carousel and friends
  • Changes in review for amp-social-share open items
  • Documentation of amp-social-share
All details on GitHub

User Interface & Accessibility

Status Update Fri Jul 03 2020

What was accomplished

Becca Worked on documents (I2I and I2D) for amp-youtube and amp-img

Kevin Bento implemented a new way of handling children, how to style the individual social share components

Caroline Working on inline gallery features for amp-base-carousel, amp-base-carousel extension is live Allowlisted amp accordion actions in email, fixed template rendering bug for ssr code

Wassim Merged a PR to allowlist select menus Has a PR in review for supporting icon fonts in amp-next-page

Lessons learned

Becca Learned about the flow required for creating new major features in amp

Kevin How shadow group works and how children function in bento

Caroline Did a WFH physical health checkup, and learned you should take a standing break every hour

All details on GitHub

What's next

Becca Design review for Amp-img and amp-youtube

Kevin Working on tests for amp-social-share

Caroline Amp-base-carousel, amp-inline-gallery, accessibility changes

Wassim Fixing as many amp-next-page issues as possible Completing transition elements

All details on GitHub

User Interface & Accessibility

Status Update Wed Jul 01 2020

What was accomplished

Alan Completed design of Video components for Bento and reviewed with Bento team

Caroline Implemented and merged Bento Carousel features including: smooth scrolling and looping Amp version of component and default arrows feature currently in review

Kevin Merged moving of handling iOS target links from AMP to Preact for Social-Share Discussed approach for color of social-share-icons and handling of children with Bento team

Wassim Reviewed Whatsapp implementation Transition out of UI team in progress In process of looking for new host for intern

Lessons learned

All details on GitHub

What's next

Alan Begin implementation of video components

Caroline Typedefs for existing bento components Continue on Carousel

Kevin Work on passthrough-non-empty children handling for bento and other Social Share features

All details on GitHub

User Interface & Accessibility

Status Update Mon Jun 08 2020

What was Accomplished

  • Alan - Workaround for virtual keyboards for datepickers inside lightboxes
  • Caroline - Added Bento support for intrinsic and responsive layout, Sizer elements now have a spot to go into shadow DOM when relevant
  • Kevin - Completed another iteration on Social-Share, removing bindings from Preact component
  • Naina - Completed recording a talk for JS Conference
  • Rebecca - Complete amp-img bug (errors were being thrown from event helper in runtime), Draft PR in progress for next bug

Lessons Learned

  • Caroline - amp-carousel:0.2 does not directly rely on amp-base-carousel
  • Kevin - Empty commits can be used to kickoff failed travis build on github, Learned more about Closure compiler and type annotations
  • Rebecca - More experience with xcode, how to edit host file, how to use travis, how to read pantheon, Learned that you can restart only the broken part of a travis build
All details on GitHub

What's Next

  • All - Fixit week!
  • Alan - Video in Bento, Amp story animation docs
  • Caroline - Prototyping carousel for bento
  • Kevin - Create a design doc for social share to document the various designs and the tradeoffs for them
  • Naina - Recording more talks (including Amp contributor summit talk)
All details on GitHub

User Interface & Accessibility

Status Update Tue Jun 02 2020

What was accomplished

  • Final changes in for <amp-social-share> in Bento

  • amp-img documentation for <img> cache transform.

  • amp-youtube ad configuration parameter.

  • amp-next-page infinite loop issue

  • Team-wide dogfooding exercise

  • Team-wide Fix-it

Lessons learned

  • A lot of stale issues
  • Lots of setbacks dogfooding!
All details on GitHub

What's next

  • OpenJS World summit next week!
  • I2I amp-youtube ad configuration parameter.
  • Launch Storybook AMP addon
  • Planning priorities for rest of the year.
All details on GitHub

User Interface & Accessibility

Status Update Sat May 02 2020

What was accomplished

Storybook 📖

  • Worked on open sourcing the Storybook addon for AMP

Bento 🍱

  • Preact modifications to SocialShare merged, ongoing discussions on AMP modifications
  • Merged initial amp-selector and amp-fit-text implementations
  • Modified PreactBaseElement to create a slot for internal AMP services, i.e. the sizer for layout=responsive
  • Bumped Bento components by a full integer (0.1 => 1.0 instead of 0.1 => 0.2)

Bugs 🐛

  • Kevin's first week on triage!! 🎉
  • amp-img missing src leads to obscure error message bug fix
  • amp-carousel:0.2 autoadvance during prerender bug fix
All details on GitHub

UX 🖥️

  • amp-lightbox and amp-image-lightbox for AMP4Email

Other

  • Validating amp-story-animation & docs

Lessons learned

  • return type of internal objects should be a struct
  • static methods inside component functions should be hoisted to improve performance (instantiation)
  • Preact props need to be quoted, otherwise they get obscured by the compiler
  • You need a computer to do things
  • Zewen doesn't like dark mode during the day -- the range of colors expressing the information hierarchy leaves more to be desired

What's next

  • modifications to amp-social-share
  • ongoing discussion & design review for lightbox in email
  • prototype carousels for Bento
  • more bugs to be fixed
All details on GitHub

User Interface & Accessibility

Status Update Tue Mar 03 0201

What was accomplished

  • Various amp-render PRs out
  • amp-next-page analytics amp-next-page-scroll bug
  • amp-tiktok e2e tests out
  • SESSION_ID macro design review
  • amp-carousel event propagation to viewer bugfix
  • US Privacy String sent to doubleclick and adsense in A4A

Lessons learned

All details on GitHub

What's next

  • Continue work on amp-render (placeholder + fallback, dynamic resizing, amp-script case)
  • SESSION_ID implementation
  • Submit amp-tiktok PRs
  • amp-img depreciation
  • User Agent Client Hints low entropy in amp-analytics
  • Demographics and Interests Analytics in amp-analytics
All details on GitHub