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

Stories

Status Update Mon Aug 01 2022

What was accomplished

AMP Story Paywall

  • 📖 amp-story-subscriptions documentation #38179
  • ✨ Validator changes to launch amp-story-subscriptions #38194

Story analytics

  • ✨ Added previous page index #38289

Story videocache

  • 🐛 Video cache doesn't add crossorigin attribute to video element #38222
  • 🔥 Apply hasAudio flag behind experiment #38285

Story localization

  • 🚀 Removed localization strings from js #38280
All details on GitHub

Story video

  • 🐛 Prerendered video unmounted fails to play #38263
  • 🐛 Prerendered video unmounted fails to play #38264

Story bodymoving

  • ✨ Support amp-bodymovin-animation on amp-story-grid-layer #38239

Story mediapool

  • 🔥 Fix videos from mediapool with noaudio don't have audio when reused. #38216

Others

  • Bad loading experience in Story: Flash of white between video poster and video playback #31358

What's next

All details on GitHub

Monetization

Status Update Mon May 09 2022

What was accomplished

Amp monetization - 2 new ad network integrations - Google ads now having top sticky ads launched

Story ads - New round of auto ad+CTA experiment being launched - New CTA button option being tested - Progress bar overflow bug fixed - Story ads click rate decrease investigation

All details on GitHub

What's next

Story ads - Await auto advance+CTA experiment results

All details on GitHub

Performance

Status Update Mon May 09 2022

What was accomplished

  • Finished work on new render blocking font loading
  • Written design document for version locking alternate binaries (such as ones without css in the JS binary)

Lessons Learned

All details on GitHub

What's Next

  • additional monitoring for server services
  • amp e2e use mjs files
All details on GitHub

Stories

Status Update Mon May 02 2022

What was accomplished

Story Preview

  • ✨ Allow all story pages and grid layers to be rendered in preview mode #38030
  • ✨ Enable stories to play when in preview mode #38121
  • 🐛 Enable amp-video to play in preview mode #38149

amp story 360

  • 🐛 Remove GL context handling #38144

Amp story captions

  • Allow Players to get/set the captions state #37898
  • Render video captions with amp-story-captions when in an amp-story doc and served from cache #37899
  • Implement default, overridable CSS #37900
  • ✨ style-preset attribute with styles #37967
  • ✨ get and set captions state from viewer #38009

i18n

  • Do not use concatenation in localizable UI strings #38060

amp story shopping

  • 📖 documentation #37987
  • 🌐 i18n "reviews" string capitalization description #38032
  • 📖 CTA casing in docs. Remove "draft" from doc metadata. #38119
All details on GitHub

amp-story-shopping

  • Allow for a custom cta #38080
  • Make call to action case consistent #38082

Story attachment

  • 🐛 Fix cta-image=none showing link icon #38109

Story system-layer

  • ✨ Add CC Icon that toggles captions #37884

amp-animation

  • ✨ Adds a new attr that allows to override pan scaling factor. #37965

Others

  • amp-story-cta-layer I2D #34450
  • 🚀 amp-story: Use Services.urlForDoc instead of util functions #38026
  • 🐛 amp-story-shopping does not display CTA if all tags are invalid and Fixes remote shopping data loading on refresh with page attachment open #38035
  • 🌐 amp story shopping "Shop now" CTA casing #38096
  • 🧪 Experiment: story auto advance and new cta button #38097
  • 🐛 Move directories of md files for broken links (story-shopping, story-page-attachment, story-page-outlink) #38134
  • Added the possibility to get page count to the story messaging api #38170

What's next

  • amp story captions update docs #38146
  • amp-video cache through amp-orig-src #37425
  • Bad loading experience in Story: Flash of white between video poster and video playback #31358
All details on GitHub

Monetization

Status Update Mon May 02 2022

What was accomplished

Story ads - Fixed the issue that the progress bar appears while seeing ads

All details on GitHub

What's next

Story ads - auto advance+CTA experiment restarts next week

All details on GitHub

Stories

Status Update Fri Apr 08 2022

What was accomplished

amp-animation

  • ✨ Adds a new attr that allows to override pan scaling factor. #37965

Story performance

  • Not load all page attachment images when loading story #35534
  • Lazy-load non-critical extensions #37680
  • 🚀 Fix CLS caused from AMP runtime CSS showing story before amp-story.css #37990

Story animations

  • 🐛 Center vertical panning #38017

amp-story-shopping

  • Add productDescription to all templates and max length #37993

amp story captions

  • 🐛 Close voice tags in example html .vtt files #37977

Page Attachments

  • 🚀 Ensure that the page attachment container is not inadvertently rendered by the AMP Resources manager #37961
  • 🖍 Add the 'Read more' string for translation #37991
All details on GitHub

amp story shopping

  • documentation #37894
  • ♻️ Change "vendor" to "brand" #37958

amp story page attachment

  • 🐛 add path metadata docs #37988

AMP Story Paywall

  • ✨ Handles grant status and show/hide paywall dialog in amp-story-subscriptions #37892

Story analytics

  • 🐛 Fix prerender analytics not firing #37975

Story localization

Others

  • ♻️ Story: refactor to treat story ad pages as story pages #37940
  • 🚀 amp-story: Use Services.urlForDoc instead of util functions #38026

What's next

All details on GitHub

Performance

Status Update Sat Apr 02 2022

What was accomplished

  • created document for render blocking font loading
  • added render blocking font loading classes (to be reviewed)

Lessons Learned

All details on GitHub

What's Next

  • additional monitoring for server services
  • amp e2e use mjs files
  • design document for version locking alternate binaries (such as ones without css in the JS binary)
All details on GitHub

Performance

Status Update Fri Apr 01 2022

What was accomplished

  • amp story translations server changes design document
  • amp-story request transformer changes to handle translation language fallback

Lessons Learned

All details on GitHub

What's Next

  • amp e2e use mjs files
  • design document for version locking alternate binaries (such as ones without css in the JS binary)
All details on GitHub

Stories

Status Update Wed Mar 02 2022

What was accomplished

amp story page attachment

  • CTA tab-able inline CTA #37933

video cache

  • ✨ Append captions track from cache response #37893

Story localization

  • ✨ Fetch strings for localization files if in experiment #37843
  • ✨ Localize system layer async #37870

Story performance

  • 🚀 Remove FOUT on font loading of amp-story-education #37928
  • 🚀 Remove CLS from system layer when adding buttons #37929
  • 🚀 Set disabled animation on first page to 1 #37157
All details on GitHub

Observable

  • ✨ Make observable safe to remove handler while firing. #37887

Story system-layer

  • 🚮 Removing unused storyHasAudio state property #37220

amp story shopping

  • Remove multi line border radius code #37808
  • ✨ Change productBrand to productVendor and make it optional #37897

What's next

  • Launch amp-story-shopping (analytics, validation & documentation)
  • amp-story-captions (customizable CSS with smart default, automatically use amp-story-captions component)
All details on GitHub

Monetization

Status Update Wed Mar 02 2022

What was accomplished

Amp monetization - Added synchronous UACH macro for amp-ad-exit use - Analysis of top sticky ads metrics

Story ads - Refactoring story pages to include ad pages - Analyzing a regression happened on story ads performance

All details on GitHub

What's next

Amp monetization - Ads auto advance launch

Story ads - Ads progress bar visual update - Different ads performance analysis

All details on GitHub

Performance

Status Update Wed Mar 02 2022

What was accomplished

Lessons Learned

All details on GitHub

User Interface & Accessibility

Status Update Tue Mar 01 2022

What was accomplished

Alan * OOO This sprint

Beck * Presented Bento resize guard at design review

Dhruv * Investigated changes required for amp-analytics to be compatible with GA4 * Investigated bug relating to amp-img and amp-render

Keshav * Maintainance work on tests, such as remap dependencies, enhancements to standalone unit tests and e2e tests

William * Worked with formidable on their porting of bento PRS

Lessons learned

All details on GitHub

What's next

  • Implement bento resize guard
  • Launch mustache support for bento date display and date countdown web components
  • Upgrade mustache in third_part/
  • Continue to enhance testing
All details on GitHub

Stories

Status Update Tue Mar 01 2022

What was accomplished

Story localization

  • ✨ Use inlined JSONs for localization bundles #37836

Story attachment

  • 🐛 Opening outlink error for closeButton being null #37833
All details on GitHub

amp story shopping

  • PDP Details section open / closing state setting #37763
  • Support newlines in productDescription #37787
  • 🖍 Border radius on single image in RTL #37803
  • ✨ Optionally render rating #37805
  • Error when loading story on page that uses remote data #37749

What's next

  • Shipping the shopping components
  • Finish story subscriptions component
  • Lazy load localization strings
All details on GitHub

Monetization

Status Update Tue Mar 01 2022

What was accomplished

Amp monetization - Fixed a Google Ads issue breaking ads' FIE rendering - Auto advance launch experiment data analysis

Story ads

All details on GitHub

What's next

Amp monetization - Ads auto advance launch

Story ads - Ads progress bar visual update

All details on GitHub

Performance

Status Update Tue Mar 01 2022

What was accomplished

Lessons Learned

All details on GitHub

Monetization

Status Update Wed Feb 02 2022

What was accomplished

Amp monetization - Auto ads to allow vendors to modify remote ads config - Fix viewer and top sticky ads conflict: now the ads will show below the anchor

Story ads - Ad badge and icon position update PR

All details on GitHub

What's next

Story ads - New design: Move the ad badge to bottom - Auto advance launch - Ads progress bar visual update

All details on GitHub

Performance

Status Update Wed Feb 02 2022

What was accomplished

Lessons Learned

All details on GitHub

Stories

Status Update Tue Feb 01 2022

What was accomplished

Story video

  • 🚀 Use the inlined video response instead of issuing an XHR request, for the 1st video of the 1st web story page #37499

Story documentation

  • 📖 Fix page attachment docs location #37669

amp story page attachment

  • 🖍️ Box shadow on header #37579
  • 🐛 fix attribute typo on CTA active toggle #37633
All details on GitHub

amp story shopping

  • Product tag functionality #36734
  • Attachment template logic #36735
  • PLP template logic #36736
  • PDP template logic #36738
  • PDP carousel #37091
  • 🐛 Do not render shopping CTA if no shopping tags are on the page #37503
  • ✅ Move i18n CTA label logic into shopping-attachment component #37515
  • ♻️ Rename tag-id to product-id #37527

Others

  • 🖍 Added shopping tag flip on too far position to the right #37195
  • ✨added camelCase to amp-story-shoppping component #37533
  • 🐛 amp-story-shopping Added correct margins for RTL mode #37568

What's next

  • Shopping Dev Preview
  • Amp story subscriptions (paywall)
  • Performance
All details on GitHub

Monetization

Status Update Tue Feb 01 2022

What was accomplished

Amp monetization - Vendor config updates

Story ads - Ad badge and icon position update - New analytics macro update: experiment started - Auto advance launch starting

All details on GitHub

What's next

Amp monetization - Fix the top sticky ads/viewer banner conflict issue

Story ads

All details on GitHub

Performance

Status Update Tue Feb 01 2022

What was accomplished

Lessons Learned

All details on GitHub

Stories

Status Update Tue Jan 04 2022

What was accomplished

Performance

  • 🧪 Lazy load share menu on desktop on-demand #37044
  • 🚀 Disable animations on first page if story is transformed #37135
  • ♻️ Extract performance service into variable #37137
  • 🚀 Remove unused strings from localization bundles #37229
  • 🚀 Remove share menu from main amp-story bundle #37235
  • 🌐 Removed sound text localizations after removal from system layer #37218
  • 🚀 Move share menu to separate bundle #37179

Pagination buttons

  • 🐛 Pagination forward button visibility state #37098

Shopping

  • Set active product data in store service #37013
  • Optional product-tag-text for shopping tag #37105
  • 🖍 Prevent shopping tag dot and image from shrinking #37149
  • Currency i18n #37246
All details on GitHub

System layer icons

  • 🖍 Replaced icons and styles #37122

Videos

  • ✨ Added ACAO headers #37160

What's next

  • Reduce bundle size further with more removal of page-attachment ui, localization strings, and CSS
  • Work on shopping tags and attachment
  • Make system layer more responsive, add CC icon and update "Ad" tag
All details on GitHub

Monetization

Status Update Tue Jan 04 2022

What was accomplished

Amp monetization - Web interstitial implementation PR

Story ads - Ad badge overlapping with close button fix

All details on GitHub

What's next

Amp monetization - Incoming ad network integrations

Story ads - Discover more ways for publishers to monetize - Story ads meta analytics tag implementation

All details on GitHub

Performance

Status Update Tue Jan 04 2022

What was accomplished

  • 🚀 Launched amp-story inlining css experiment.
  • 🐛 Fix "latestVersion" bug in amp-toolbox.
  • 🧪 Created tests for amp-toolbox AmpStoryCssTransformer in regards to LTS.
  • 💅 Add TS to Core and Bento.
  • 🚀 Migrated build system to esbuild.
  • 🐛 Fixes for AMP LCP for various LCP issues in amp-analytics.
All details on GitHub

What's Next

  • Manual testing for amp-geo experiment
  • Amp cache url rewriting code in amp-toolbox
  • Typechecking more Bento directories
  • WASM Jolt prototype
All details on GitHub

Stories

Status Update Mon Jan 03 2022

What was accomplished

amp story shopping

  • PLP template presentational structure and styling #36732
  • 🐛 shopping CTA label fix #37502

Story analytics

  • 📖 Use amp-story-share-menu for share analytics #37475
  • ✅ Add test to check sharing happens with the right tag and eventType #37488

Amp story page attachment

  • Refreshing page while attachment is open throws error. #37430
All details on GitHub

Story video

  • ✨ Check if cache response contains audio #36283

Story performance

  • 🚀 Remove interactive host styles #37472

amp story

  • 🐛 Change toggleAttribute to set/removeAttribute #37420

What's next

  • Shopping PLP and tags
  • Amp story subscriptions (paywall)
  • Performance
All details on GitHub

Performance

Status Update Mon Jan 03 2022

What was accomplished

Lessons Learned

All details on GitHub

User Interface & Accessibility

Status Update Sat Jan 01 2022

What was accomplished

  • Fixed long outstanding bug where client id is missing on next page in viewer (#36984)
  • Continue work on Bento refactor to update the class hierarchy for Bento & AMP components
  • Continue work on React storybook tests

Lessons learned

All details on GitHub

What's next

  • Build and publish @bentoproject/core
  • Remove bento experiment flag
  • Start Investigating bento-analytics, bento port of amp-analytics
  • Finish React storybook tests
All details on GitHub

Stories

Status Update Sat Jan 01 2022

What was accomplished

Story performance

  • 🚀 Move building share menu to share-menu.js #37209
  • 🚀 Move open page attachment UI to extension #37278
  • 🚀 Remove logging and development UI from the amp-story bundle #37279
  • 🚀 Remove affiliate links #37280
  • 🚀 Remove story access #37281

Story attachments

  • 🐛 Fix attachment Firebase demos #37335

Story system layer

  • 🖍 New ad badge #37311
  • ⏪ Audio icon disappears when story has background audio #37314

amp story

  • 🐛 Replay/next page button bug fix #37316
All details on GitHub

amp story shopping

Story documentation

  • 📖 Cleanup experiment descriptions #37290

Others

  • Reduced area of amp-story-attachment #37234
  • ❄️ Skipping failing test for viewer #37245

What's next

  • Bad loading experience in Story: Flash of white between video poster and video playback #31358
  • [Story video] Check if cache response contains audio #36283
  • amp-story-player: previous and next story buttons not visible in Safari #37211
All details on GitHub

Monetization

Status Update Sat Jan 01 2022

What was accomplished

Amp monetization - Web interstitial user experience discussion

Story ads - Ad badge overlapping with close button fix UX discussion - New analytics macro proposal: used for story ads
- Analyzed story ads apparent regression - amp-img server side rendering launched on Google transformer

All details on GitHub

What's next

Amp monetization

Story ads - Discover more ways for publishers to monetize - Story ads meta analytics tag implementation

All details on GitHub

Performance

Status Update Sat Jan 01 2022

What was accomplished

Lessons Learned

All details on GitHub

Monetization

Status Update Mon Dec 06 2021

What was accomplished

Amp monetization - Web interstitial implementation PR

Story ads - Decided: add story ads meta tags for analytics purposes - Investigated reported story ads bugs

All details on GitHub

What's next

Amp monetization - Web interstitial use storage review: for frequency capping - 3p iframe going to have a deterministic subdomain

Story ads - Discover more ways for publishers to monetize

All details on GitHub

Performance

Status Update Mon Dec 06 2021

What was accomplished

Lessons Learned

All details on GitHub

Monetization

Status Update Mon Nov 08 2021

What was accomplished

Amp monetization - amp-ad sticky ad query parameter fix and auto hiding fix for doubleclick - Reviewed proposals for Bento Google Ads

Story ads - Ads CTA missing investigation

All details on GitHub

What's next

Amp monetization - Web interstitial implementation - Ads transformer: experiment with amp-pixel server-side rendering removal

Story ads - Collect story metrics from traffic using Adsense/DoubleClick

All details on GitHub

Performance

Status Update Mon Nov 08 2021

What was accomplished

Lessons Learned

All details on GitHub

User Interface & Accessibility

Status Update Fri Nov 05 2021

What was accomplished

  • move shared dependencies into bento.js
  • e2e testing of bento standalone components
  • preparation for bento launch
  • refactoring stories templating to use JSX (instead of htmlFor() and other templating strategies)

Lessons learned

All details on GitHub

What's next

  • release Bento (🎉)
  • bentojs.dev + next.js app for documenting bento usage
All details on GitHub

Stories

Status Update Fri Nov 05 2021

What was accomplished

Story performance

  • 🚀 Remove default translation and use english as default #36632
  • 🚀 Rewrite styles only on desktop one-panel or bot rendering #36692
  • 🚀 Remove media query matcher #36747

amp story shopping

amp story page advancement

  • ♻️ handle clicks on drawer #36715
All details on GitHub

Story

  • storyContentLoaded event doesn't fire when loading story on page index != 0 #36571

Others

  • ✨ Add volume attribute to amp-video for use in amp-story-page #36693
  • 🐛 Added back JS for vh #36719

What's next

  • Continued work on the story shopping initiative
  • Investigation of technical approaches for embedding stories
  • Investigation of compatibility of amp-subscriptions in amp-story
  • Investigation of performance and user experience improvements for initial page load
All details on GitHub

Stories

Status Update Tue Nov 02 2021

What was accomplished

Amp story shopping

  • Get and set JSON data #36699
  • Add Object typedef for shopping data #36911
  • ♻️ Attachment as element child #36989

Story performance

  • 🚀 Use dvh if available, instead of vh #37003

Story responsiveness

  • 🐛 Need to overflow visible with presets #36912

Story audio

  • 🖍 Move audio equalizer from video to story system layer #36264

Documentation

  • 📖 Added amp-video documentation that cache is not compatible with crossorigin #36772

amp story 360

amp story panning media

  • 🚮 Remove unnecessary private variable #36846
  • ♻️ implicit returns #36930

Hint: hit control+c anytime to enter REPL.

What was accomplished

Amp story shopping

  • Get and set JSON data #36699
  • Add Object typedef for shopping data #36911
  • ♻️ Attachment as element child #36989

Story performance

  • 🚀 Use dvh if available, instead of vh #37003
All details on GitHub

Story responsiveness

  • 🐛 Need to overflow visible with presets #36912

Story audio

  • 🖍 Move audio equalizer from video to story system layer #36264

Documentation

  • 📖 Added amp-video documentation that cache is not compatible with crossorigin #36772

amp story 360

amp story panning media

  • 🚮 Remove unnecessary private variable #36846
  • ♻️ implicit returns #36930

amp-story-page-attachment

  • ♻️ revise cta text in docs #36426

Story documentation

  • 📖 Update embedded components documentation #36904

Story embeds

  • 🚀 Remove support for expanded components like amp-twitter #36851

rel=stylesheet

  • ✨Allow link which points to the amp-story-1.0.css in a transformed amp document #36844

Others

  • Web Stories preview in FireFox browser has virtual devices spilling off screen #36964

What's next

  • ✨ [Story interactive] Enable interactive disclaimer dialog
  • 🐛 [Story performance] Disabling animations on initial page when first loaded
  • ✨ [Story video] Check if cache response contains audio
  • 🚀 [Story performance] Removed duplicated share styles [WIP]
  • 🚀 [Story performance] Only change dvh if the transformer doesn't do that already. Bad loading experience in Story: Flash of white between video poster and video playback
All details on GitHub

User Interface & Accessibility

Status Update Sat Oct 02 2021

What was accomplished

  • Manual verification of Bento standalone mode + updating snippets in README
  • E2E testing of Bento standalone mode
  • bento-timeago
  • bento-youtube
  • bento-fit-text
  • Shipping Bento standalone as part of NPM
  • Shipping bento.js
  • Remove dist/ from z-index CSS checks

Lessons learned

All details on GitHub

What's next

  • Moving shared dependencies into bento.js
  • Rendering dynamic templates in Standalone mode without Mustache
  • AMP implementation of dailymotion in Bento
All details on GitHub

Stories

Status Update Sat Oct 02 2021

What was accomplished

Story performance

  • 🚀 Move aspect-ratio logic to CSS for styling #36061
  • 🚀 Add css to show story from beginning #36333

amp-story-page-outlink

  • 🐛 Force page outlinks to use target='_top' in order to prevent navigation from breaking on Safari #36428

story-ads

amp story 360

  • 🚮 Remove unnecessary .then statement #36409

Story documentation

  • 📖 Added that autoplay is required on videos #36398
All details on GitHub

Story devtools

  • 🐛 Fixed validator not loading #36404

Story loading

  • 🐛 Send storyContentLoaded during prerendering #36307

Amp story panning media

  • 🐛 Set width and height of amp img element #36340

desktop one page

  • 2021-background preset not optimally aligning #35796

What's next

  • Shopping experience development -LCP improvements
All details on GitHub

Monetization

Status Update Sat Oct 02 2021

What was accomplished

Amp monetization - amp-lightbox amp-ad sticky css conflict fixed - amp-ad sticky attribute validator updated to allow top and bottom-right - amp-ad sticky ad query parameter fix and auto hiding fix for doubleclick

Story ads - Analytics timestamp missing issue is fixed - Exploration of ideas to loosen amp ads requirement - Fixed bug with yellow progress bar not filling correctly - Fixed bug around using top=_blank on swipe

All details on GitHub

What's next

Amp monetization - sticky ad experiment restart - Web interstitial ads frequency capping discussion

Story ads - Analytics redesign - Run auto-advance with new CTA to monitor impact - Finish doc for adding new inventory - New demo page for opt-in experiments

All details on GitHub

Performance

Status Update Sat Oct 02 2021

What was accomplished

Lessons Learned

All details on GitHub

Stories

Status Update Fri Oct 01 2021

What was accomplished

Story performance

  • 🖍 Set css units on desktop for supports-landscape and regular one-panel #36033
  • 🖍 Remove standalone classes #36127

Story video

  • Add codec information received from video cache #36228
All details on GitHub

amp-story-panning-media

  • 🐛 Set width on amp-img el #36217

Others

  • 🚮 Clean up dead amp-sidebar code within stories #36178
  • 🧪 Set animations experiment to 0 #36248
  • amp-story-shopping design document.

What's next

  • Developing amp-story-shopping design document
  • Story video codec development
All details on GitHub

Monetization

Status Update Fri Oct 01 2021

What was accomplished

Amp monetization - Sticky ads gutter launched - amp-sticky-ad to amp-ad upgrade experiment ran again: better-performing than before-fix, but still needs investigation - amp-auto-ads supports inserting top sticky ads - Resolving big backlog of new network integration PRs

Story ads - Analytics redesign discussion - Auto-advance launch analysis

All details on GitHub

What's next

Amp monetization - amp-sticky-ad to amp-ad upgrade experiment investigation - Fast fetch ad network timestamps

Story ads - Analytics redesign - Analytics timestamp investigation - Run auto-advance with new CTA to monitor impact

All details on GitHub

Performance

Status Update Fri Oct 01 2021

What was accomplished

Lessons Learned

All details on GitHub

Bento

Status Update Fri Oct 01 2021

What was accomplished 🍱

  • bento cdn & npm builds + bento css
  • documentation
  • e2e testing
  • knowledge transfer
All details on GitHub

What's next ⏩

  • amp-jwplayer
  • amp-analytics
  • more components
All details on GitHub

Stories

Status Update Thu Sep 02 2021

What was accomplished

Attachment Forms

  • 🖍 Shorten the width of the publisher domain label #36114
  • ✨ Create status indicators that display the page attachment form's submission status #36039

Amp story player

  • ✨ Launch panel player #35423

Panning media

  • Validation #31506
  • Handle base zoom of aspect ratio wider than image #31515

Story interactives

  • 📖 Added docs for info dialog #36079
All details on GitHub

Story performance

  • 🖍 Added CSS rules for units, and exaple stories #36007

Video

  • fallback on origin sources if request to video cache fails #36071

Others

  • Amp-story translations #35333
  • 🖍 Restrict page attachment sticky header to non-iOS, non-Safari surfaces #36133

What's next

  • Amp story shopping technical design
  • LCP improvements
All details on GitHub

Monetization

Status Update Thu Sep 02 2021

What was accomplished

Amp monetization - Sticky ads gutter code complete (120px wide, on viewport >1024px wide) - amp-sticky-ad to amp-ad upgrade experiment fix - attribution-reporting work code complete in viewer

Story ads - Pipeline fixes - Analytics improvements docs

All details on GitHub

What's next

Amp monetization - Web interstitial new design to be on the design review

Story ads - Launch new placement algorithm - Creative type based analytics

All details on GitHub

Performance

Status Update Thu Sep 02 2021

What was accomplished

Lessons Learned

All details on GitHub

Bento

Status Update Thu Sep 02 2021

What was accomplished 🍱

  • amp-reddit: testing
  • amp-iframe: implement viewability feature
  • amp-mathml: converted to Bento
  • amp-lightbox-gallery: bug fixes
  • worker-dom: improving performance
  • more documentation!
All details on GitHub

What's next ⏩

  • amp-dailymotion: converting to bento
  • amp-analytics: converting to bento
  • amp-jwplayer: converting to bento
  • publishing bento packages to npm
All details on GitHub

Stories

Status Update Wed Sep 01 2021

What was accomplished

Story performance

  • 🚀 Set "load first page only" experiment to 50% #35770
  • 🚀 Set up story prestyle #35829
  • ♻️ Simplify templates CSS by using attr instead of class #35861
  • 🚀 Set load first page only experiment to 1 #35970

Story animations

  • 🐛 Fix prerender resume animation #35987

Story videos

  • 📖 Add video documentation for Google cache #35609

Story images

  • On iOS 15 stories, long pressing on images expands the image #35381
All details on GitHub

Amp story page attachment

  • 🐛 Propagate title attribute to draggable drawer header #35863

Animation presets

  • Desktop panels mode, start animations after page transition #29753

Others

  • amp-story-page-outlink default value for cta-accent-color attribute #34983
  • Pause button on story player not functional #35640
  • 🐛 Reset page attachment scroll position upon attachment close #35778
  • Remove desktop 3 panel UI and associated code. #35623
  • Resolve ScreenOrientation lock Illegal invocation error on Chrome #35659
  • 🐛 Toggle desktop attribute on tooltip overlay #35772

What's next

  • Shopping integration in stories
  • Translated strings update
All details on GitHub

Monetization

Status Update Wed Sep 01 2021

What was accomplished

Amp monetization - attribution-reporting e2e testing

Story ads - Ecosystem analytics improvements - New CTA experiment starting - auto-advance launch rollout

All details on GitHub

What's next

Amp monetization - attribution-reporting support across different viewers - web interstitial ads

Story ads - Monitor new CTA performance - Scoping auto-generated DV3 ads

All details on GitHub

Performance

Status Update Wed Sep 01 2021

What was accomplished

  • did investigatory work for non amp team [internal]

Lessons Learned

All details on GitHub

What's Next

  • get baseline performance numbers for amp-story
  • possibly incorporate changes needed to accomodate stories requirement for SemiTransformedDocument
All details on GitHub

Bento

Status Update Wed Sep 01 2021

What was accomplished 🍱

Components

  • BentoDailymotion code complete
  • useIntersectionObserver custom hook merged and in use by amp-timeago, amp-iframe
  • BentoCarousel bug fixes in RTL support
  • Added support for toggling placeholder and fallback and consumed in AMP mode ampproject/amphtml#35821
  • Renamed Bento Preact components to be Bento prefixed
All details on GitHub

Tooling

  • Ongoing Storybook migration from knobs (deprecated) to controls
  • Storybook doc updates to testing.md and styling recommendations
  • Fix for eslint-plugin-react where it would consider lowercase names (<div>) as used variables https://github.com/yannickcr/eslint-plugin-react/pull/3070
  • README.md files created for npm publishing for existing Bento components

What's next ⏩

  • Build extension twice for Bento vs. AMP Web Components (bento-.js and amp-.js)
  • Last mile bits for documentation following last sprint
  • amp-mathml/bento-mathml/BentoMathml continued progress
  • amp-dailymotion/bento-dailymotion continued progress
All details on GitHub

Stories

Status Update Tue Aug 03 2021

Amp story

  • Resolve ScreenOrientation lock Illegal invocation error on Chrome #35659
  • 🐛 Toggle desktop attribute on tooltip overlay #35772

Story performance

  • 🚀 Set "load first page only" experiment to 50% #35770

Animation presets

  • Desktop panels mode, start animations after page transition #29753
All details on GitHub

Others

  • Pause button on story player not functional #35640
  • 🐛 Reset page attachment scroll position upon attachment close #35778
  • [Page Attachment Forms] Remove the soft keyboard from view when the page attachment is closed #35798 (PR pending)

What's next

  • Remove desktop 3 panel code #35623
  • [Panning media] support portrait images and officially launch #31515
  • [Story video] Optimize media play/pause operations on page navigation #29508
  • [Story performance] Set up story prestyle #35829
  • Allow amp-form in Story Page Attachments #35569
All details on GitHub

Performance

Status Update Tue Aug 03 2021

What was accomplished

Lessons Learned

All details on GitHub

Stories

Status Update Mon Aug 02 2021

What was accomplished

Story performance

  • 🚀 Make inactive pages not trigger LCP #35323
  • 🚀 Disable animations in first page under experiment #35356
  • 📖 Not turn off experiment on example story on visibility if hashString is not present #35417

Story interactive

  • Add support for emojis on the slider #35113
  • 🖍 Color Logic for A/B/C/D Bubbles for Image Quizzes #35174
  • 🐛 Post-Selection Fill Bug Fix for Image Quizzes and Polls #35274
  • 🐛 Fix Post-Selection Animation Inaccuracies for Image Quizzes #35292
  • ✨ Activate interactive disclaimer and add documentation #35293
  • 🖍 Text Shadow for Percentage Text for Image Quizzes and Polls #35324
  • Disable overlay on slider when dragging on mobile #35358
  • ✅ Add Image Quizzes and Polls with Invalid Endpoints to Examples #35359
  • ✨ Scaffolding for New Results Component #35400
  • 🖍 Styling for Image Quizzes and Polls with Missing Images #35420
  • 🖍 Adapt slider styles to work on Firefox #35432
  • RTL support #35340

Amp story player

  • Experiment setup #34953
  • ✨ Hide buttons if full-bleed story. #35397
  • amp-story-desktop-one-panel player swipe-ability desktop UX #35268
All details on GitHub

Video

  • Track video-cache experiment through CSI. #35242
  • Unify CacheState tracking for both legacy and remote video caching systems. #35252
  • Prerender and preload remote video cache. #35272
  • Only serve evergreen non cached video sources to crawlers. #35357
  • Experiment to limit max video bitrate on first page of a story. #35389

Others

  • Cannot use SVGs with <feBlend> in stories #35430
  • Improve screen orientation locking for stories #35478
  • amp-story-desktop-one-panelbackground-blur Include videos in selector #35131

What's next

  • Documentation / validation and launch of new interactive components (image quiz & polls / slider)
  • Desktop one panel launch
  • Video improvements
  • iOS15 bug fixes
All details on GitHub

Monetization

Status Update Mon Aug 02 2021

What was accomplished

Amp monetization - Web interstitial ads design review - f.js deprecation notice started to be sent out

Story ads

All details on GitHub

What's next

Amp monetization - Server-sider controlled experiment of rendering amp-sticky-ad with amp-ad ramping up this week - Further work on web interstitial ads UI - Left/right sticky ads experimental support w/ a conservative size limit

Story ads

All details on GitHub

Performance

Status Update Mon Aug 02 2021

What was accomplished

Lessons Learned

All details on GitHub

Bento

Status Update Mon Aug 02 2021

General updates 🆕

  • Welcome to the team @kvchari 🎉 🎉 🎉

What was accomplished 🍱

  • amp-audio implementation has begun
  • amp-brightcove port complete
  • amp-copy implementation has begun
  • amp-dailymotion port in progress (Preact layer done)
  • amp-iframe investigation against native iframe - findings
  • amp-lightbox-gallery port complete, barring gestures feature
  • amp-sidebar port complete, also barring gestures feature
  • amp-render launch follow-up bug fixes
  • amp-twitter placeholder bug fix
All details on GitHub

What's next ⏩

  • amp-analytics early investigations and design
  • amp-audio continued progress
  • amp-copy discussion at design review
  • amp-dailymotion port in progress (AMP layer)
  • amp-iframe continued progress
  • Investigate existing gestures library and solutions going forward in Bento
All details on GitHub

User Interface & Accessibility

Status Update Sun Aug 01 2021

What was accomplished

  • Fixed two amp-render issues re: single template root element.
  • Autoplay workaround for amp-dailymotion (Classic)
  • amp-consent:
  • Remove two old experiment flags.
  • Allow SOURCE_URL substitution.
  • Support CONSENT_INFO and CONSENT_PAGE_VIEW_ID_64
  • Investigate promptUI flashing issue, design for a new API to prevent it.
  • Clearing up undefined behavior for amp-story-consent
  • Remove redundant amp-story check for amp-audio actions
  • Fix CSS selector leaking into rendered amp.dev examples
  • Forbidden terms maintenance
  • Progress on Bento ports and compatibility:
  • amp-iframe resizing
  • amp-analytics design
  • Port of amp-dailymotion
  • Port of amp-reddit

Lessons learned

All details on GitHub

What's next

Kidist leaves us this week. Make sure to say goodbye!

  • Finishing features for amp-iframe (intersection entries)
  • Fix for an amp-next-page issue
  • Progress on Bento ports and compatibility:
  • amp-iframe resizing
  • amp-analytics design
  • Port of amp-dailymotion
  • Port of amp-reddit
  • Building separate bento-* binaries
  • amp-consent: Support relabeling of post-prompt button according to server response.
All details on GitHub

Stories

Status Update Sun Aug 01 2021

What was accomplished

Story performance

  • Disable animations on first page to 50% #35476
  • Added load outside viewport to experiments #35548
  • Set "load inactive pages outside viewport" experiment to 0.5 #35653

Amp story

  • Activate desktop one panel experiment to 1. #35453
  • Null check on screen.orientation #35639

Story sidebar

  • Removed sidebar from docs #35616

Page attachments

All details on GitHub

AMP Story Docs

  • Animation information hard to find #35398

Story Player

  • Swipe animation appears to be broken on some integrations #31193

Others

  • Amp Story Desktop One Panel I2I #34479
  • Amp Story Desktop One Panel I2S #35267
  • amp-story-desktop-one-panel background-blur Do not support images with transparency. #35441

What's next

  • Launch performance experiments
  • Launch new interactive components
  • Launch forms in page attachments
All details on GitHub

Monetization

Status Update Sun Aug 01 2021

What was accomplished

Amp monetization - Investigating an issue reported with respect to ads on Safari 11 - User agent client hint parameters proposed and implemented - Permitting ad attribution reporting - Correct Doubleclick extension ad request parameters for amp-ad sticky ads - Clean up amp-ad vendor list on amp.dev (Adding missing ones) - Preventing high-frequency repeated ad resizing requests

Story ads

All details on GitHub

What's next

Amp monetization - Follow-up work on web interstitial ads - Restarting amp-sticky-ad to amp-ad experiments

Story ads

All details on GitHub

Performance

Status Update Sun Aug 01 2021

What was accomplished

Lessons Learned

All details on GitHub

Bento

Status Update Sun Aug 01 2021

What was accomplished 🍱

  • Auto-envelope is ready
  • amp-analytics:0.1 feature scoping and design discussions
  • amp-facebook-* components now valid AMP
  • amp-iframe runtime-less dynamic resizing via IntersectionObserver in progress https://github.com/ampproject/amphtml/pull/35566
  • amp-ima-video in progress
  • Preparing example documentation for React/Preact and Bento modes
  • ProxyIframeEmbed extrapolation from AMP-specific runtime dependencies (build constants, getMode, etc.)
All details on GitHub

What's next ⏩

  • amp-analytics Services inventory and investigation
  • amp-dailymotion WIP
  • amp-iframe WIP
  • amp-ima-video WIP
  • amp-reddit WIP
  • React/Preact compatibility improvements
All details on GitHub

User Interface & Accessibility

Status Update Wed Jul 07 2021

What was accomplished

  • amp-render is code-complete. 🎉
  • amp-tiktok is code-complete. 🎉
  • Finishing up session support on amp-analytics.
  • Finishing up multiple element selection for video events on amp-analytics.
  • Bugfixes on amp-next-page and amp-analytics
  • Support new Set(iterable) on IE
  • Fixed html-template lint rule for invalid multiline self-closing tags, and auto-fix related SVG tags.

Lessons learned

All details on GitHub

What's next

  • Port amp-iframe to Bento.
  • amp-carousel issue on iOS 15.
  • amp-dailymotion to Bento.
  • Land Auto-Envelope to run components without v0.js
  • Generically propagating browser events as analytics events
All details on GitHub

Performance

Status Update Wed Jul 07 2021

What was accomplished

Lessons Learned

All details on GitHub

Bento

Status Update Wed Jul 07 2021

What was accomplished

  • auto envelope changes to use restrictive methods
  • IE polyfill for new Set
  • amp-lightbox-gallery basic, grouping, captioning, and uniqueness features
  • forceChangeHeight -> attemptChangeHeight in Bento components for the AMP layer
  • started on amp-iframe
  • amp-render final launch bits, including resizeToContents, validations, and blog
  • amp-tiktok is merged
  • getting Bento compiler thread safe
  • Remove amp-viz-vega
  • Consolidating amp-facebook discussed at design review + implementation
  • overflow support in PreactBaseElement
All details on GitHub

What's next

  • taking over GA4
  • land auto-envelope, going to split work to restrictive access of this methods
  • amp-lightbox-gallery video support, analytics events, and validations
  • AMP 0.1 component changes over the next few weeks to extract from their buildCallbacks - separating pieces that modify DOM, including amp-fit-text
  • amp-dailymotion implementation
All details on GitHub

User Interface & Accessibility

Status Update Thu Jul 01 2021

What was accomplished

  • Progress on propagating browser events to Analytics.
  • Bento amp-iframe ongoing (base PR, placeholder behavior)
  • Fixed skipped tests in amp-titkok
  • Verified iOS scroll snap bug on amp-carousel
  • Fixed Storybook issue with ~ in output filenames
  • Fixed broken z-index formatting, and generating it

Lessons learned

Some WebKit changes are upstreamed only on browser betas, and some of the introduced bugs appear on iOS only. It's important to run manual testing passes on iOS betas before release.

All details on GitHub

What's next

(@dmanek OOO this week) (@alanorozco is Build Cop)

  • Bento amp-iframe: resizing at runtime and consent data
  • Bento amp-dailymotion
  • Land propagating browser events
  • GA4
All details on GitHub

Monetization

Status Update Thu Jul 01 2021

What was accomplished

Amp monetization - Web interstitial ads planning. Working with Google AdSense & GAM team to clarify the technical boundary between AMP and vendors, finalize the interface. - Web interstitial ads prototype works. Design review next week. - Fix the old style sticky ad deprecation notice

Story ads - Discussion around story ads strategy for emerging markets - Started shared experiment with viewer for auto-advancing ads & pages - Fixed bug to send correct size for desktop support - Fixed flaky experiment tests

All details on GitHub

What's next

Amp monetization - Web interstitial ads - Experiment rendering amp-sticky-ad with amp-ad

Story ads - Launch auto-advancing ads

All details on GitHub

Performance

Status Update Thu Jul 01 2021

What was accomplished

Lessons Learned

All details on GitHub

User Interface & Accessibility

Status Update Mon Jun 07 2021

What was accomplished

  • Session Analytics PRs out for SessionId, CreationTimestamp, and SessionCount (https://github.com/ampproject/amphtml/issues/33990)
  • AMP form rollback, adding missing support for validation on change (https://github.com/ampproject/amphtml/pull/34849)
  • amp-render binding API change
  • amp-render validation changes
  • launched amp-tiktok
  • amp-dailymotion bento version PRs

Lessons learned

All details on GitHub

What's next

  • Session Analytics: LastEventTimestamp and Engaged
  • New AMP component for quicklinks, design
  • amp-iframe bug
  • amp-render finish misc PRs
  • amp-dailymotion continue work

All details on GitHub

Monetization

Status Update Mon Jun 07 2021

What was accomplished

Amp monetization - Top sticky ad implementation merged - Top sticky ad profiling - Web interstitial ads prototype started - INI InOb turned off on inabox to alleviate performance issues - Fixed <gwd-animation> bug in no-sigining - Support for new conversion tracking API in amp-ad-exit

Story ads - New yellow progress bar variant implementation

All details on GitHub

What's next

Amp monetization

Story ads - Start yellow progress experiment - New CTA design - Viewer experiment coordination design and review

All details on GitHub

Bento

Status Update Mon Jun 07 2021

What was accomplished

General - Improving performance of ...rest object spread operator: - Share objectWithoutProperties helper across modules (size reduction, ampproject/amphtml#34601) - Hoist omitted keys (runtime performance, babel/babel#13384) - Bento onboarding doc is a central location for Bento-related resources - npm automated publishing is live now

Components - amp-dailymotion implementation has begun - Facebook and amp-facebook now code complete - amp-render last mile bits: - binding support - documentation - remaining TODOs and bug fixes - Unit tests for LightboxGallery, Facebook, amp-fit-text - Toolbar addition to Sidebar merged

All details on GitHub

What's next

General - Auto envelope (so Bento components will be usable without v0 on the page!) - 3p Iframe Bento Contribution Guide - src/core migration continues, we may be able to start type checking Bento components this sprint

Components - continued work on amp-dailymotion - VideoProxyIframe for amp-ima-video implementation - amp-facebook-page and amp-facebook-like - LightboxGallery UI features

All details on GitHub

User Interface & Accessibility

Status Update Wed Jun 02 2021

What was accomplished

  • Finished final details for amp-tiktok
  • Continued work on bento amp-dailymotion
  • Landed SessionId for amp-analytics (https://github.com/ampproject/amphtml/pull/34521)
  • PRs out for Session Analytics: Last Event Timestamp (https://github.com/ampproject/amphtml/pull/34816) and Session Count (https://github.com/ampproject/amphtml/pull/34850)
  • Opt-in Same Domain Matching for Linker (https://github.com/ampproject/amphtml/pull/34821)
  • amp-ima-video bugfix for livestream controls (https://github.com/ampproject/amphtml/pull/34865)
  • PR for Multi-Video Selector for amp-analytics in progress (https://github.com/ampproject/amphtml/pull/34841)

Lessons learned

All details on GitHub

What's next

  • Land the rest of Session Analytics + engaged macro
  • Design Review for GeoHash Experiment
  • Land Auto-Envelope
  • Land Bento dailymotion
  • Design for Custom Browser Events for amp-analytics
  • Launch amp-render
All details on GitHub

Monetization

Status Update Wed Jun 02 2021

What was accomplished

Amp monetization - Top sticky ad validator change - 3p Vendor splitting launched to 100%

Story ads - Starting story experiment for auto advance

All details on GitHub

What's next

Amp monetization - Web interstitial ads performance considerations - Deprecate <amp sticky with empty sticky attribute

Story ads

All details on GitHub

Performance

Status Update Wed Jun 02 2021

What was accomplished

Lessons Learned

All details on GitHub

User Interface & Accessibility

Status Update Sun May 02 2021

What was accomplished

  • Session Analytics Privacy Review go ahead, sessionId macro support started
  • Continue looking into SSR amp-consent inline consent dialogs
  • amp-render placeholder, fallback, loader, and binding attribute support, and documentation
  • amp-tiktok placeholder, loader, and validation

Lessons learned

All details on GitHub

What's next

  • Bento dailymotion component
  • Supplementary session data support
  • amp-render look into layout container support + miscellaneous tasks
  • amp-next-page issues
  • Look into amp-consent reported issue
All details on GitHub

Monetization

Status Update Sun May 02 2021

What was accomplished

Amp monetization - Top sticky ad to not adjust padding-top - In amp-auto-ads, inserting ads above is mostly unseen but causes CLS - 3p vendor splitting ramping up to 50% - Investigated a regression w/ infra

Story ads

All details on GitHub

What's next

Amp monetization - AMP domain migration - between-navigation ads design - amp-img to img migration

Story ads

All details on GitHub

Bento

Status Update Sun May 02 2021

What was accomplished

  • amp-facebook consolidating internal implementations and testing in progress
  • amp-render
  • fallback Support
  • placeholder Support
  • validation
  • amp-sidebar
  • preact SSR implementation of Toolbar
  • NPM Publishing
  • Initial conversations with Dev Rel for NPM Readme creation
  • 13 components completed conversion required for publishing (latest was amp-base-carousel)
All details on GitHub

What's next

  • amp-render
  • loading indicator
  • support for binding
  • amp-sidebar
  • amp SSR implementation of Toolbar
  • NPM Publishing
  • Convert two remaining components from Dev Preview
  • Updates needed to package file and generation scripts
All details on GitHub

User Interface & Accessibility

Status Update Sat May 01 2021

What was accomplished

  • Supporting text fragment highlight within the Viewer
  • amp-render URL variable substitution support
  • amp-analytics Session Analytics design review
  • Remove amp-consent consent storage limit on the Viewer

Lessons learned

All details on GitHub

What's next

  • Session Analytics design review Privacy review for supplementary data
  • amp-analytics SESSION_ID low entropy support
  • amp-consent reducing LCP for inline consent prompts
  • amp-render fallback/placeholder support + miscellaneous fixes
  • amp-next-page bugfixes
All details on GitHub

Bento

Status Update Sat May 01 2021

What was accomplished

  • Guide to building a Bento video player
  • Support amp make-extension flag --nojss
  • amp-video-iframe merged with validation
  • amp-vimeo merged with validation
  • amp-ima-video port in progress
  • Requires restructuring ProxyIframeEmbed for combined use with VideoBaseElement
  • Changes to iframe loaded by both versoins: structured children and uniform method names
  • OWNERS change and test cleanup
  • amp-ima-video user experience improvements
  • Investigate introducing sandbox attribute to amp-facebook-* components
  • Preact Twitter component and Storybooks merged
  • npm publishing
  • 10 components on npm i.e. amp-fit-text
  • 4 additional components require file structure conversion to publish
  • amp-sidebar toolbar Preact implementation merged
  • (Invalid AMP): Support for img in components that integrate with amp-img in progress
All details on GitHub

What's next

  • Continue in-progress tasks:
  • amp-ima-video
  • amp-sidebar toolbar
  • img support
  • npm publication
  • Bento video players to pass consent with the consent Service in AMP layer
  • Bento port of amp-brightcove
  • Investigate safely removing examples/ which are exhaustively covered via Storybook samples
  • Bento port of other amp-facebook components
  • amp-render support for placeholder
All details on GitHub

User Interface & Accessibility

Status Update Fri Apr 02 2021

What was accomplished

  • amp-next-page bugfix where children shadow docs were not utilizing Viewer CID like the hostpage was
  • GA4 meeting, creating design doc on Session Analytics in amp-analytics
  • Discussing with Viewer team existing localStorage size limitations to allow larger consent information entries to be stored
  • amp-render: XSSI prefix support and refresh functionality
  • amp-next-page bugfix for replacing history incorrectly when served in Viewer
  • amp-tiktok: Validator support, loader support, and fallback support

Lessons learned

All details on GitHub

What's next

  • Session Analytics Design Review
  • Intern planning
  • amp-render url replacement support
  • amp-render placeholder and fallback support
  • more amp-next-page P1s
  • amp-img deprecation
  • SESSION_ID in amp-analytics
All details on GitHub

Monetization

Status Update Fri Apr 02 2021

What was accomplished

Amp monetization - 3p vendor splitting ramped up to 10% of prod - Top sticky ad implementation done - Merged a preliminary fix resolving a CLS issue on amp-auto-ads, with more investigation to go - Launching a holdback experiment to test the revenue impact of the amp-auto-ads CLS fix - Fixed broken A4A envelop on the dev server because of a missing CORS header - Project planning meeting for Web interstitials. Design draft reviewed with AdSense and Arrow team. - Launched no signing

Story ads - Auto advanced ads experiment - Video serving enhancement planning - Added a new branch to placement experiment (10 density) - New ad badge - Fixed bug where ad pages were being counted as organic pages in auto-analytics

All details on GitHub

What's next

Amp monetization - Web interstitials design - Top sticky ad - amp-auto-ads CLS further investigation

Story ads - Auto advanced ads - Video serving follow up - Review ad placement experiment results

All details on GitHub

Bento

Status Update Fri Apr 02 2021

What was accomplished

  • amp-facebook-comments initial implementation
  • amp-render
  • xssi-prefix and subobject support
  • URL replacement substitutions in review
  • amp-sidebar toolbar feature discussed in design review
  • amp-video-iframe implementation in review
  • amp-vimeo implementation
  • Validation contributions for developer preview components
  • Removed concept of a "lite" viewer
  • Extension generator implementation is now shared for Bento and Classic.
  • Chore: Deprecating Storybook use of withAlly and replaced with updated config
  • Chore: Updated some OWNERS files to belong to Bento/Components
All details on GitHub

What's next

  • amp-facebook-* follow-up tasks and components:
  • Try including sandbox (previously excluded for these only)
  • Branch component embeds by enum rather than custom element tag name
  • amp-render
  • placeholder and fallback support
  • layout=container
  • amp-sidebar
  • investigate CLS
  • execute on toolbar feature with design review learnings
  • manually publishing Bento components to npm
  • Deep dive for handling 3rd party issues and contributions
  • Design Review for compiling mustache into JSX
  • Reworking autoplay detection.
  • Next Bento video player, likely amp-brightcove or amp-dailymotion
All details on GitHub

User Interface & Accessibility

Status Update Thu Apr 01 2021

What was accomplished

  • amp-tiktok merged
  • Working on amp-img validation for standalone images
  • Work started for SESSION_ID macro in amp-analytics
  • Work on amp-render (amp-script support, fallback/placeholder)
  • amp-next-page triggering scroll events early bug fixed
  • amp-carousel indexing and shakey slides bugs fixed

Lessons learned

All details on GitHub

What's next

  • Design for GA4 MVP support
  • amp-next-page CLIENT_ID bug
  • Implement session_id macro
  • Finish TikTok tests
  • Continue amp-render work
All details on GitHub

Bento

Status Update Thu Apr 01 2021

What was accomplished 🍱 ✅

  • amp-render bindable src PR merged
  • Collaboration with caching team on validator changes for developer preview components (still under experiment)
  • Storybook upgraded to version 6
  • Display locking removed from amp-accordion due to chrome team change in API
  • Early Bento feedback(technical/ product) here
  • Bento Compiler in security and privacy review
  • Presented on Shadow DOM on Deep Dive 4/6 - slides, video
All details on GitHub

What's next ⏩

  • Continue Validator work on all developer preview components (still under experiment)
  • amp-render support for object and amp-render
  • amp-sidebar toolbar feature in AMP mode
  • amp-twitter ongoing work
  • amp-next-page initial assessment
All details on GitHub

User Interface & Accessibility

Status Update Wed Mar 03 2021

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

Bento

Status Update Tue Mar 02 2021

What was accomplished 🍱 ✅

  • Automated design review issue creation
  • Started validating developer preview components (still under experiment)
  • Wrapped up CLS investigations on carousel components
  • Introduced scheduling for Bento components, i.e. lightbox and sidebar
  • Merged Sidebar Toolbar feature in Preact mode
  • Now generating npm binaries during build/dist for npm publishing
  • amp-render initial implementation with support for remote, bindable src and amp-state protocol
  • Prototype for amp-twitter
All details on GitHub

What's next ⏩

  • Working with infra 👋 🏗️ to release npm binaries
  • Validate all developer preview components (still under experiment)
  • amp-sidebar toolbar feature in AMP mode
  • amp-render support for amp-script protocol and placeholder
  • amp-twitter ongoing work
  • Tune in for shadow DOM demo in next week's deep dive
All details on GitHub

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

Monetization

Status Update Mon Mar 01 2021

What was accomplished

AMP Monetization - Passed version info from ads to FIE - Launched no-signing - Improved vendor JS building performance using esbuild, restarted building them in tests and in the release process

Story Ads - Introduced swipe tracking trigger - Fixed bug where mediapool was not recognizing ad page distance - Introduced new StoryAdPagemanager class as part of placement algorithm refactor

All details on GitHub

What is next

AMP Monetization - Launch vendor splitting experiment!

Story ads - Implement existing algorithm as new StoryAdPlacementAlgorithm subclass - Implement new placement algorithm

All details on GitHub

Monetization

Status Update Mon Mar 01 2021

What was accomplished

Fix it week - Fixed/closed 7 issues. 2 more in progress - (Code complete, pending security review) change 3p iframe to use deterministic domain for frame.html - AMPHTML-AD Visual diff test reenabled https://github.com/ampproject/amphtml/issues/31199 - Allow AMP polyfills in no-signing - Make test-amp-a4a.js not as flaky - Move Story Ads CTA to shadow DOM - Update Adsense docs for story ads

AMP Monetization

Story Ads

All details on GitHub

What is next

AMP Monetization - 3p frame splitting PR reverted for affecting CI performance, will start the experiment once fixed - Launch no signing !

Story ads - Meeting to discuss new placement tradeoffs. - Encapsulation of placement algorithm. - Implement swipe tracking

All details on GitHub

Bento

Status Update Mon Mar 01 2021

What was accomplished 🍱 ✅

  • amp-fit-text server-side experiment to measure performance with v0
  • amp-render base implementation
  • amp-sidebar toolbar design
  • Investigating CLS in amp-carousel, amp-base-carousel, and related

Lessons learned 👩‍🎓

All details on GitHub

What's next ⏩

  • Bento npm publishing
  • amp-render
    • loading from amp-script
    • placeholder support
  • Fixing some carousel CLS issues
  • First look at amp-twitter
  • Video docking active development
All details on GitHub

Bento

Status Update Mon Mar 01 2021

What was accomplished ✅

Fix it week 🔨

  • amp-youtube supports currentTime and duration in imperative API https://github.com/ampproject/amphtml/pull/32804
  • amp-selector has stylistic support for hybrid disabled + selected state https://github.com/ampproject/amphtml/pull/32825
  • amp-accordion 0.1 and 1.0 respect pre-existing role attributes https://github.com/ampproject/amphtml/pull/32915
  • amp-timeago 0.1 and 1.0 migrated to latest timeago.js library (from third_party/ to node_modules) and now have support for 7 more languages
  • e2e tests for amp-sidebar https://github.com/ampproject/amphtml/pull/32837, amp-social-share https://github.com/ampproject/amphtml/pull/32881, and amp-accordion https://github.com/ampproject/amphtml/pull/32958
  • Documented media-based attributes and enabled on amp-fit-text https://github.com/ampproject/amphtml/pull/32824
  • BaseElement['props'] refactor to simplify children configurations https://github.com/ampproject/amphtml/pull/32936
  • objstr:
    • used in more components https://github.com/ampproject/amphtml/pull/32893
    • compiles down https://github.com/ampproject/amphtml/pull/32872
  • JSS:
    • transform compiled output to export const className for filesize https://github.com/ampproject/amphtml/pull/32888
    • collect z-index https://github.com/ampproject/amphtml/pull/32847
  • Shadow DOM polyfill https://github.com/ampproject/amphtml/pull/32820

General 🍱

  • LightboxGallery Preact implementation
  • component file restructuring for npm packaging
  • NPM binary generation with ES build
  • design review for deferred build and async pause systems
  • Use gulp get-zindex [--fix] to make sure css/Z_INDEX.md is up to date
All details on GitHub

Lessons learned 👩‍🎓

What's next ⏩

  • amp-lightbox-gallery AMP layer
  • amp-sidebar active development
  • video docking active development
  • Analysis of amp-fit-text 0.1 -> 1.0 auto upgrade performance implications
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

Monetization

Status Update Mon Feb 01 2021

What was accomplished

AMP Monetization - AMP now builds separate 3p iframe integration.js, and refactors done to allow dynamically choosing JS for 3p iframe - AMP-AD CSS experiment turned on (blocking top banner sticky ad) - Ran a CWV experiment that turns off ads render-on-idle . Result it very noisy. Didn’t get enough data points from canary traffic. - Launched eager building of fie/inabox amp elements - Allow ad networks to opt out of client side validation in no-signing

Story Ads - Exploration of new story ads algorithm impact

All details on GitHub

What is next

AMP Monetization - Turn on amp-ad 3p vendor splitting for more vendors - Launch no signing

Story ads - Encapsulate logic for placement algorithm - Start new algorithm implementation

All details on GitHub

Bento

Status Update Mon Feb 01 2021

What was accomplished

  • npm packaging in progress
  • Video docking in progress
  • Contributing to obj-str Babel transformations for an improved classname construction
  • Sidebar animations completed
  • Started the load experiment for Bento components in AMP using amp-fit-text
  • Progress on component isolation: measurements, pause/resume and deferred build. Presenting at tomorrow's design review.
  • aspect-ratio rollout is continuing
  • Started the project to refactor log writers.
  • Started work on lightbox gallery

Lessons learned

  • We've been rendering and testing visual diffs on different browser versions, which explains some flakes.
All details on GitHub

What's next

  • Fixit week
  • Working on the next set of Bento component priorities.
  • Continued progress on video docking, sidebar, and lightbox gallery.
  • Continued progress on component isolation
All details on GitHub

Bento

Status Update Mon Feb 01 2021

What was accomplished

  • 🎉 We launched our dev preview!
  • 🎯 amp-social-share:focus support through shadow DOM
  • ⬆️ amp-date-countdown countUp feature
  • 📦 Design doc for releasing Bento components on npm
  • ✅ e2e tests now support sharing fixtures across component versions
  • ⏰ Dispatch DOM events in Bento components
  • 📝 Document imperative API for Bento mode
  • 🛥️ Draft Preact docking implementation
  • 📸 aspect-ratio rollout
  • 🐛 Various bug fixes:
  • iOS web scrolling
  • non-zero line-height for [placeholder] elements
  • media attributes

Lessons learned

All details on GitHub

What's next

  • 📝 Documentation / Deep Dive for delegatesFocus
  • 📂 Demo changes in component file structure to prepare for releasing on npm
  • 🛥️ Continued progress with media docking
  • 💡 LightboxGallery design and implementation
  • 🔖 Sidebar continued progress
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

Bento

Status Update Tue Jan 05 2021

What was accomplished

  • Most folks OOO
  • Bug fixes from year end bug bash
  • Imperative API
  • Work started on amp-sidebar

Lessons learned

  • box-styles propagation through display: contents 1-pager
All details on GitHub

What's next

  • Preparing amp.dev with high level Bento information and usage guides
  • Developer preview of our first 16 components
  • amp-truncate-text
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

Monetization

Status Update Fri Jan 01 2021

What was accomplished

AMP Monetization - Introduced CLIENT_ID macro for use in RTC requests - Launched separate resource manager for FIE ads to 100% (experiment results were positive) - Regression caught by RTC change was determined to be likely WAI. Another experiment started to validate the hypothesis. - AMP-AD CSS change experiment started - Investigated scroll reactive ad implementation and its performance limitation

Story Ads - Started design doc for ad placement - Impression counting change running at small percentage

All details on GitHub

What is next

AMP Monetization - Top banner sticky ad implementation - Animated sticky ad creative format - wg-monetization to take over amp-access

Story ads - Complete design doc for ad placement

All details on GitHub

Bento

Status Update Fri Jan 01 2021

What was accomplished

  • Ready for dev preview. Waiting for some amp.dev updates to go public.
  • Dev-preview related minor fixes.
  • Sidebar: RTL and styling fixes
  • We now have ResizeObserver polyfill across all of AMP
  • Initial resize-code refactoring.

Lessons learned

All details on GitHub

What's next

  • Continuing: Video docking
  • Start: lightbox gallery
  • Social share: focus outline work
  • Continuing: amp-truncated-text
  • Upgrading storybook
  • Start: npm packages for (P)react components
All details on GitHub

Infrastructure

Status Update Mon Dec 07 2020

What was accomplished

  • Internal release pipeline improvements
  • Maintenance for custom AMP GitHub apps
  • AMP closure compiler was upgraded from May to November
  • Progress on code coverage measurements during tests
All details on GitHub

What's next

  • Refactor Travis-specific CI pipeline code
  • Continue work on other ongoing projects
All details on GitHub

Bento

Status Update Mon Dec 07 2020

What was accomplished

  • Most of carousel baseline features completed
  • Accordion: display locking completed.
  • Imperative APIs: design completed.
  • Troubleshooting IntersectionObserver spec problems.

Lessons learned

All details on GitHub

What's next

  • Bug bash
  • Sidebar
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

Infrastructure

Status Update Mon Nov 09 2020

What was accomplished

  • Ushered 2-week release freeze (beta channel updated, but not stable / lts)
  • Migrated AMP project CLA to latest OpenJS agreement
  • Progress on Visual diff infrastructure redesign
  • Progress on instrumenting minified code for coverage during E2E tests
All details on GitHub

What's next

  • Fixes to AMP closure compiler build pipeline
  • Explore technology options for a status page for AMP
  • Explore automating asset downloading + page freezing for visual diff tests
  • Continue work on other ongoing projects
All details on GitHub

Bento

Status Update Mon Nov 09 2020

What was accomplished

  • Video iframe code merged for Preact
  • Progress on docking
  • Static Storybook deployment
  • Implemented CE disconnect/connect as Preact mount/unmount
  • Built support for media attributes, including boolean media attributes
  • amp-bind is supported in the Storybook
  • Imperative API for accordion completed
  • Bind protocol for accordion completed
  • Continued progress on viewportCallback removal
  • Started lightbox implementation

Lessons learned

All details on GitHub

What's next

  • amp-video-iframe binding for video iframe
  • auto-advance in carousel
  • carousel thumbnails
  • carousel snapping features
  • DOM event support for accordion
  • Restructure accordion for better Preact semantics and support display locking
  • Preact and AMP bindings implementation of lightbox
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

Bento

Status Update Mon Nov 02 2020

What was accomplished

  • amp-accordion:
  • external API restructure
  • accessibility attributes
  • amp-base-carousel snap-align feature to view slides either at start or center of carousel viewport
  • amp-lightbox initial implementation
  • amp-selector:
  • keyboard-select-mode feature for Arrow key navigation and selection configuration
  • Preact unit tests
  • Ongoing fixes for resource loaders and intersection observers
  • Imperative API design and discussion
  • Documentation written for amp-instagram, amp-youtube, amp-lightbox
  • Removed viewportCallback from BaseElement
  • PR deploy bot integration with Storybook

Lessons learned

  • You can run Preact Devtools in Storybook by adding import 'preact/debug'; to the start of the story.
  • We make sure hidden is display:none in AMP but it is much more fragile (overridable) to use it in Bento mode.
All details on GitHub

What's next

  • Finalizing dev preview feature set and planning for beta
  • Continued progress on imperative API
  • amp-accordion:
  • display locking
  • final touches
  • amp-base-carousel:
  • e2e tests
  • orientation feature to configure the carousel as horizontal or vertical scrolling
  • dir="rtl" support
  • amp-selector integration with forms
All details on GitHub

Infrastructure

Status Update Fri Oct 02 2020

What was accomplished

  • Infra updates for release freeze from 10/26-11/8
  • AMP has fully moved off Google CLA to OpenJS CLA
  • Package management has been migrated from Yarn to NPM
  • Travis integration migrated from travis-ci.org to travis-ci.com
All details on GitHub

What's next

  • Continue work on assorted ongoing projects
All details on GitHub

Bento

Status Update Fri Oct 02 2020

What was accomplished

  • Prototypes created for mixed-length and streaming carousel types
  • Accordion: a11y support and styling.
  • Accordion: work started on imperative APIs.
  • Video iframes and YouTube components are code complete.
  • Started lightbox components. Presented in design review.
  • Replacing viewportCallback with IntersectionObserver throughout the runtime.

Lessons learned

All details on GitHub

What's next

  • Continue work on video docking
  • Continue work on stream and mixed-length carousel types.
  • Continue work on lightbox components.
  • Continue work on accordion imperative APIs, a11y, and structure.
  • Support media-query attributes.
All details on GitHub

Infrastructure

Status Update Thu Oct 01 2020

What was accomplished

  • Internal improvements to release process, including freezing from 10/26-11/8
  • Beta browsers / OSs are included in manual testing matrix
  • Coverage data can now be collected during E2E and manual testing
  • Deployed new OpenJS CLA for ampproject (not blocking yet, will eventually replace Google CLA)
  • Fixes to package management (Yarn 1 is reaching end-of-life)
All details on GitHub

What's next

  • Design review for package management solution (Yarn 1 vs. Yarn 2 vs. NPM)
  • Test result collection and reporting for automated tests
  • Documentation for release process and error reporting
  • Syntax checks for OWNERS files
  • Continue work on ongoing release projects
All details on GitHub

Infrastructure

Status Update Wed Sep 02 2020

What was accomplished

  • IE 11 integration tests are now blocking
  • Investigated running Karma tests on an iOS simulator
  • Internal infrastructure improvements to cherry-picks and generation of visual tests
  • Upgraded custom AMP closure compiler to September, discovered crash (https://github.com/ampproject/amp-closure-compiler/issues/22#issuecomment-699145802)
All details on GitHub

What's next

  • Fix closure crash
  • Refactor internal CI code
  • Investigate alternatives that allow for iOS testing
  • Incorporate beta browsers / OSs in manual testing matrix
  • Continue with ongoing projects (coverage, release infra, compilation toolchain)
All details on GitHub

Runtime

Status Update Wed Sep 02 2020

What was accomplished

Lessons learned

All details on GitHub

Analytics

Status Update Wed Sep 02 2020

What was accomplished

  • 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
All details on GitHub

What's coming next

  • 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

Infrastructure

Status Update Tue Sep 01 2020

What was accomplished

  • Updates to visual diff internals (plus stability fixes during release process)
  • Updates to cherry pick internals during release process
  • Initial planning for improvements to CI pipeline
  • Instrumented minified builds for code coverage measurements
All details on GitHub

What's next

  • Instrument minified runtime in dev-server and during automated testing
  • Begin consolidating code specific to CI service across build-system
  • Initial planning for reorganizing of AMP source code directories
  • Continue work on other in-flight projects
All details on GitHub

Runtime

Status Update Tue Sep 01 2020

Accomplished

  • Justin
  • Progress on Bento auto-envelope
  • Make auto-injected script tags parse as modules in ESM
  • Fix to Closure Compiler to correctly support sequence expressions in destructures
  • Jake
  • Bento styling
    • Design review (https://docs.google.com/document/d/1EiBj4Hy7cxhgl8GXw-8FeW7zIyL8reRI7NC9dJB7SR0)
    • Deterministic classname generation and watch mode support (https://github.com/ampproject/amphtml/pull/30065, https://github.com/ampproject/amphtml/pull/30115)
  • Fixes:
    • Teach babel-plugin-tests how to pass on Windows machines (https://github.com/ampproject/amphtml/pull/30165)
    • Protocol adapters: support load-more attr (https://github.com/ampproject/amphtml/pull/30101)
    • Resources system IntersectionObserver experiment bugs:
    • Using outdated measure: https://github.com/ampproject/amphtml/pull/30188
    • Fill layout skips layout: https://github.com/ampproject/amphtml/pull/30167
All details on GitHub

Next

  • Justin
  • Finish auto-envelope, write doc
  • Begin amp-img SSR tests
  • Update perf metrics to handle SSR experiments
  • Jake
  • Dockerized optimizer: blocked on reviews
  • Integration tests for layout sizing during build
  • Wrap up Bento styling work
  • Research better experiment analytics for runtime/internal csi
All details on GitHub

Analytics

Status Update Tue Sep 01 2020

What was accomplished

  • Support Consent meta data collection via macros
  • Check element size in additional to intersectRatio when report visibility
  • Design: Backup CLIENT_ID in localStorage
  • Debug: Incorrect visibility trigger due to fluid inabox ad resizing in viewport
  • Debug: Video-played-percentage trigger issue with stories team
All details on GitHub

What's coming next

  • Introduce an easy way to bypass user consent decision and always serve non personalized ad
  • Granular Consent Support Design
  • Running 3p service provider script in web worker (I2I)
All details on GitHub

Infrastructure

Status Update Mon Aug 03 2020

What was accomplished

  • Improvements to guts of visual testing
  • Improvements to workflow for generating github releases
  • AMP can now be built and tested on Windows
  • Discovered cause of test flakes on Safari (incomplete iframe cleanup)
  • Investigated code coverage for minified builds
All details on GitHub

What's next

  • Planning for improvements to CI pipeline
  • Instrument minified builds, augment dev server middleware
  • Continue work on in-flight projects mentioned above
All details on GitHub

Runtime

Status Update Mon Aug 03 2020

Accomplished

  • Justin

    • amp-img SSR CLs have landed

      • Made sure SSR'd <img> is visible: https://github.com/ampproject/amphtml/pull/29955

    • Various bug fixes

      • https://github.com/ampproject/amphtml/pull/29951

      • https://github.com/ampproject/amphtml/pull/29950

      • https://github.com/ampproject/amphtml/pull/29947

    • Worked on auto-envelope

  • Jake

    • 🎉Launched strict experiment (ampproject/amphtml/pull/29929)

    • Merged bento styling babel transform (ampproject/amphtml/pull/29777)

    • 📈  Opened up pull request to add Dockerized AMP Optimizer into amp-toolbox

    • Fixes

      • <amp-script>: don’t assign onerror if init failed (ampproject/amphtml/pull/29875)

      • <amp-script>: improved error messages (ampproject/amphtml/pull/29875)

      • worker-dom: dirty flag for value hydration (ampproject/worker-dom/pull/913)

      • worker-dom: .click() support (ampproject/worker-dom/pull/919)

  • Will

    • Left wg-runtime. Farewell Will! 🎺😿


Learned

All details on GitHub

Next

  • Justin

    • Finish auto-envelope

    • Fix follow ups with amp-img SSR

    • Fixit:

      • amp-bind SSR support in extension

  • Jake

    • Get AMP Optimizer through amp-toolbox review

    • Bento Styling: 

      • Design review

      • Deterministic classname generation

      • Run through css optimizer / decide on jss plugins

    • fixits: 

      • <amp-script> validator extension bug: ampproject/amphtml#29457
All details on GitHub

Runtime

Status Update Mon Aug 03 2020

What was accomplished

  • amp-img SSR work is almost done, cleaning up the code now before creating CL
  • Bento Reviews for Context and Styles
  • TC39: logical assignment operators will be in ES2021
  • Merged protocol-adapters for amp-list, amp-script[nodom] (https://github.com/ampproject/amphtml/pull/29329, https://github.com/ampproject/amphtml/pull/29541)
  • "nodom" binary for worker-dom (https://github.com/ampproject/worker-dom/pull/882)
  • Investigating 1% ads query regression in intersect-resources and created another candidate fix

Lessons learned

  • For changes that may affect ads, start minimal and incrementally diverge instead of starting with a big refactor and paring down
All details on GitHub

What's next

  • Auto-envelope pattern for Bento binaries
  • Fix more TODOs with amp-img SSR
  • Support <link rel=preload imagesrcset>
  • Support auto srcset generation for SSR'd <img>
  • Cleanup code paths
  • Research inputmask bug to see if related to the strict experiment
  • Follow up on removeCalcTask & content prioritization. CSI effects seemed negligible.
  • Documentation for new amp-list/amps-script features and launch experiment: ampproject/amphtml#29603
  • Implement Bento JSS Proposal
  • Fixit:
  • Clean up "layoutbox-invalidate-on-scroll" experiment ampproject/amphtml#25203
  • amp-bind: remove the need for treewalking ampproject/amphtml#27590
  • Fixit:
  • <amp-script> improve hash error: ampproject/amphtml#29614
  • <amp-script> validator extension bug: ampproject/amphtml#29457
  • Fixit: AMP.navigateTo
  • ampproject/amphtml#26248
  • ampproject/amphtml#24798
All details on GitHub

Analytics

Status Update Mon Aug 03 2020

What was accomplished

  • Support Begin-to-Render signal in a4a ads
  • Removed consent string size restriction on publisher's origin when Storage API is not used.
All details on GitHub

What's next

  • [Discussion] Running 3p scripts in web worker in iframe
  • Support Consent meta data collection via macros
All details on GitHub

Analytics

Status Update Mon Aug 03 2020

What was accomplished

  • SESSION_ID: Decided to store to session storage and bypass the storage API as first step.
  • Analytics to temporary collect element width/height & viewport width/height at maximum intersect ratio (For debugging)
  • Consent UI to support dir=rtl
  • Disable promptUISrc from <amp-story-consent>
All details on GitHub

What's next

  • Benchmark delay of creating a web worker within a non origin iframe
  • More granular consent blocking on client side
All details on GitHub

Infrastructure

Status Update Sat Aug 01 2020

What was accomplished

  • Started deprecating old RTVs > 6 months old
  • Started automating new release creation as part of cherry-pick workflow
  • Added a windows native compiler to ampproject/amp-closure-compiler
  • Fixed race in watch logic of default gulp server
  • New database for test case level reporting for unit / integration tests
  • Error reporting / monitoring for module/nomodule rollout
All details on GitHub

What's next

  • Infrastructure enhancements around release creation / tagging
  • Scale up visual testing
  • Publish native compiler to npm under @ampproject/amp-closure-compiler
  • Add reporting for E2E tests
  • Instrument minified code with mapping to original source code
  • Automate error report issue creation
All details on GitHub

Runtime

Status Update Sat Aug 01 2020

What was accomplished

Justin

  • CL reviews for amp-img ssr work, finding bugs in other go transformers
  • Helped with debugging cherry-pick issues
  • https://github.com/ampproject/amphtml/pull/29771
  • https://github.com/ampproject/amphtml/pull/29775
  • Cleaned up 2 ancient experiments (fixit!)
  • https://github.com/ampproject/amphtml/pull/29728
  • https://github.com/ampproject/amphtml/pull/29665
  • Worked on auto-envelope, but unhappy with it
  • Bundling 2 element implementations seems wasteful for amp-mode, and bundling specific code in bento-mode
  • Created experimental cache transform for amp-bind

Jake

  • 🎉 Launched protocol adapters (ampproject/amphtml/pull/29689)
  • 📈 Made headway on bento css integration (ampproject/amphtml/pull/29713, ampproject/amphtml/pull/29794)
  • 🔎 Made a prototype amp-optimizer docker image
  • 🛠️ Fixes:
  • inputmask incorrect usage static this: of ampproject/amphtml/pull/29646
  • inputmask attempting to mask svgs: ampproject/amphtml/pull/29624
  • <amp-script> improve hash error: ampproject/amphtml#29614

Will

  • Rolled out “intersect-resources” to 100% prod
  • Fixed a couple email-related bugs in amp-list (ampproject/amphtml#29726)
  • Fix-it bugs related to AMP.navigateTo

Lessons learned

  • In our error logs, we get a referrer url which can significantly help reproducing issues
All details on GitHub

What's next

Justin

  • Finish CL of amp-img ssr and related transformers
  • Finish auto-envelope for Bento
  • Update amp-bind code to support SSR transform

Jake

  • Continue work on bento css + amp-optimizer docker image
  • 🤞 Launch StrictCompilation
  • fixits:
  • <amp-script> validator extension bug: ampproject/amphtml#29457

Will

  • Transition plan
  • Fix-it: clean up old TODOs
All details on GitHub

Analytics

Status Update Sat Aug 01 2020

What was accomplished

  • Web Worker in iframe: Non origin iframe: around 80ms delay in initialization, but can still access IndexDb db. 3P iframe: around 300ms delay in initialization.
  • Support visibility tracking of non AMP element
  • Consent UI Lightbox mode PR merged
All details on GitHub

What's next

  • Consent: Remove consent string size restriction on publisher's origin when Storage API is not used.
  • Store CID to localStorage on origin as backup
  • Analytics: Visibility tracking to check element's size before using the intersectionRatio value from IntersectionObserver.
All details on GitHub

Runtime

Status Update Mon Jul 06 2020

What was accomplished

Lessons learned

All details on GitHub

Analytics

Status Update Mon Jul 06 2020

What was accomplished

  • Fixed amp-analytics FID, LCP collection
  • Investigated and Fixed IntersectionObserver polyfill issue in inabox
  • Fixed scroll trigger issue
  • Expanded <amp-story-consent> config support
All details on GitHub

What's next

  • Pause analytics trigger in <amp-next-page>
All details on GitHub

Runtime

Status Update Thu Jul 02 2020

What was accomplished

  • Merged PRs for validator to support amp-img SSR
  • Code reviews for Bento, including Context APIs in AMP code
  • Merged experiment to remove calcTaskTimeout (https://github.com/ampproject/amphtml/pull/28453/commits)
  • Merged server experiment for compiling v0/extensions in strict mode (https://github.com/ampproject/amphtml/pull/28793)
  • Merged cross-document navigation for AMP.goBack (https://github.com/ampproject/amphtml/pull/26585)
  • Fixed too-small rootMargin vs. loadRect in “intersect-resources”

Lessons learned

  • Kittens are cute
All details on GitHub

What's next

  • Finishing amp-img SSR cache transforms
  • Prototyping Bento "auto-envelope" pattern to support components in/out of AMP runtime
  • Wrap up in-progress worker-dom feature work
  • Lite binary for worker-dom (https://github.com/ampproject/worker-dom/pull/882)
  • Protocol adapters (https://github.com/ampproject/amphtml/pull/29329)
  • Continue investigating the ~1% regression in ad queries for "intersect-resources"
All details on GitHub

Analytics

Status Update Thu Jul 02 2020

What was accomplished

  • Update <amp-story-consent> to support config in new format
  • <amp-consent> doc improvement (metaData, TCF support, promptUISrc, inline postPromptUI)
  • <amp-consent> UI lightbox mode when initial height is greater than 80vh. (#29204)
  • Decided to keep analytics service running and maintain states when the ampdoc becomes inactive. (This means the lower level timer trigger will continue to fire unless there's a stopSpec)
  • All 3rd background cross origin iframe usage in AMP will NOT be allowed w/o special approval. (#28471)
All details on GitHub

What's next

  • SESSION_ID to support a session id that expires after a defined time
  • Support tracking visibility of non AMP elements
All details on GitHub

Runtime

Status Update Tue Jun 02 2020

What was accomplished

Lessons learned

All details on GitHub

Analytics

Status Update Tue Jun 02 2020

What was accomplished

  • Fixit week 9 closed issues
  • Consent Metadata PRs landed. Introduced getConsentMetadata to get TCF v2 related consent meta data including consent string type, gdprApplies and additional consent string info.
  • Consent UI Lightbox design
  • Enabled data-vars attribute for analytics events by default
  • Further expanded the consent info storage limit to 1200 in chars
  • Add expireCache support to amp-consent reprompt action
  • Deprecated and clean up the analytics mApp support.
All details on GitHub

What's next

  • OpenJS World Summit
  • Consent UI lightbox mode API Design
  • InOb Polyfill usage in analytics investigation
  • Expand iframe-transport feature to all analytics vendors (still under discussion)
All details on GitHub

Infrastructure

Status Update Sat May 02 2020

What was accomplished

  • Deployed Error Monitor UI (in beta)
  • gulp tasks can now programmatically build runtime during tests (#28326)
  • Established grouping & reviewer assignment for Renovate PRs (#28322)
  • Investigated / debugged disconnection failures due to Sauce Labs (#28343)
  • Added performance tests to Travis CI (#28148)
All details on GitHub

What's next

  • Move generation of release binaries to open source via gulp release
  • Automatically create issues for commonly seen runtime errors
  • Add a presubmit check for renovate configuration changes
  • Test / deploy new version of karma-sauce-launcher
All details on GitHub

Runtime

Status Update Sat May 02 2020

Recap

Justin
 * Opened PR for deferring buildCallback
 * Doesn't affect LCP as much as we thought, maybe it'll help FID
 * PR Reviews


Jake
 * Submitted a fix so that we don’t send documentHeight until it is ready. Potentially two bugs with one stone: (b/154603596, b/143078110).
 * In-progress
 * New metrics eer/ser (https://github.com/ampproject/amphtml/pull/28401)
 * Improved e2e viewer tests (https://github.com/ampproject/amphtml/pull/28531).
 * Adding runtime pages to the gulp performance (https://github.com/ampproject/amphtml/pull/28503).
 * Protocol adapters worker-dom implementation (https://github.com/ampproject/worker-dom/pull/850).


Will
 * intersect-resources
 * Candidate fix for idle render merged, pending ads metrics


Learned

  • Use DCL to normalize metrics like LCP
 

All details on GitHub

Next

Justin
 * Finish buildCallback PR
 * Finally write doc about WorkerDOM/amp-bind in same-origin iframe (with sync messaging)
 * Look into removing Owners System, replace with InOb polyfill


Jake
 * IE11 Minimum support explorations
 * Continue many in-progress PRs with the goal of eventually optimizing
 * Load rect
 * Resource loading prioritization


Will
 * intersect-resources
 * Prod rollout and manual QA test plan

All details on GitHub

Analytics

Status Update Sat May 02 2020

What was accomplished

  • Turned on analytics-chunks experiment in canary.
  • Expanded consent string size limit to 1kb
  • Decided to introduce Consent UI new lightbox mode docs
  • Decided NOT to proceed with the Standalone analytics solution for AMPHTML Ad for now.
  • Decided keep the existing linker coverage. Will NOT auto launch linker to all browsers for now.
All details on GitHub

What's next

  • Consent metadata & Consent Vendor API redesign
  • Consent UI lightbox mode
  • Next step on granular consent support
  • Grouping target elements for CustomEvent & StoryEvent Issue
All details on GitHub

Runtime

Status Update Fri May 01 2020

Recap

  • Justin

    • Auto link stacktrace frames to code in bug reports

    • Added support for module/nomodule script pairs

    • Fixed devAssert/userAssert for closure's type narrowing

    • Persistent browserify caching!

    • Helped remove AmpPass, various fixes to infra builds

    • Added linting to chai assertions, fixed tests

    • Added a few missing unresolved element CSS styles

    • Made blurry-image non-interactable when it's opacity: 0.

    • Fixed CEv1 in Safari 9 and Yandex

    • Made getMode().test and friends DCE in prod (again)

  • Jake

    • documentHeight bugfix, unit test, and integration test.

    • amp-script worker exceptions caught as user errors instead of dev errors. 

    • Protocol Adapters unit tests and manual e2e test.

    • Small improvements to the e2e testing flow (--extensions and --fast options)

  • Will

    • “intersect-resources” experiment

      • Fixed ads regression

      • Looks like 1-2% LCP, 5-6% FID improvement

    • Reviewed to-date progress on code mauve in CSI data


Learned

  • Persistent module state in unit tests is tricky

  • Old browsers still get a small (but noticeable) percentage in traffic

    • Does this effectively constrain our true browser support set?

All details on GitHub

Next

  • Justin

    • Hoping to add persistent file transform cache to Babel

    • Deferring buildCallback (should be easier, now that I've looked into it)

      • See if any elements expect really early buildCallback

  • Jake

    • New metric for in-viewport but not rendered latency

    • worker-dom Protocol Adapters PRs

    • IE11 Minimum support explorations

  • Will

    • Figure out and run a manual QA plan and start prod rollout 🤞
All details on GitHub

Analytics

Status Update Fri May 01 2020

What was accomplished

  • Performance Improvement
  • Running analytics-chunks experiment in canary. (Exclude AMPHTML ad)
  • Two existing errors surfaced due to the above experiment Issue Issue

  • Consent

  • Discussion on allowing consent dialog to take over fullScreen on page load Issue
  • Add metadata on top of the raw consent string. PR
  • Fixed consent dialog UI when the navigation bar is displayed. Issue
  • Agreed on expanding raw consent string storage limit up to 1kb.
    • The AMP team will monitor the "storage size exceed limit" error rate.
    • Update from Google AMP Viewer: open to expand the size limit to each domain, if it's the current limit is too small for the TCF V2 consent string.
All details on GitHub

What's next

  • Store consent metadata & pass metadata to vendors
  • Standalone analytics solution for AMPHTML Ad. Looking for early thoughts and ideas! Draft PR Draft PR.
All details on GitHub

Bento

Status Update Mon Apr 06 2020

What was accomplished 🍱 ✅

  • amp-render bindable src PR merged
  • Collaboration with caching team on validator changes for developer preview components (still under experiment)
  • Storybook upgraded to version 6
  • Investigating a visual diff test that outputs CLS changes
  • Discussion with bento.dev and legal for naming
  • Reviewing element that may cause issues for existing / future bento migrations
All details on GitHub

What's next ⏩

  • Remove existing implementation of display locking per changes to chromium team's support
  • Working with infra 👋 🏗️ to release npm binaries
  • Validate all developer preview components (still under experiment)
  • amp-sidebar toolbar feature in AMP mode
  • amp-render support for amp-script protocol and placeholder
  • amp-twitter ongoing work
  • Tune in for shadow DOM demo in today's deep dive
All details on GitHub

Runtime

Status Update Thu Apr 02 2020

Recap

  • Justin

    • Fixed CEv1 in IE 11, again

    • Fixed integration test in IE11, added simple amp-img test

    • Opened PR to use localName/tagName based on whether using uppercase/lowercase

    • Quick Promise.resolve() transform to share instance

    • Banning newer ES features, removingPromise.p.finally use

  • Jake

    • Mauve related

      • Removed force option from toggleLoading. Afterwards: fixed bugs it caused (gh/27508, gh/27905)

      • Removed unnecessary measures from the toggleLoading calls in hide() and the video-player (gh/27730, gh/27654, gh/27760, )

    • Other

      • Implemented draft of protocol adapter support in worker-dom (gh/worker-dom/850)

      • Found/fixed an iOS bug where we were missing a needed measure (gh/27729)

      • amp-script: improved illegal mutation messaging (gh/27834)

      • Added [data-tweetid] to the validator (gh/27787)

  • Will

    • Finished IntersectionObserver test plan, fixed a few more edge cases, and enabled in canary (4/28)

    • Wrapped up some email-related tasks in amp-list

    • Found documentHeight/premature remeasure bug


Learned

  • We need an integration test for documentHeight for email (do we have any for other viewer messages?)

  • Closure's Conformance config won't ban prototype accesses with BANNED_NAME

All details on GitHub

Next

  • Justin

    • Finish connectedCallback PR

      • Reduce dom mutations

      • Defer buildCallback

  • Jake

    • Mauve

      • Fix documentHeight bug

      • Runtime perf test pages

    • Other

      • Protocol adapters

    • Discuss: intern/step

  • Will

    • Try out IntersectionObserver in canary
All details on GitHub

Analytics

Status Update Thu Apr 02 2020

What was accomplished

  • amp-geo
  • Landed preset-us-ca support
  • self hosting amp-geo API supports subdivision
  • Performance improvement
  • Split analytics initialization into chunks. (need to run 'analytics-chunks' experiment with AMPHTML ads first)
  • Added analytics request handler to performance test to find potential delay on pageview delay
  • Created test pages array
  • Consent
  • Fix flaky e2e tests
  • Improved vendor facing docs
  • PRs on passing TCF required gdprApplies variable, and consent string type
  • Allowed fullScreen consent dialog when user open it via the postPromptUI button
All details on GitHub

What's next

  • Plan to launch Linker to all browsers (still under discussion)
  • AMP Consent TCF v2 related features support
  • Test and launch analytics-chunks experiment
  • Visibility trigger to support non-AMP element
All details on GitHub

Runtime

Status Update Wed Apr 01 2020

What was accomplished

  • First PreactBaseElement was merged!
  • Minimal CEv1 Polyfill launched
  • Work on IntersectionObserver based Resources, now enabled in experimental build
  • Updated enabling development mode for amp-script
  • amp-state can now be the source for an amp-list
  • Using performance.now for metrics deltas
  • DomPurify is now much faster for pages that have multiple amp-mustache templates
  • Caching amp-access evaluations, for faster evaluations
  • Fixed sourcemaps, multiple times.
  • Fixed iOS scrolling issues
  • Removed remeasure from toggleLoading

Lessons learned

  • The venerable 2015 MBP is slowly showing its age…
  • Verify Resource prototypes on real pages
All details on GitHub

What's next

  • Delaying BaseElement construction until connectedCallback
  • Speeding/prioritizing connectedCallback/buildCallback
  • Protocol adapters for remote data
  • InOb verification and fixes
  • More Perf work!
All details on GitHub

Runtime

Status Update Wed Apr 01 2020

Recap

  • Justin

    • TC39

    • Reviewed with Babel minifier transforms

    • Fixing sourcemaps (again)

    • Opened PR to delay constructing BaseElement construct until connectedCallback

  • Jake

    • optimization: removed remeasure from toggleLoading (gh/27482)

    • refactor: slightly cleaned up toggleLoading flow (gh/27527)

    • more toggleLoading changes in-flight

  • Will

    • IntersectionObserver testing & edge cases

    • Other stuff


Learned

  • Justin needs to get a new computer

All details on GitHub

Next

  • Justin

    • Land delaying BaseElement construction to connectedCallback

    • Make connectedCallback less expensive 

  • Jake

    • Complete inflight changes to toggleLoading

    • Create unit tests for loader.js and amp-loader.js
    • Protocol adapters

    • Performance

      • Skip amp-bind tree walking

      • Reduce cost of reparenting

      • Prioritize layout of in-viewport elements

  • Will

    • Finish testing & enable IntersectionObserver in canary
All details on GitHub

Analytics

Status Update Wed Apr 01 2020

What was accomplished

  • Opened PR to for gulp performance task to test locally hosted websites
  • Fixed bug with analytics variable expansion handling null
  • Worked on TCF v2 gdprApplies field for CMPs and publishers in amp-consent
  • Allowed one tracking iframe per AMP document
  • Support US-CA detection in <amp-geo> via preset-us-ca
All details on GitHub

What's next

  • Continue adding support for gdprApplies
  • Land performance task PR
  • Merge inline and vendor config server side
All details on GitHub

Monetization

Status Update Wed Apr 01 2020

What was accomplished

Amp monetization - Experiment for adding type=module crossorigin=anonymous on Google ready to be launched - Investigation of no-signing integration failures

Story ads - Fix story-ad-click regression - Design for auto-advance experiment - Monitoring placement change results

All details on GitHub

What's next

Amp monetization - No signing cleanup - Sticky ad CSS experiment follow-up

Story ads - Launch auto advance experiment - Animation in x-domain iframes

All details on GitHub

AMP for Email

Status Update Wed Mar 04 2020

Highlights

  • A lot of consensus on standardization efforts

WG Meeting Notes (12/13, 1/10, 2/13)

  • Unified sender registration form still in review across providers
  • Consensus on allowing CSS attribute selectors in spec
  • Consensus on banning AMP-Redirect-To feature in amp-form
  • Consensus on standardizing meta-based whitelists (https://github.com/ampproject/amphtml/issues/27094)
  • Consensus on allowing input[type=button] in spec, links with tel: URI scheme
  • Reviewed process proposal for incremental adoption of new AMP components
  • Discussed optional enforcement of email CSS rules in validator
  • Discussed standardizing enforcement of DMARC
  • Discussed standardizing email "hyper-collapsing"
  • Discussed standardization of MIME tree corner cases
  • Continued reviewing new email auth proposal
  • Created new "AMP for Email Ecosystem" group and Slack channel
All details on GitHub

Focus areas

  • Standardizing AMP for email behavior across providers by using AMP4EMAIL spec as single source of truth
All details on GitHub

Runtime

Status Update Tue Mar 03 2020

What was accomplished

Lessons learned

All details on GitHub

Analytics

Status Update Tue Mar 03 2020

What was accomplished

  • Enhanced gulp performance task to intercept and time requests based upon different team needs (also helps with pinpointing regressions)
  • Launch visibility trigger multi-selector capabilities to config size in amp-analytics
  • Decided to chunk the analytics initialization by triggers to reduce long tasks
  • More US-CA support work on server
All details on GitHub

What's next

  • Monitor analytics request delay using performance task on master for noise and evaluate it's effectiveness
  • QuerySelectorAll for visibility trigger
  • TCF v2 gdprApplies field for CMPs and publishers in amp-consent
  • analytics for ad design
All details on GitHub

Monetization

Status Update Tue Mar 03 2020

What was accomplished

AMP Monetization - Vendor splitting and ES module code 100% complete, experiment on - Discussed with Greg the technical routes of setting up client side experiments on Google AMP viewer, design doc TBD - IMA video not getting the canonical URL causing ad revenue loss: Coordinated a fix on the IMA SDK first - Web interstitial ads design WIP - Fixed bug in no singing around body attributes and restart experiment. - Fixed bug setting extension versions in template based ads.

Story Ads - Finished refactoring of story ads to isolate placement logic. - Started new experiment to test placement in shorter stories

All details on GitHub

What is next

AMP Monetization - Notifying ad vendors to test the vendor splitting - Evaluate vendor splitting outcome - Top sticky ad implementation - IMA video RTC design

Story ads - Set up auto advancing experiment - Placement design review

All details on GitHub

Runtime

Status Update Mon Mar 02 2020

What was accomplished

Lessons learned

All details on GitHub

Analytics

Status Update Mon Mar 02 2020

What was accomplished

  • ANALYTICS_VENDOR_SPLIT Clean up is done. Vendors need to submit .json file instead of .js file in the future
  • Consent String size limit was increased from 150 bytes to 200 bytes. Future increase is still under discussion
  • <amp-geo> falls back to geoApi when geo hot patch is not available. (e.g. self hosting)
  • Visibility trigger improvements for <amp-analytics>: multi-selector, querySelectorAll, and non-amp elements
  • <amp-consent> UX and a11y improvements rolled out
All details on GitHub

What's next

  • Benchmark individual features and heavy operations performance
  • Explore webworker solution for heavy operations
All details on GitHub

Runtime

Status Update Sun Mar 01 2020

What was accomplished

Lessons learned

All details on GitHub

Analytics

Status Update Sun Mar 01 2020

What was accomplished

  • Benchmark <amp-analytics> performance and pageView delay
  • Use existing performance testing framework to also measure request delay.
  • Explore solutions to reduce analytics related long tasks. (chunk, worker)
All details on GitHub

What's next

  • <amp-consent> gdprApplies field
  • Continue work to reduce analytics related long tasks
  • Reduce <amp-analytics> pageView delay. Some proposals include: include vendor predefined config inline, introduce a lite component for ads.
All details on GitHub

Infrastructure

Status Update Mon Feb 03 2020

What we did

  • Updated amp.dev release schedule page
  • Release tagging is live (PR Use: In Stable / Beta / Experimental)
  • Updated cherry-pick template with new release channel names
  • Added a way to build only the core runtime via gulp build | dist | watch --core_runtime_only
  • Clarified process for adding amphtml dependencies using yarn
  • Triaged backlog of infrastructure issues
  • Renaming AMP_CANARY cookie to __Host-AMP_OPT_IN
All details on GitHub

What's next

  • Default minified build (gulp dist) will now add AMP_CONFIG to runtime files
  • Performance tests as part of CI / release workflow
  • Make LTS and nightly channel widely available
  • Take steps to reduce CI flakiness (sauce labs, percy)
All details on GitHub

Runtime

Status Update Mon Feb 03 2020

What was accomplished

Lessons learned

All details on GitHub

Analytics

Status Update Mon Feb 03 2020

What was accomplished

  • <amp-consent> a11y redesign implementation
  • <amp-consent>``enterFullScreen API is now only allowed after user interaction
  • <amp-consent> supports new API for CMPs to collect error messages
  • Design proposal to have <amp-geo> detect California in the format of ISO 3166-2 code
All details on GitHub

What's next

  • Fully launch the <amp-consent> UI enhancement including the tasks above (now protected by experimental flag)
  • Patch ISO 3166-2 code to amp-geo-0.1.js
  • Allow <amp-geo> to fallback to fetch geo location from a remote endpoint. (Discussion from #25873)
All details on GitHub

Viewers

Status Update Sat Feb 01 2020

What was accomplished

  • @newmuis wrote an I2I for the AMP Story Player which is independent from the amp-viewer project
  • It has a narrower scope than the existing player so it was decided to start from scratch.
  • @Enriqe is in progress of implementing the feature.
All details on GitHub

Monetization

Status Update Sat Feb 01 2020

What was accomplished

AMP Monetization - Merged a few prerequisites for amp-ad 3p vendor splitting, building vendor-specific integration Javascript files - FIE element eager building is ready to launch - Sticky ad through amp-ad merged in - PageEx + AMP ads workshop

Story Ads - Story ads placement design - Bug where desktop CTD ads are broken at certain window sizes

All details on GitHub

What is next

AMP Monetization - Amp-ad 3p vendor splitting (I2I forthcoming) - Top sticky ad (https://github.com/ampproject/amphtml/issues/31513) - Working with Kargo to provide a reference implementation of certain new ad formats - Ship eager building for inabox - One more pass at no signing optimizations

Story ads - Encapsulate logic for placement algorithm - Start new algorithm implementation

All details on GitHub

Infrastructure

Status Update Mon Jan 06 2020

What we did

  • LTS: Updated validator and other parts to support new release type
  • GH releases are now auto-published
  • WIP: Updates to release schedule
  • New cherry picking section of release dashboard
  • Network logging for E2E tests
  • Added coverage instrumentation for unminified builds
All details on GitHub

What's next

  • Wrap up docs / comms for LTS
  • Improve changelog creation
  • Network logging API for E2E tests
  • Measure code coverage during integration tests
All details on GitHub

Runtime

Status Update Mon Jan 06 2020

What was accomplished

Lessons learned

All details on GitHub

Infrastructure

Status Update Thu Jan 02 2020

What we did

  • Updated Release documentation
  • Forbid iframe-ing experiments page to prevent clickjacking
  • Release tagging works
  • Updated / unflaked e2e tests with new selenium version
  • Enforced JSDoc-based access controls in source code
  • New --core_runtime_only flag for gulp {build|watch|dist}
  • Published Infra doc for OpenJS
All details on GitHub

What's next

  • Interactive visualization for release schedule/cadence
  • Announce / monitor LTS launch
  • Rename AMP_CANARY cookie to __Host-AMP_OPT_IN
  • Automate deployment of internal GitHub apps
  • Refactor gulp changelog
  • Integrate perf tests into CI
  • Fix Sauce Labs disconnects (with help from Karma & Sauce)
All details on GitHub

Runtime

Status Update Thu Jan 02 2020

What was accomplished

Lessons learned

All details on GitHub

Infrastructure

Status Update Mon Dec 09 2019

What we did

  • Release names: stable, beta, experimental, nightly, lts
  • Design reviews for nightly and lts
  • Opt-in cookie for arbitrary RTVs
  • Fixed ~5k unit / integration tests that were using global sandbox
  • Added support for checking bundle-size of all JS files
  • Legacy bluebird promise cleanup
All details on GitHub

What's next

  • Deploy automated release tagger
  • More work on LTS and nightly releases
  • Validator changes to recognize LTS releases
  • Network logging for E2E tests
  • Enforce bundle-size check for JS files that opt in
All details on GitHub

Runtime

Status Update Mon Dec 09 2019

What was accomplished

Lessons learned

All details on GitHub

AMP for Email

Status Update Wed Dec 04 2019

Highlights

  • Held email mini-summit at ACS 2019 in NYC
  • Outlook.com launches AMP for Email to developer preview
  • VerizonMedia merged an OSS Java implementation of the AMP validator
  • Gmail rolls out AMP for Email to Android

WG Meeting Notes (9/12, 10/17, 11/8)

  • Working on unified sender registration process (shared form in review)
  • Received feedback on proposed shared HTML/CSS whitelist standards
  • Consensus on standardizing max email size (200KB), max template SSR size, etc. (#4)
  • More discussion on "CORS for email" proposal (#7)
  • New proposal for email sender authentication (ecosystem-friendly replacement for proxy assertion tokens)
  • Discussed AMP validator versioning and mitigating version skew across providers
  • Consensus on allowing limited CSS attribute selectors (e.g. useful for amp-selector)
  • Proposed new component in AMP4EMAIL spec: amp-autocomplete
  • Self-hosting AMP JS and rollout patterns
  • New outreach channels for email senders and ESPs
All details on GitHub

Focus areas

  • Standardizing AMP for email behavior across providers by using AMP4EMAIL spec as single source of truth
All details on GitHub

Infrastructure

Status Update Fri Nov 01 2019

What we did

  • OWNERS syntax check via API
  • Eliminating use of global sinon
  • Fixed breaks due to new Node LTS
  • Owners bot GCE → GAE (with tree, teams, and syntax guide)
  • Test infra for amp-github-apps
  • Fixed npm security vulnerabilities
  • Premium Travis VMs are live
All details on GitHub

What's next

  • Automate GitHub release creation and improve content
  • Auto-label PRs on release
  • Track bundle-size for extensions
  • Automate node LTS upgrades
  • Upgrade sinon and eliminate the use of global sandbox

All details on GitHub

Runtime

Status Update Fri Nov 01 2019

What was accomplished

Lessons learned

All details on GitHub

Infrastructure

Status Update Wed Oct 02 2019

What we did

  • New build-pipeline check for unknown dependencies
  • Automating GitHub release publication (tracking release CLs)
  • Owners Bot migrated to AppEngine w/ virtual repository
  • Public-facing owners tree & status pages
  • New style check for non-JS files (OWNERS, docs): gulp prettify
  • Lots of small documentation fixes
All details on GitHub

What's next

  • Make owners bot repo agnostic
  • Travis check for OWNERS syntax
  • First steps on monthly release channels
  • Automate GitHub release creation and improve content
  • Track bundle-size for extensions
  • Adopt new bundle-size checker
  • Un-break amphtml-validator for users of older Node versions
  • Automate node upgrades across all package.json files
All details on GitHub

Runtime

Status Update Wed Oct 02 2019

What was accomplished

  • Custom Elements v1 shipped
  • With IE11 cherry-pick
  • CL out for non-polyfill in supported browsers
  • Resources now invalidates children of Scroll boxes
  • Goal after of Layers failure
  • CL for removing query params before navigate (ITP 2.3)
  • CLs for Action Trust
  • Actions should propagate the trust they receive
  • Breaking async cycles

Lessons learned

  • IE11's HTMLElement class does not extend from Function
  • So, HTMLElement.call doesn't exist
  • Errors in cross-origin scripts aren't reported, still.
All details on GitHub

What's next

  • @choumx away at summit & training
  • @jridgewell on release duty
  • Adding crossorigin=anonymous to AMP scripts
All details on GitHub

Caching

Status Update Wed Oct 02 2019

What was accomplished?

  • Removed error categories in AMP Validator, and rev’d to Node 12.
  • Above caused some incompatibility issues, which have now been resolved.
  • Added SameSite=none to AMP CID cookie.
All details on GitHub

Infrastructure

Status Update Tue Oct 01 2019

What we did

  • Owners check is now blocking
  • Enabled automatic reviewer assignment
  • Added bundle-size support for arbitrary binaries / extensions
  • Reorganized build-system and repo root directory for better code ownership boundaries
  • Investigated ways to check owners file changes during CI
  • Presented 2019 Infra highlights during contributor summit
All details on GitHub

What's next

  • Deploy bundle-size checks for a few non-v0.js files
  • Investigate / fix missing PR-deploy button for some folks
  • Add a CI check for OWNERS file formatting
  • Follow up on open requests from contributor summit
All details on GitHub

Runtime

Status Update Tue Oct 01 2019

What was accomplished

  • AMP Contributor Summit

Lessons learned

  • ACS Debrief
  • Let’s improve documentation
All details on GitHub

What's next

  • 📧Email
  • Recursive XHR issue
  • Unified sender registration
  • SSR-dependent “documentHeight” message
  • 🍱React-based AMP components
  • Launch plan
  • ⚙Runtime
  • CSI migration design
All details on GitHub

Runtime

Status Update Tue Sep 03 2019

What was accomplished

  • [WIP] React-based AMP components
  • amp-script: amp-state [WIP], improved docs
  • Fixed DOM clobbering of AMP globals
All details on GitHub

What's next

  • React-based AMP components
  • amp-script + amp-state
All details on GitHub

Caching

Status Update Tue Sep 03 2019

What was accomplished?

  • Prep for SXG Contributor Summit Talk next week
All details on GitHub

Runtime

Status Update Mon Sep 02 2019

What was accomplished

  • Opt in for individual AMP experiments now uses LocalStorage instead of cookies.
  • Tons o' work on amp-bind
  • Perf improvements
  • amp-script launched!
  • Inline scripts support
  • Canvas support
  • LocalStorage support
  • AMP setState support
  • 1-pass build work
  • Concatenate and prune intermediate module dependencies into a single final JS file
  • Fix sourcemaps
  • Fixit week:
  • Faster ads/analytics configuration parsing via JSON.parse
  • amp-list DOM diffing instead of innerHTML
  • Bento
  • Exploring using React internally to simplify components
  • Exploring how to wrap React in AMP and "Bento" modes
  • Layers was disabled and removed
All details on GitHub

What's next

  • AMP Contributor Summit!
  • Continuing Bento explorations
  • Better support for AMP Emails
All details on GitHub

Infrastructure

Status Update Sun Sep 01 2019

What we did

  • Deployed owners bot after design review
  • Owners is now a non-blocking check on Github
  • Enabled brotli size tracking via bundle-size bot (not yet default)
  • Lazy-build is default gulp mode (to disable: --eager_build)
  • Re-wrote dev server as an in-process server
  • Sauce Labs start / stop scripts supported on Linux and Mac OS
  • Fixed bug that caused frequent Travis cache corruption
All details on GitHub

What's next

  • Owners bot: always / never notify owners, auto-assign reviewers, syntax checks
  • Improve Travis greenness
  • Release tooling (“is my PR in production?”)
All details on GitHub

Runtime

Status Update Sun Sep 01 2019

What was accomplished

All details on GitHub

Caching

Status Update Sun Sep 01 2019

What was accomplished?

  • Convert amppkg from dep to go mod
  • Validator verifies that template=”” matches a template id on the page
  • Beginning work on ACME cert renewal in amppkg
  • Welcome Allan Banaag to https://github.com/ampproject/wg-caching
  • <style amp-custom-length-check> special error in AMP Validator

This update includes several previous weeks.

All details on GitHub

AMP for Email

Status Update Thu Aug 01 2019

Highlights

  • Planning in-person meeting at ACS 2019 in NYC
  • Microsoft and VerizonMedia implementations still in progress

WG Meeting Notes (6/14, 7/12, 8/9)

  • Expanded wg-amp4email GitHub membership
  • Progress on alignment across provider-specific HTML/CSS whitelists and AMP4EMAIL spec
  • Consensus on deprecating proxy assertion tokens to avoid senders potentially only supporting large providers
  • Documented AMP viewer implementation guidelines
  • Consensus on approach for shared sender registration/whitelisting (with long-term goal of not having a sender whitelist at all)
  • Discussions on a new CORS mechanism specifically for AMP4EMAIL (#7)
  • Discussions on standardizing AMP MIME part expiry, max size, and max number of AMP elements (#4)
All details on GitHub

Focus areas

  • Adapting the AMP4EMAIL spec to avoid potential ecosystem fragmentation

/cc @jasti

All details on GitHub

Runtime

Status Update Thu Aug 01 2019

What was accomplished

  • Fix-it
  • Launch amp-script
  • jsonConfiguration()
  • amp-list: DOM diffing and error UI

Lessons learned

  • Code branching on const private props are not DCE’d
/** @const */
this.nope_ = false;

if (this.nope_) {
  foo(); // Still bundled.
}
All details on GitHub

What's next

  • amp-script + amp-state
All details on GitHub

Analytics

Status Update Thu Aug 01 2019

What was accomplished

  • Add PAGE_VIEW_ID_64 support
  • Add AD_START AD_END events in video analytics
  • Analytics Linker: No longer decorate internal navigation
  • Load analytics vendor's config lazily (currently running experiment)
  • Resolves NAV_TIMING macro earlier depending on the performance timing signal
All details on GitHub

What's next

  • <amp-experiment> 1.0 implementation review
  • Launch the improvement to load analytics vendor's config
  • Launch & Document nested macro feature
All details on GitHub

Infrastructure

Status Update Mon Jul 08 2019

Release quality

  • Initial version of PR deploy bot
  • Fixed amp-date-picker bug, wrote post mortem
  • Enabled dormant conformance checks for runtime code

Developer experience

  • Migrated CJS runtime deps to ESM
  • Babel transforms for multipass
  • Fixed babel global transform config
  • Fixed gulp watch bug (cancel on compilation error)
All details on GitHub

What's next

  • More work on PR deploy bot
  • Re-deploy owners bot with new reviewers assignment algorithm
  • Generate externs for all typedefs found in 3p/ads/bind
All details on GitHub

Analytics

Status Update Mon Jul 08 2019

What was accomplished

Issue triaging - Triaged 120 issues. Attached component labels. Closed 16 obsolete ones. Prioritized ~20 for fixit week.

Bug Fixes - Investigated a regression caused by [PR] (https://github.com/ampproject/amphtml/pull/22812). Cherrypicked a revert PR to inabox canary.

amp-experiment v2 - support selecting multiple elements PR pending

All details on GitHub

What is next

  • Lazily load analytics vendor config
All details on GitHub

Runtime

Status Update Tue Jul 02 2019

What was accomplished

  • amp-script: Local storage, better reference docs
  • worker-dom: Unwrap author script, upgrade TS, bug fixes and code clean up
  • 1-pass: Source map compat for intermediate bundles
  • AMP4EMAIL: Investigate mustache rules at runtime
  • amp-bind: Fix bug in canary
  • @jridgewell on release duty

Lessons learned

  • Read APIs carefully for DOM traversal edge cases
All details on GitHub

What's next

  • Launch amp-script
  • amp-script: Actions/events as component interface
  • Bento: Start design and prototyping for service decoupling
  • AMP4EMAIL: Error UI for amp-list and DOM diffing
All details on GitHub

Viewers

Status Update Mon Jul 01 2019

Infrastructure

Status Update Sun Jun 02 2019

Release quality

  • Fixed saucelabs safari 12.1 bug
  • Run integration tests on IE 11

Developer experience

  • Refactor of gulp test into gulp unit|integration|a4a
  • WIP: Bot to deploy in-flight PR code for demo / testing (on-demand)
  • Refactored / sped up unminified builds by 15%
All details on GitHub

What's next

  • Redeploy owners bot with new reviewers assignment algorithm
  • Generate externs for all typedefs found in 3p/ads/bind
All details on GitHub

Caching

Status Update Sun Jun 02 2019

What was accomplished?

  • Released amppkg v2.
  • Fixed etag issue with AMP Packager’s certificates.
  • Meta tag fix to transformers in AMP Cache, cease moving them all to head.
All details on GitHub

Analytics

Status Update Sun Jun 02 2019

What was accomplished

New Features - <amp-experiment> support mutating class attribute PR - Introduce requestOrigin to <amp-analytics> requests config fields. Issue - Introduce $EQUALS macro support in <amp-analytics> Issue - Convert all Analytics vendor config from js file to json file. This is part of the effort to lazily load analytics vendor configs. - Change Analytics Linker's default behavior to decorate all subdomains - Introduce $COOKIE macro support in <amp-analytics> Issue - Allow setting custom cookie expiration time when setting cookie with <amp-analytics>'s cookie config Issue

Bug Fixes - Fix regression where Analytics Linker decorate fragment url - Fix a race condition when resolving performanceTiming.loadEventEnd [PR] (https://github.com/ampproject/amphtml/pull/22812) - Fix race condition where video-percentage-played doesn't trigger Issue - Fix nested macro expansion bug Issue

All details on GitHub

What is next

  • <amp-experiment> v2 to support selecting multiple elements
  • <amp-experiment> v2 to support mutating style and src attribute
  • Lazily load analytics vendor config
All details on GitHub

Caching

Status Update Sat Jun 01 2019

What was accomplished?

  • Restore dns-prefetch cache transformers; broken recently.
  • Major changes to Email Validator to better match Gmail filtering rules.
  • Javascript fix to implement the 1000 byte inline CSS limit.
  • Fixed inner != outer issue in amppackager.
  • WIP improving/defining amppkg release process
All details on GitHub

Caching

Status Update Thu May 02 2019

What was accomplished?

  • Basic image preloading in amppkg
All details on GitHub

AMP for Email

Status Update Wed May 01 2019

Highlights

WG Meeting Notes (5/10)

  • Shared goal: AMP4EMAIL spec is the source of truth for rendering compatibility in email providers
  • Corollary: Shared sender tooling that works across providers
  • Corollary: Migrating provider-specific whitelists (HTML/CSS) to AMP4EMAIL spec
  • Implementation details of provider adoption e.g. integrating a production-grade AMP validator
  • @ampproject/wg-caching is investigating open-sourcing internal C++ validator
  • Discussed 3P authentication with proxy assertion tokens
  • Discussed wg-amp4email GitHub membership
All details on GitHub

Focus areas

  • Cross-provider compatibility per AMP4EMAIL spec (above)
  • Allowing more components in AMP4EMAIL e.g. amp-animation, amp-analytics

/cc @jasti

All details on GitHub

Analytics

Status Update Wed May 01 2019

What was accomplished

Fixit week - Added doc for Linker wildcard feature - Added amp-analytics integration tests for PWA - Fixing nest macro bug in var - Writing cookies to eTLD+1 to be consistent with CLIENT_ID - WIP amp-call-tracking bug

amp-experiment v2 - Introducing mutation limit and config size limit

All details on GitHub

What is next

amp-experiment v2 - Working towards GA launch with Optimizely

Linker - Enable Linker for eTLD+1 by default

All details on GitHub

Analytics

Status Update Tue Apr 02 2019

What was accomplished

amp-experiment v2 - Integrated with Action Network, had demo in AMP Conf

All details on GitHub

What is next

amp-experiment v2 - Working towards GA launch with Optimizely

ITP2.2 - Evaluate impact

Bugs - Fix nested macro bug #20816 - amp-call-tracking in AdWords #20551

All details on GitHub

Analytics

Status Update Fri Mar 01 2019

What was accomplished

amp-experiment v2 - Fixed a render-delaying service regression #21193

amp-analytics - a CSP friendly way for user to opt-out tracking WIP

Linker - Allow LINKER_PARAM to be used outside WIP

All details on GitHub

What is next

amp-experiment v2 - Version bump - Implement config parser - Security review

Linker - Allow LINKER_PARAM to be used outside cookie writer

amp-analytics - a CSP friendly way for user to opt-out tracking

All details on GitHub

Analytics

Status Update Sat Feb 02 2019

What was accomplished

amp-experiment v2 - bench mark for mutation operations. decided on mutation limit.

Linker - Support wildcard in destination domain setting

All details on GitHub

What is next

amp-experiment v2 - Version bump - Implement config parser - Fix Render-delaying services - Security review

Linker - Allow LINKER_PARAM to be used outside cookie writer

amp-analytics - lazy load vendor config design - a CSP friendly way for user to opt-out tracking

All details on GitHub

Caching

Status Update Wed Jan 02 2019

What was accomplished

  • AMP actions validator rules now available.
  • Correct handling of document fragments in the cache. #19688
  • Transformed AMP SXG now include
  • version of transformers used
  • original CSS string fragments
  • protect against data:... in CSS
  • css escaping logic
  • Validation of transformer cdn and version
All details on GitHub

What's next

  • Transformed AMP SXG to
  • strip comments from script tags
  • Validator to enable/disable tagspec based on type identifiers.
All details on GitHub