GithubHelp home page GithubHelp logo

ampproject / wg-components Goto Github PK

View Code? Open in Web Editor NEW
11.0 16.0 20.0 43 KB

Responsible for AMP components, the overall health of AMP Pages, analytics features, and integrations with partner technologies. Facilitator: @alanorozco

License: Creative Commons Attribution 4.0 International

wg-components's Introduction

wg-components

wg-components Working Group is responsible for AMP components, the overall health of AMP Pages, analytics features, and integrations with partner technologies.

For overall accessibility, this group is also the first point of contact, however each WG is responsbile for ensuring accessibility within their areas of responsibility.

Facilitator: @alanorozco

Current Members

Github team https://github.com/orgs/ampproject/teams/wg-components also includes Components WG members.

Communication Channels

  • Components Working Group members will use #wg-components channel on AMP's Slack (signup) for real-time discussion. The channel is open to anyone, regardless of membership in UI working group.
  • Components Working Group will have Sprint planning meetings once every 2 weeks. To join in please dial into the following Hangouts Meet room. You can also duplicate this calendar reminder to remind yourself of this meeting.
  • Components Working Group will post Status Updates every two weeks as an issue labeled with Type: Status Update in this repository.
  • Components Working Group will post Announcements and Notices regarding events as an issue labeled with Type: Event in this repository.

Any bugs or feature requests related to AMP should NOT be filed in this repository and https://github.com/ampproject/amphtml/issues should be used instead.

@ampproject/wg-components can be used to mention the Components Working Group in issues and PRs.

Code of Conduct

UI Working Group follows the AMP open source project code of conduct.

wg-components's People

Contributors

aghassemi avatar alanorozco avatar cvializ avatar krdwan avatar kristoferbaxter avatar mrjoro avatar nainar avatar newmuis avatar robinvanopstal avatar sebastianbenz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

wg-components's Issues

wg-ui-and-a11y Quarterly Status Update - January 2020

What was accomplished

Inline autocomplete component

  • Allows for inline autosuggest use-cases
  • Server and client side filtering
  • Fully accessible with keyboard and screen reader

Better menu experience with <amp-sidebar>

  • A new sidebar that allows better nesting of both an accordion and drill down menu.

Accordion menu:
TODO: Insert GIF

Drilldown:

  • Better responsive desktop/mobile experience via <amp-mega-menu> (Reference documentation)
  • A component that allows you to have a mega menu on desktop. Important for SEO.
    TODO: Insert GIF
  • Is available to be used with <amp-sidebar> 0.1

<amp-next-page> (Reference documentation)

  • <amp-pixel> support
  • 73% reduction in bundle size
  • Performance boost to amp-next-page 0.1 by preventing premature rendering of pages
    ezgif com-video-to-gif (8)

<amp-video dock> (Reference documentation)

  • Various video docking improvements,:
    • Return to video
      TODO: Insert GIF
    • Docking in viewer
      TODO: Insert GIF
    • Docking multiple videos
      TODO: Insert GIF

Performance measurement chrome extension

  • Will help us debug UI component performance

REMOVED User-location component

- Removed since no one is currently using it and the API is inconsistent with <am-geo>

Bugs fixes worth mentioning:

  • A11y Fixes:
    • a11y for amp-nested-menu (aria-expanded and keyboard navigation support)
  • Component Maintenance:

What's next

All-new Carousel components

  • <amp-base-carousel> : Next generation amp-carousel with many bug fixes and new features. Code complete
  • <amp-stream-gallery>: High level for scrolling carousels. Code complete
  • <amp-inline-gallery>: High level component that supports captions, thumbnails and progress dots.

<amp-next-page> (Reference documentation)

  • Better API
  • Improved handling of sticky/fixed elements
  • Infinite loading of documents (with memory management)
  • Better default separator and bookend
  • Templated separators and bookends
  • Support for amp-analytics, and more!

Bento components

  • Onboard on to the Bento project
  • Work with the @ampproject/wg-bento to release new Bento components.

wg-ui-and-a11y Status Update 2020-03-02

What was accomplished

  • new UI person 🎉🎉🎉
  • React Training
  • styling in Bento discussion and design document
  • fullscreen action versus fullscreenEnter event -- aliased action for backwards compatibility/interface consistency
  • amp-video-iframe jwplayer integration default (it's easier now)
  • annotated media components with common i-amphtml-media-component class name
  • amp-carousel autoplay bug on amp4ads
  • static configured component transformer -- first step towards declarative video players
  • proposal to use structured data for describing hero videos for a transform

Lessons learned

If there is a certain interface inconsistency, fix it under one cohesive implementation and keep the redundant concept as an alias for backwards compatibility. We have certain things in the codebase where the name changes but the concept stays the same.

What's next

  • Launch timeago v2 under experimental
  • amp-list layout=container resolution
  • declarative video players
  • video docking interactivity/nudging between multiple videos

wg-ui-and-a11y Status Update 2019-03-15

What was accomplished

New & Launches ✨ 🚀

  • ✨ swipe-to-dismiss UX for lightbox gallery
  • 🚀 amp list infinite scroll is fully launched.
  • 🚀 auto image lightboxing at 50% of production.

Bug fixes, polish & misc 🐛 💅 🔢

  • 🐛 IE11 fix for forms
  • 🐛 Workaround fix for video autoplay regression in Chrome 72
  • 🐛 amp-fx="float-in-(top|bottom)" fix for when inside viewer.

UX & UXR 👩‍🎨 👨‍🎨 🔬

  • Default UI exploration to brings a unified and codified style to amp components.

Ongoing Projects 🏗

auto lightbox images

  • more work on amp-carousel support

amp-carousel v2

  • amp-inline-gallery prototype of captions, thumbnails and dots.

auto image sizes

  • In origin trial

amp-autocomplete

  • MVP implementation done.

animationWorklet for amp-animation

  • Reviewed with Web Platform team, new ScrollTimeline API is being designed.

New E2E functional testing framework

  • headless support and more command line flags

What's next 🦄

  • Fix It Week!
  • Implementation of default loaders
  • amp-autocomplete: demos and bug bash of MVP
  • auto lightbox images: ramp up to 100%
  • amp-live-list support for SxG
  • AMPConf prep
  • Start of integrating e2e testing framework with Travis CI

Thanks @ampproject/wg-ui-and-a11y !

wg-ui Status Update 2019-02-04

What was accomplished

amp-input-mask(Experimental)

  • Various bug fixes
  • Canary launch planned for next week

amp-date-display(Launched in Canary)

  • Launched in Dev Channel
  • Full launch next week

amp-video dock(Launched in Canary)

  • Various bug fixes
  • Launched in Canary for amp-video, amp-youtube, amp-brightcove, amp-video-iframe

amp-list show more and infinite scroll

  • Various bug fixes
  • Original Trial enabled

auto lightbox images

  • Experimental in Canary
  • Various heuristics changes

amp-carousel v2

New E2E functional testing framework

  • Support for experiments

UX

  • Default loaders user study
  • Swipe to dismiss UX decisions
  • DevX research planning
  • Carousel UX interaction spec

Misc features and fixes

What's next

  • UI Working Group will be doing a FixIt sprint for the next two based on the items in this list: https://github.com/ampproject/amphtml/projects/72
  • docking support for amp-ima-video
  • Allowing automatic scrolling in sidebar
  • Kick off work on amp-autocomplete
  • AMP UI WG is welcoming a new member next week!

/cc @ampproject/wg-ui

wg-ui-and-a11y Meeting 2020-04-13

What was accomplished

  • Enabled prerendering on amp-social-share
  • Stabilized visual-diff tests:
    • amp-sidebar
    • amp-accordion
  • amp-list[layout=container] P0, rollback, post mortems
  • amp-selector:0.2 in Bento
  • Support for amp-animation in Stories
    • writing base tests to increase confidence
    • implementation in progress
  • Fixed navigator.share causing an exception on user cancel for amp-social-share
  • Fixed amp-social-share:0.2 assertion for type=system
  • amp-list[single-items] accessibility fix for role attribute
  • amp-recaptcha-input[global] attribute support
  • amp-form supporting encoding type attribute for form submission
  • gulp storybook tasks
  • amp-next-page url issue fix

Lessons learned

  • There are different levels of logging based on assertion types i.e. devAssert vs user().warn()
  • Write tests early and often -- when we don't have tests for a feature and other features are written on top of it that don't allow it to write tests, you have to refactor existing features before you can even add tests.
  • Some unit tests unnecessarily manipulate internal component state instead of waiting for lifecycle signals as natural cues (forcing buildCallback instead of waiting for whenBuilt)

What's next

  • amp-carousel:0.2 stability related bugs
  • Adding features to <amp-story-animation>: CSS extension support, viewport units and sequencing
  • React training
  • Storybook examples for a component

wg-ui-and-a11y Quarterly Working Group Update - Oct 2019

WG Processes

What was accomplished

Autocomplete component

  • Allows for autosuggest use-cases
  • Server and client side filtering
  • Fully accessible with keyboard and screen reader
    ezgif com-video-to-gif (1)

All-new Loaders

  • New improved loaders based UX research
  • Launched to 100% of AMP pages.
  • Blog post explaining design philosophy here
  • Why was this difficult: Getting pixel perfect performant animations is hard! Also had an issue with Chrome 77 with LayoutNG enabled. Had to ship a workaround on our end.
    blogExport3

Floating headers

  • Allows for sticky headers that hide/show based on user scroll
  • Why was this difficult: Adding support for iOS was hard.
    33

<amp-carousel> V2

  • Same API as <amp-carousel> V1, better performance.
  • Developers need to upgrade the version of <amp-carousel> they are using to 0.2.
  • Why was this difficult: Making sure implementation of browser primitives we rely on are interoperable across browsers. E.g. scroll-snap

Add <amp-megaphone>

  • Embeds podcast episodes and playlists from http://megaphone.fm (requested by CNET)
  • Allows the new component to be embedded inside <amp-story>

Screen Shot 2019-08-08 at 9 22 15 PM

Add parallax support for <amp-story>

  • On mobile:
    ezgif com-video-to-gif 13
  • On desktop (follows cursor instead of DeviceOrientation):
    ezgif com-optimize

Component for truncating text (Reference documentation)

  • Efficient algorithm to display/truncate text
  • Allows "call to action" links after truncation (e.g. "Show more")
    22s
  • Available experimentally currently, next step is launching this fully.

User-location component (Reference documentation)

  • Uses geolocation API for precise user-location data
  • Unlocks use-cases where dynamic data is tied to user's location
    - Intend to deprecate since no one is currently using it and the API is inconsistent with <am-geo>

Stateful Pages

  • Allows for keeping session state client-side between page transitions
  • We were being kept out of the BF Cache in Safari and FF due to onload listeners. We removed all calls from AMP's codebase. However 3P scripts we integrate into AMP still have them.
    - This + the main PoC not being on AMP anymore means we are deprioritizing it.

Bugs fixes worth mentioning:

What's next

All-new Carousel components

  • <amp-base-carousel> : Next generation amp-carousel with many bug fixes and new features. Code complete
  • <amp-stream-gallery>: High level for scrolling carousels. Code complete
  • <amp-inline-gallery>: High level component that supports captions, thumbnails and progress dots.

Better menu experience with <amp-sidebar>

  • Done: A new sidebar that allows better nesting of both an accordion and drill down menu. Intent to Implement
    Accordion menu:
    giphy1
    Drilldown:
    drilldown
  • Better responsive desktop/mobile experience via <amp-mega-menu> - a component that allows you to have a mega menu on desktop. Important for SEO. WIP Intent to Implement
    giphy
  • Will be available as <amp-sidebar> 0.2

<amp-next-page> (Reference documentation)

  • Component is already available experimentally
  • Has no analytics support
  • Has technical issues (e.g. Pulls in V0 itself)
  • Doesn't support infinite pages - caps off at 3 pages.

Inline autocomplete

  • Support for inline autocompleting a piece of text in an input.
  • Use case: Gmail mentions for Docs comments when the user types '@/+'

Payments

  • High level components for payments in AMP

Discussion: Deprecating <amp-img>

Context

amp-img allows the runtime to effectively manage image resources based on the viewport position, system resources, connection bandwidth, or other factors. With increasing browser support for more granular control on the native img tag, it is time to discuss a deprecation strategy for amp-img.

What would it take to deprecate amp-img?

To support a comparable feature set without amp-img, we first need broader support for lazy loading and aspect ratio, but there may be other critical features preventing the possibility of any imminent change. First steps are: (1) understanding the minimal range of critical features and (2) tracking ongoing progress for these across browsers.

Open questions

  • Using the AMP cache: How much can be delegated as a serving optimization?
  • Providing placeholders and fallbacks: How do we replace placeholders and fallbacks?
  • Loaders: Is there still a way to provide default loaders?

wg-ui-and-a11y Status Update 2020-07-31

What was accomplished

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

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

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

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

Lessons learned

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

Kevin
How shadow group works and how children function in bento

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

What's next

Becca
Design review for Amp-img and amp-youtube

Kevin
Working on tests for amp-social-share

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

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

wg-ui-and-a11y Status Update 2020-01-31

What was accomplished

  • Open sourced @ampproject/filesize, a library for monitoring file size changes
  • amp-auto-lightbox:
    • Fix to prevent working on unlaid out <amp-img>s
    • Use new mutator API (#26587)
  • Proposal for aliased 3rd party video players, vendor extensions can configured declaratively rather than writing a full implementation.
  • Work on amp-carousel v2 performance
  • Started a playground repo for trying Bento components inside React apps
  • Support for templated separator elements in amp-next-page
  • Investigating the state of AMP websites in 2020

What's next

  • Coordinate with Quality Assurance on amp-carousel v2 performance
  • Merge amp-analytics support for amp-next-page
  • Merge support for remote loading of articles in amp-next-page
  • Bento timeago component
  • Take the declarative 3rd party video player proposal to design review

wg-ui-and-a11y Status Update 2019-12-6

What was accomplished

  • Video Docking: Scroll back up to the original video
  • Visual tests for docking
  • Fixed an issue with fonts
  • Inline autocomplete experimentally launched! 👏👏
  • Changes for inline-gallery in base-carousel
  • [UI] Validator badges design

Lessons learned

  • Video docking is stable now (manual tests)!
  • Learned about a11y and pointer-events: none
  • Should use touch-action / pointer-events instead of gestures.js
  • Visual diff API is easy to use!
  • It is possible to reducing the bundle size by adding code!

What's next

  • Document lack of support for docking in the viewer
  • Docking interaction for multiple videos
  • Display locking
  • More inline autocomplete
  • Merging inline gallery + documentation
  • Look into blurry placeholders
  • Unify fonts inside AMP

wg-ui-and-a11y Meeting 2019-10-25

Meeting date/time (UTC)
2019-10-25 at 11:00 AM PST
Use this site to see what time that is for you locally.

Instructions for joining the meeting
To join in please dial into the following Hangouts Meet room. You can also duplicate this calendar reminder to remind yourself of this meeting.

Agenda
Note: Add a comment on this issue to propose items for the agenda.

  • What was done in the past 2 weeks
  • Lessons learned
  • What is planned for the next 2 weeks
  • How do we triage/fix issues on the UI WG?

wg-ui Status Update 2019-01-18

What was accomplished

Input Masking(Experimental)

amp-date-pick

amp-video dock(Experimental)

amp-list show more and infinite scroll

auto lightbox images

  • Prototype PR

amp-carousel v2

  • PRs for base versions getting merged.
  • End to End testing using the new functional testing framework

New E2E functional testing framework

  • Moved to AMPHTML Repo and new features

UX

  • Carousel user study

Misc features and fixes

What's next

  • Input Masking launch
  • amp-date-display launch
  • amp-video docking launch
  • amp-list Infinite list origin trial
  • Continue auto lightbox
  • Continue E2E testing
  • Continue amp-carousel v2
  • Kick off Better Default Loaders
  • UX: User study on loaders

/cc @ampproject/wg-ui

Discussion: What is the suggested process to adding members to the UI and A11y WG?

Proposed criteria:

The new proposed member should meet the following minimum criteria:

  • Person should have some knowledge of components frameworks.
  • Demonstrated user advocacy in fields of user experience and a11y.
  • Be willing to attend Sprint Planning meetings. Held once every 2 weeks.

The following criteria is good to have:

  • Have committed changes to the AMP Project. (If an engineer)
  • Have committed a UI component to AMP Project. (If an engineer)
  • Be bringing a new perspective to the team. (Design, Performance, a11y)

Updates: Per @andrewwatterson's comment about designers not usually committing code to the project I moved the criteria of committing code to a nice to have and only for engineers.

wg-ui-and-a11y Quarterly Status Update April, 2020

What was accomplished

Bento components

  • Migrated over the following AMP components to being powered by Preact
    • <amp-social-share>
    • <amp-timeago>

Storybook integration for Bento and AMP

  • Created Storybook integration for AMP and Bento AMP components
  • Added Storybook examples for:
    • <amp-date-display>
    • <amp-timeago>
    • <amp-youtube>
    • <amp-social-share>
    • <amp-image-slider>
    • <amp-sidebar>
  • CSS in Storybook

Performance and stability

  • <amp-social-share> (Reference documentation) design review and resolution to prerender to prevent layout shift with type=system in cache cases.
  • <amp-carousel> 0.2 interactivity and lightbox enhancements
  • <amp-timeago> and <amp-date-display> design to prevent layout shift for dynamically resolved text
  • Stabilized visual tests:
    • <amp-sidebar>
    • <amp-accordion>

Display Locking API

  • Experimentally enabled display locking on <amp-accordion> to allow user agent features such as Find-in-Page and scrollIntoView to expand and collapse relevant sections.

<amp-next-page> (Reference documentation)

  • Better API
  • Improved handling of sticky/fixed elements
  • Infinite loading of documents (with memory management)
  • Better default separator and bookend
  • Templated separators and bookends
  • Support for amp-analytics, and more!

<amp-video-iframe> (Reference documentation)

  • Better support for Jwplayer video documents.
  • data-param-* for simpler vendor use.

<amp-list> (Reference documentation)

  • a11y: Simpler screen-reader sequence with single-item

Bugs fixes worth mentioning:

  • A11y Fixes:
    • ` - Remove ‘role’ attribute when ‘single-item’ is specified for a11y
  • Component Maintenance:
    • <amp-form> - Add support for ‘application/x-www-form-urlencoded’ encoding format
    • <amp-recaptcha-input> - Add support for global recaptcha endpoint
    • <amp-sidebar> - Update documentation on amp.dev to include an always visible desktop sidebar
    • <amp-img> - Add support for disable-inline-width attribute to propagate sizes without inline styling

What's next

Bento components

  • Work on migrating over more AMP components to being powered by Preact
    • <amp-selector>
    • <amp-video> and other 3P players
    • <amp-twitter> and other social media components
    • <amp-fit-text>

Storybook integration for Bento and AMP

  • More Storybook integrations!

All-new Carousel components

  • <amp-base-carousel> : Next generation amp-carousel with many bug fixes and new features. Code complete
  • <amp-stream-gallery>: High level for scrolling carousels. Code complete
  • <amp-inline-gallery>: High level component that supports captions, thumbnails and progress dots.
  • <amp-story-animation>: Use animation effect specs like <amp-animation> in <amp-story>
  • <amp-video-docking>: Support to seamlessly dock multiple videos.
  • <amp-video-iframe>: Alias as a vendor component.

wg-ui-and-a11y Status Update 2020-01-17

What was accomplished

  • Plans to launch amp-carousel v2
  • Simplify video docking logic
  • Performance measurement extension
  • amp-next-page infinite loading (+ unload/reload pages from memory)
  • amp-next-page unit tests
  • Investigating metrics for Display Locking on amp-accordion
  • Fixed bug to remask an amp-inputmask input element on form state change
  • Fixed bug to reverify form after textarea value changes on form state change
  • Discussed amp-consent accessibility

Lessons learned

  • Time to interactive (performance metric) is only available as a polyfill so far

What's next

  • amp-next-page default separators and more box + transitions (stretch goal)
  • Ongoing Display Locking work
  • React foundations for Bento

wg-ui-and-a11y Status Update 2020-06-08

Meeting Time: 2pm ET, June 5, 2020

What was Accomplished

Alan

  • Workaround for virtual keyboards for datepickers inside lightboxes

Caroline

  • Added support for intrinsic and responsive layout
  • Sizer elements now have a spot to go into shadow DOM when relevant

Kevin

  • Completed another iteration on Social-Share, removing bindings from Preact component

Naina

  • Completed recording a talk for JS Conference

Rebecca

  • Complete amp-img bug (errors were being thrown from event helper in runtime)
  • Draft PR in progress for next bug

Lessons Learned

Caroline

  • Carousel v2 does not rely on amp-carousel

Kevin

  • Empty commits can be used to kickoff failed travis build on github
  • Learned more about Closure compiler and type annotations

Rebecca

  • More experience with xcode, how to edit host file, how to use travis, how to read pantheon
  • Learned that you can restart only the broken part of a travis build

What's Next

Alan

  • Video in Bento
  • Amp story animation docs

Caroline

  • Prototyping carousel for bento

Kevin

  • Create a design doc for social share to document the various designs and the tradeoffs for them

Naina

  • Recording more talks (including Amp contributor summit talk)

wg-ui-and-a11y Status Update 2019-08-30

What was accomplished

  • Debugging analytics issue for videos , thought it might have been a greater analytics issue
  • Merged sidebar swipe to dismiss
  • Sidebar 1.0
    • Worked on design
    • Worked push animation for sidebar 1.0
      • Works well on Android, issues on iOS due to fixed layer transfer
      • Prototype for nested drill down menu
  • Work for origin trial for autoplay for Chrome (user activation workaround)
    • Currently blocked by work need on the Chrome side of things
  • Fix for amp-accordion tap handlers on ancestors regression
  • Fix navigateTo action and _blank target
  • Work on parallax effect on tilt for amp-stories
  • Work on styling carousel (arrows, etc)
  • Documentation, code for amp-carousel-0.2 now live
  • Fix for flickering bug on carousel 0.2 iOS in review
  • Loaders is now at 10%
  • Fix for amp-list load-more with reset-on-refresh compatibility bug
  • Code reviews / discussions on github re: img-sizes, nested templates with amp-list

Lessons learned

  • Always check behavior on different devices before working too far on implementation
  • Be careful of boundaries and make sure you have a buffer to avoid rapid switching on the edge
  • You can’t just depend on code from other extensions (learned again, facebook extensions and loader)

What's next

  • Couple of video bugs
  • Continue sidebar 1.0 work, hopefully have a demo
  • Parallax on tilt for amp-stories (look into z-depth and perspective)
  • amp-stream-gallery for real
  • Fix facebook extensions with loader

wg-ui-and-a11y Status Update 2020-03-30

What was accomplished

  • Documenting CSS cases where AMP cannot guarantee that the layout won't shift.
  • Removed layout shift by position prop on <amp-consent>.
  • <amp-app-banner> using AmpDoc API to get <meta> information on shadow roots, etc.
  • Reviewed 3p player component changes
  • Documentation for <amp-sidebar>, new amp.dev example merged
  • <amp-list> single-item a11y fix
  • <amp-recaptcha> fix for changing endpoint for “global” attribute
  • Merged <amp-social-share> for Bento
  • Introduced unit tests for <amp-timeago> in Bento
  • Investigated layout shift in <amp-social-share>
  • Introduced <amp-autocomplete> to the email format
  • Began work on <amp-selector> in Bento

Lessons learned

What's next

  • <amp-form> support Content-Type: encoded requests
  • <amp-selector> in Bento
  • Aliased video players: runtime implementation

wg-ui-and-a11y Status Update 2019-06-24

What was accomplished

  • Fixit week
  • video analytics
  • amp-user-location
  • form-validator + date picker
  • Improved test coverage for amp-date-picker
  • amp-sidebar and lightbox a11y improvements
  • Examples for amp-carousel in lightbox + analytics
  • Retriagged ~600 issues and closed ~150
  • AMP Flow, Carousel demos
  • Add Kris to the UI WG

Lessons learned

  • Form and list have the most number of feature requests.
  • Carousel and video have the most number of bugs

What's next

  • Revise UI WG meeting planning process
  • Documentation and example updates
  • Clarify examples/, test/manual/, versus amp.dev code examples
  • Inline gallery
  • Loaders implementation
  • Stateful page transition kickoff

wg-ui-and-a11y Status Update 2019-09-27

What was accomplished

  • mega menu: building up a prototype / demo, figuring out a11y strategy
    • tested voice over (MacOS, NVDA), still need to test on JAWS
  • feedback from @dvoytenko on sidebar
    • API, history questions, will move forward with simplest solution for now
  • drill down component API more clear
  • parallax PR is getting ready, behind experiment flag for both desktop and mobile
  • PR for some parallax changes to amp-orientation-observer
  • amp-bind for audio and video
  • 2020 planning
  • fixing carousel 0.1 bug on ios13, investigate cherry pick
  • OWNERS changes for all UI components to the wg-ui-and-a11y alias.
  • Prepare a11y presentation for Contributor Summit
  • inline autocomplete:
    • define MVP requirements
    • investigate pulling in 3p library (tributejs) versus building from scratch

Lessons learned

  • aria-haspopup="true" is only for menus, not all screen readers support aria-haspopup="dialog" etc
  • test screen readers with both tab navigation and by lists, headings, etc.
  • interesting screen usage survery results

What's next

  • continue refining mega menu and schedule a11y audit
  • investigate amp-next-page bugs
  • amp-stream-gallery

Discussion: <Migrate GPay Widgets from AOG Fork to Public AMP >

Background

The payments team currently is supporting two amp widgets for publishers to use for payment options; the google payment button and the inline payment widget.

The Problem

Up until now, these widgets have resided on a seperate fork of AMP that the Actions on Google(AOG) team has been maintaining. With the constant changes to both these components and the public amp repo, there is now a significant overhead associated with the maintanence of this amp fork.

Thus, the AOG and payments team is looking into merging the payments widgets onto the public repo to remove the need for the maintenance.

wg-ui-and-a11y Status Update 2020-05-26

What was accomplished

Storybook 📖

  • Worked on open sourcing the Storybook addon for AMP

Bento 🍱

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

Bugs 🐛

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

UX 🖥️

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

Other

  • Validating amp-story-animation & docs

Lessons learned

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

What's next

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

wg-ui-and-a11y Status Update 2020-04-27

What was accomplished

Bento:

  • Design review for styling
  • Progress on amp-selector
  • Progress on design for amp-social-share in Preact mode
  • amp-social-share Storybook examples

amp-carousel 0.2:

  • Investigated stability issues.

amp-list[layout=container]:

  • Progress on launching

amp-story-animation:

  • Done: scoping selectors to an element
  • Done: sequencing

Display locking:

  • Setting up infrastructure for experiment rollout

amp-next-page 0.2:

  • Bugfix for deep parsing
  • Bugfix for recommendation box not rendering

Storybook:

  • Styled JSX

Lessons learned

  • URL expansion is async and specific to AMP—some components on Preact mode need a different solution.

  • Closure doesn't have intersection types :(

  • Wassim learned a lot on how custom fonts work on AMP

  • optional ?? fallback syntax for nullish values

What's next

  • Rebecca joining us!
  • More on design for amp-social-share on Preact mode
  • amp-story-animation: viewport units/CSS extensions
  • Using only amp-animation spec format for amp-story presets.
  • Rollout display locking
  • Caroline on release duty next week
  • amp-selector in Bento
  • amp-fit-text in Bento
  • Reviewing font strategy change
  • Transformer for font-display: optional on Google Fonts URLs.

wg-ui-and-a11y Status Update 2019-11-22

What was accomplished

  • Video docking fixes (draft)
  • Looked into optimizing css for documents (adaptive css limit), most documents are including all of the website’s css instead of the css for that document so that optimization is enough
  • Dead CSS elimination once we get a separate binary for development mode
  • Addressed security vulnerabilities on the animations library
  • AMP Validator Chrome Extension status icons design
  • Wordpress Editor UI with Sam
  • Inline autocomplete cleanup and unit tests
  • Investigate a11y bug in amp-carousel 0.1
  • Brainstormed better accessibility in AMP
  • Deprecated amp-user-location
  • PR to inject MultidocManager’s dependencies and reduce amp-next-page’s size
  • PR for the initial implementation of amp-next-page v2
  • Nit type fix on PositionObserver

Lessons learned

  • @alanorozco can paint and DJ
  • Engineers have an artistic side too! 🎨
  • You can have a conditional on a boolean 😮! The more you know!

What's next

  • Inline autocomplete visual, e2e, validation tests
  • Display locking
  • Merge PRs for amp-next-page / MultidocManager
  • Take amp-next-page v2 to design review
  • Controls disappearing on the docked video
  • Continue work on the Wordpress Editor UI

wg-ui-and-a11y Status Update 2019-04-01

What was accomplished

New & Launches ✨ 🚀

  • 🚀 amp-img-auto-sizes at 10% of production
  • 🚀 auto image lightboxing at 100% of production.
  • amp-live-list support for Signed Exchanges.

Bug fixes, polish & misc 🐛 💅 🔢

Ongoing Projects 🏗

amp-carousel v2

  • amp-clamp-text MVP implementation (needed for amp-inline-gallery and useful on its own as well)

amp-autocomplete

  • remote data, filter and select action features.

New Default loaders

  • Implementation in progress

auto lightbox images

  • amp-carousel support pending

What's next 🦄

  • amp-clamp-text and amp-inline-gallery continuation
  • use amp-base-carousel for amp-lightbox-gallery
  • Implementation of default loaders
  • amp-autocomplete: continue with featureset
  • docking and lightbox fixes
  • Geolocation support kick off
  • amp-list v2 design review
  • AMPConf prep

Thanks @ampproject/wg-ui-and-a11y !

wg-ui-and-a11y Status Update 2019-03-04

What was accomplished

New & Launches ✨ 🚀

  • amp-fx="float-in-(top|bottom)" to support sticky headers that appear/disappear via scroll.
  • amp-img automagic sizes support for better responsive images out of the box.
  • ✨ flick-to-dismiss UX for docked videos
  • 🚀 auto image lightboxing at 5% of production.

Bug fixes, polish & misc 🐛 💅 🔢

  • 💅 scrollTo() action's animation is based on distance delta now
  • 🐛 amp-iframe-video bug fixes.
  • 🐛 amp-carousel selectUp off-by-one fix
  • 🔢 localhost homepage: Support for canonical Url in local proxy, 100% AMP now

UX & UXR 👩‍🎨 👨‍🎨 🔬

  • Full visual and motion design for various default loaders.

Ongoing Projects 🏗

amp-list show more and infinite scroll

  • Various bug fixes and polish
  • New E2E tests.

auto lightbox images

  • amp-carousel support for auto lightboxing
  • various bug fixes.

amp-carousel v2

  • renamed to amp-base-carousel, validation, docs added.
  • amp-inline-gallery draft implementation and technical design for captions, dots, thumbnails

amp-autocomplete

  • ITI reviewed
  • Prototype built

animationWorklet for amp-animation

  • Updated logic to work with Chrome 74 (2 remaining blockers remain, working with Chrome team to resolve)

New E2E functional testing framework

  • shadow-v0 and viewer support for E2E testing framework.

What's next 🦄

  • Default loaders: start implementation and final designs
  • amp-autocomplete: Draft implementation
  • auto lightbox images: ramp up to 5%, carousel support experiment ramp up to 0.5%
  • amp-carousel v2: amp-inline-gallery design and implementation
  • launch a better swipe-to-dismiss UX
  • amp-list v2 start of technical design

Thanks @ampproject/wg-ui-and-a11y !

wg-ui-and-a11y Status Update 2020-06-08

Meeting Time: 2pm ET, June 5, 2020

What was Accomplished

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

Lessons Learned

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

What's Next

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

wg-ui-and-a11y Status Update 2020-02-14

What was accomplished

  • Bento amp-timeago, ongoing discussions
  • amp-read-aloud component - design
  • Data-param-* attributes for amp video iframe
  • Amp-inline-gallery in, amp-stream-gallery in
  • Workaround for max age amp-addthis bug
  • amp-video-iframe vendor documents
  • Aliased components transform
  • Docking rectangle refactor
  • amp-next-page—host page visibility and analytics support
  • Unordered gesture swipes bug in prod
  • Advising UX design for stories editor
  • Advised AMP stories team about adaptive streaming and reducing rebuffers
  • Post processing on build output after closure compiler to output smaller code that is functionally equivalent

What's next

  • React Training
  • amp-timeago continued progress
  • amp-social-share continued progress
  • Renudging videos
  • consolidating classes for media components so that they can be hidden for display locking
  • video features for Bento
  • validation for amp-next-page
  • open source WP editor repo

Discussion: Assign a11y reviewers within the team

We are the UI and a11y WG, however we have varying levels of proficiency in a11y.

This means that even a PR reviewed by the UI and a11y WG might miss checking for a11y.

I want to suggest assigning a111y reviewers on the WG (and adding folks from the wider AMP community who can review a11y) who must LGTM code that affects a11y.

wg-ui-and-a11y Status Update 2020-07-06

What was accomplished

OpenJS World Summit

Bento

  • Foundational Preact prototype for amp-base-carousel
  • Documenting Bento component design principles

Lessons learned

What's next

  • Kris goes on Paternity leave again.

Bento

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

wg-ui-and-a11y Status Update 2019-10-25

What was accomplished

  • built a workaround for amp-live-list on Google AMP cache (approach not taken)
  • Validation & documentation for mega menu
  • Clear some launch blockers for nested menu
  • inline-autocomplete
    • design review and implementation
    • initial bug bash
  • fixing bugs for amp-form in AMP Email
  • maintenance around extensions generator
  • give ownership to outreach/ui wg
  • core video files ownership to ui wg
  • 3p video components on review (amp-empower, amp-redbull-player)

Lessons learned

  • If you think you have fix for validation/cache, it could be for just one level of caching
  • If engineering cost becomes too high, we can make requirements more flexible

What's next

  • Start hiring process for ui wg
  • Get mega menu ready for launch
  • Revisit launch requirements for sidebar v2 + nested menu, validation & docs
    document recommendation for video player creation
  • if video is docked and ad is playing, change controls with button to go back to inline
  • Support SSR on amp-autocomplete
  • Inline autocomplete continued implementation
  • autocomplete in AMP for Email security proposal

wg-ui-and-a11y Status Update 2019-05-24

What was accomplished

  • amp-user-location merged (experimental)
  • amp-auto-complete:
    • accessibility work
    • fuzzy filter feature
  • Lightbox refactoring and optimizing the SVGs.
  • E2E: tech design for network interception, fixes for viewer
  • amp-stream-gallery ready for PR
  • Bug fixes: Carousel a11y , Lightbox iOS scroll locking.
  • Portals and page transition animation kick off with Chrome

Lessons learned

  • Writing tests early helps with refactoring (with confidence, you can refactor more quickly)
  • Don’t go deep in implementation first without talking to people to understand requirements, priorities, alternatives, etc…
  • SVG <path> element can have multiple lines, you don’t need a separate <path>

What's next

  • Loaders
  • Implement E2E network interception
  • amp-user-location: launch readiness
  • amp-auto-complete: Final launch features
  • E2E workshop!
  • amp-stream-gallery experimental launch
  • amp-text-truncate experimental launch
  • Docking and video-iframe post launch bug fixes
  • Kick off stateful page transitions project

@ampproject/wg-ui-and-a11y

wg-ui-and-a11y Status Update 2020-07-17

Meeting Time: 2pm ET, July 17, 2020

What was accomplished

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

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

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

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

Lessons learned

What's next

Alan
Begin implementation of video components

Caroline
Typedefs for existing bento components
Continue on Carousel

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

[Roadmap] 2019 - Q1

UI Working Group's focus for Q1 of 2019 is launching new features and enhancements that improve the end-user experience on many existing AMP pages in the wild.

wg-ui-and-a11y Status Update 2019-09-17

What was accomplished

  • <amp-minute-media-player> component is in
  • <amp-video-iframe> custom analytics signals fix
  • Loaders presentation workaround (Chrome LAYOUTNG bug)
  • <amp-stream-gallery> / flicker bugfix on <amp-base-carousel> (component near completion!)
  • Parallax effect on tilt for <amp-story>
  • <amp-autocomplete>:
    • bugfixes
    • Design for inline autocomplete
  • Postmortem for layout=intrinsic/auto-sizes P0
  • Work on amp- classname scope restrictions
  • <amp-sidebar> 0.2:
    • a11y review
    • nested menu API & megamenu prototype

Lessons learned

Our visual diff tests don't run against beta browser releases.

What's next

  • Video docking bugs and polish:
    • UI during ad playback
    • controls disappearing on drag
  • Generic design for tilt parallax
  • Make wg-ui-and-a11y owners for all UI components.
  • More:
    • <amp-stream-gallery> / <amp-inline-gallery>
    • <amp-sidebar> 0.2

wg-ui-and-a11y Status Update 2020-01-03

What was accomplished

  • amp-next-page 1.0 design review
  • Sticky, hidden and fixed elements in amp-next-page + history manipulation
  • Light refactor and documentation for amp-next-page
  • Display Locking implementation on amp-accordion, findings, and feedback -- go/display-locking-accordion
  • go/a11y-in-amp-public discussion with AMP AC
  • Inline autocomplete launched
  • amp-img[sizes] ongoing discussion
  • More keyboard support for amp-nested-menu

Lessons learned

  • Scrolling is tricky with visual diffs!

What's next

  • amp-next-page infinite page loading + separators/recommendation box
  • amp-img[sizes] attribute naming bikeshed
  • Preact/React fundamentals for Bento
  • Deprecating amp-sidebar 2.0 (merge work from 2.0 into 1.0)

wg-ui-and-a11y Status Update 2019-07-22

What was accomplished

  • Talking to devs
  • Carousel demo
  • LAPIs design thinking
  • amp-carousel 0.2, draft PR and tests (1.0?)
  • auto lightbox maint
  • video: shaka and user activation
  • request intercepting
  • amp-stories + e2e
  • amp stateful page
  • responsive amp-soundcloud PR

Lessons learned

  • Minifier and inlining can change performance negatively, esp Terser
  • Use Lolex in unit tests (with correct window), not sinon’s useFakeTimers
  • Add a lint!

What's next

  • stream-gallery draft PR and tests
  • ads and video docking
  • amp-fx-collection float-in
  • writing first interception e2e tests
  • merge E2E interception
  • share findings about bfcache for stateful AMP

/cc @ampproject/wg-ui-and-a11y

Discussion: Publicly document a11y launch/review process

Hey team,

based on the latest observations by for example @beep showing the a11y shortcomings of AMP Stories' accessibility, we decided on Friday to prioritize fixing, and take another look at improving the launch/review process for all new components and features.

This is a tracking issue to make sure we publicly document what we do in regards to a11y on this repository (and optionally on amp.dev).

Over to @nainar, and @newmuis!

Thanks,
Paul

wg-ui-and-a11y Status Update 2020-05-11

What was accomplished

Kevin:

  • Progress on amp-social-share Preact mode
  • More React training!

Caroline:

  • amp-list[layout=container] available:
    • launched on email!
    • experimental elsewhere
  • Progress on amp-selector for Bento
  • Progress on amp-fit-text for Bento
  • Was on release duty
  • Rolled out display locking, in testing for one week
  • a11y vendor conversations
  • Discussed amp-lightbox in email

Wassim:

  • amp-imgur format fix
  • amp-facebook fullscreen ongoing
  • Storybook --addon-amp

Alan:

  • amp-story-animation code complete
  • Turned on ECMASCRIPT 2020 :)

Rebecca:

  • Ramping up with new extension Codelab.

Lessons learned

What's next

  • amp-social-share Preact mode
  • More Bento: amp-selector, amp-fit-text, starting discussions for amp-carousel
  • Testing display locking using CSS property instead of an attribute.
  • Launching amp-story-animation
  • Investigating migrating amp-carousel 0.1 to 0.2
    • (Reproing amp-carousel 0.2 in amp-lightbox bug)
  • Finalizing design for video on Bento mode

wg-ui-and-a11y Status Update 2019-11-08

What was accomplished

  • Manual document visibility management for amp-next-page (fixes amp-pixel)
  • Fixed amp-mow-player
  • Fix for social sharing buttons
  • Multiple fixes, refactor and cleanup for amp-carousel
  • Tracking amp-nested-menu and amp-mega-menu launches
  • Refactored error handling for amp-list load-more
  • Server side rendering on auto-complete code complete
  • Inline autocomplete refactor and accessibility audit
  • Adding autocomplete to the amp for email spec
  • Fix amp-carousel bug where keys are interacting with the email client
  • P0 amp-form submission redirect was broken with SSR
  • 🎉Zewen joined, will be looking into UX for amp-carousel, page transitions and amp-next-page

Lessons learned

  • Unexplained bad code can become worse code
  • If you do something hacky, say it’s hacky (comment)
  • P0s are scary 😱

What's next

  • Bug bash for amp-next-page <> amp-analytics
  • Fix URLs not reverting when scrolling back on amp-next-page
  • Fix arrow-key handling on amp-carousel 0.2
  • amp-carousel bug bash
  • Tests for amp-autocomplete inline
  • Security review for amp-autocomplete (for email)

wg-ui-and-a11y Status Update 2019-06-07

What was accomplished

  • Experimenting with amp-carousel to use the new amp-base-carousel
  • amp-stream-gallery code complete
  • amp-text-truncate launched experimentally. Pinterest is providing feedback.
  • amp-user-location launched experimentally & discussions around fuzzing location feature
  • Review of form dirtiness design and PRs
  • amp-autocomplete work to make it ready for launch this week
  • E2E deep dive!
  • amp-sidebar bug fixes
  • Progress on new loaders implementation

Lessons learned

What's next

  • Fixit Week
  • Cont Loaders
  • Implement E2E network interception
  • amp-user-location: src support
  • amp-auto-complete: GA
  • amp-stream-gallery last mile
  • Docking and video-iframe post launch bug fixes
  • Kick off stateful page transitions project

wg-ui-and-a11y Status Update 2019-08-16

What was accomplished

  • Loaders experiment is going to 1%, had to rollback and are now rolling forward.
  • Carousel 0.2, documentation, validator rules
  • Continued Fixit tasks for amp-megaphone, amp-selector, amp-imgur.
  • Origin Trial Research for Trusted User Events between parent frame and iframe.
  • Prototyped amp-article ideas.
  • Bug fixes for amp-img (intrinsic layout and autosizing), prevent internal classes from being toggled via amp-bind, amp-selector accessibility improvements, amp-twitter id is now bindable.
  • Skeleton for swipe to dismiss for existing amp-sidebar.

Lessons learned

  • We don't have the ability to show two versions of documentation on amp.dev (one per version).
  • Changed Carousel 0.2 to depend on the base extension, found an allowlist to make it possible however the build did not as expected. In Multi-Pass, extensions cannot include other extensions (thus the rule to prohibit, which was not documented).
  • Comments are good! Especially when non-obvious.
  • To fix a iOS scrolling issue, amp has a html tag inside an html tag. But this should be going away in iOS 13.
  • console.log is your friend, debugger is nice but console.log is sometimes just easier and better.

What's next

  • Use Carousel 0.2 on amp.dev.
  • Move amp-lightbox-gallery to Carousel 0.2. (No opt-in for this change).
  • amp-stream-gallery ready for review, few minor items to resolve.
  • Took on an issue for amp-video, to support unlisted private videos.
  • Continue to remove unload handlers to fix bfcache issue. (coordinate with wg-runtime and wg-performance, bringing to design review).
  • amp-user-notification isn't displayed sometimes.
  • Allowing video players to allow or deny autoplay based on connection type.
  • Continue to tweak amp-sidebar swipe to dismiss behaviour and look at potentially combining back with amp-lightbox-gallery.
  • Design Document for amp-sidebar version two.

wg-ui-and-a11y Quarterly Status Update 2020-August

What was accomplished

Bento components

  • <amp-social-share>
  • <amp-selector>
  • <amp-fit-text> (without any of the CLS from 0.1!)
  • <amp-base-carousel>
  • Started work on migrating other carousel components over to Bento
  • Started working on moving Video players to Bento
  • Implemented passthroughNonEmpty mode for Bento

Storybook integration for Bento and AMP

Performance and stability

  • Enabled prerendering on <amp-social-share>

Display Locking API

  • Experimentally enable content-visibility: hidden-matchable and beforematch event in amp-accordion to enable features such as Find-in-Page and scrollIntoView to locate content precisely on the page. This is currently available with amp-accordion-display-locking experiment in supported browsers.
    639fac20-aa91-409e-95e6-b8f9cb82bf3c

Working with Tetralogical to understand baseline of AMP components

  • Issues filed here
  • Also working on adding documentation to provide developers with more guidance.

Bugs fixes worth mentioning:

  • A11y Fixes:
    • Manage focus/context in amp-lightbox: #27114
  • Component Maintenance:
    • Fixed amp-live-list polling while disabled: #29488

What's next

Bento components

  • Continue working on moving Video players to Bento

Storybook integration for Bento and AMP

All-new Carousel components

Dedup and clean up <amp-sidebar>

wg-ui-and-a11y Status Update 2020-06-22

What was accomplished

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

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

  • amp-youtube ad configuration parameter.

  • amp-next-page infinite loop issue

  • Team-wide dogfooding exercise

  • Team-wide Fix-it

Lessons learned

  • A lot of stale issues
  • Lots of setbacks dogfooding!

What's next

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

wg-ui-and-a11y Status Update 2019-02-15

Announcements 📢

  • wg-ui was renamed to wg-ui-and-a11y
  • @caroqliu (Caroline) has joined the UI Working Group 🎉

What was accomplished

New & Launches ✨ 🚀

Bug fixes, polish & misc 🐛 💅 🔢

UX & UXR 👩‍🎨 👨‍🎨 🔬

  • Default loaders user study completed. Launch plan and high level designed based on the results are ready.
  • DevX in progress

Ongoing Projects 🏗

amp-list show more and infinite scroll

  • Various bug fixes
  • More developers in origin trial

auto lightbox images

  • Various heuristics changes including relaxing to all cached Urls instead of just viewer
  • 0.5% Prod, 100% in Canary

amp-carousel v2

  • I2I reviewed in design meeting ampproject/amphtml#20595
  • UX and API Design for high level new amp-inline-gallery and amp-stream-gallery
  • Implementation of auto-advanced, initial index, events, actions, arrows
  • Documentation

amp-autocomplete

  • High-level UX and API designs
  • Accessibility review

animationWorklet for amp-animation

  • Refactoring and single module instantiation

New E2E functional testing framework

  • Flakiness fixes
  • Adding support for different viewers in progress

What's next 🦄

  • Default loaders: start implementation and final designs
  • amp-autocomplete: ITI and design review
  • amp-carousel v2: validation, docs, renaming to amp-base-carousel
  • auto lightbox images: carousel support, ramp up of experiments
  • amp-scroll-toggle: Implement MVP
  • E2E Testing: viewer and cache support.
  • animationWorklet: Fixes to support M74, feedback doc for Blink API owners, possible origin trial
  • dock for all other video players (e.g. vimeo, dailymotion, etc..)

Thanks @ampproject/wg-ui-and-a11y !

wg-ui-and-a11y Quarterly Working Group Update - June 2019

What was accomplished

Image lightbox transition improvements

  • Morphing of cropped images during transition
  • Swipe to dismiss
  • GPU-accelerated faster transitions

Untitled

Automatically lightboxing images in all AMP pages

  • Provides a unified image consumption experience for all AMP pages
  • Allows users to zoom images in all AMP pages
  • Lazy-loaded and performant, complex heuristics to pick only meaningful images

2

Floating headers

  • Allows for sticky headers that hide/show based on user scroll

33

Autocomplete component

  • Allows for autosuggest use-cases
  • Server and client side filtering
  • Fully accessible with keyboard and screen reader

autocomplete

User-location component

  • Uses geolocation API for precise user-location data
  • Unlocks use-cases where dynamic data is tied to user's location

Component for truncating text

  • Efficient algorithm
  • Allows "call to action" links after truncation (e.g. "Show more")
    22s

Docking videos

  • Allows docking of playing videos to screen corner
  • Supports responsive desktop docking
  • Swipe to dismiss

video-dock

Video Iframe

  • Allows any video player to integrate with AMP's video features such as autoplay, analytics, and docking.

All-new End-to-End testing framework

  • Sits outside of test code and uses WebDriver to executes tests
  • Allows tests to run in multiple environments ( viewer, shadow DOM, cache )
  • Supports network call mocking

Bugs fixes worth mentioning:

What's next

All-new Carousel components

  • amp-base-carousel : Next gen amp-carousel with many bug fixes and new features.
  • amp-image-gallery: High level component that supports captions, thumbnails and progress dots.
  • amp-stream-gallery: High level for scrolling carousels.

Stateful Page Transitions

  • Allows for keeping session state client-side between page transitions

Payments

  • High level components for payments in AMP

All-new Loaders

  • New improved loaders based UX research

wg-ui-and-a11y Status Update 2020-03-16

What was accomplished

  • amp-list supporting layout="container"
  • introduce "disable-inline-width" attribute to pair with "sizes" attribute
  • amp-timeago code-complete
  • amp-social-share undergoing code review
  • fixed longstanding bug that fires default high trust on amp-carousel v1 slideChange event
  • design doc for styling in Bento
  • display locking API setting up metrics and Origin Trial
  • blocked PR that sends document innerhtml to third party
  • set amp-consent to position: fixed !important to make sure it never causes reflow
  • meeting with performance teams for a list of components that cause reflow
  • proposal for bot for i2i new extension check lists
  • proposal for prettier on html
  • replacement for gulp serve to integrate with module/no module
  • wfh setup
  • wordpress editor work: masking, cti links
  • AMP release duty
  • working with ads on scroll-to-expand UX

Lessons learned

  • Kris is about to pay $600/mo for internet

What's next

  • investigating composite components in Bento (accordion, sidebar, selector, etc.)
  • outlining launch steps for Bento components
  • constant team video chat room open to join and have one-off conversations
  • amp-time-picker component UX
  • work on bot for i2i new extension checklists
  • work on prettier on html
  • good first issues for new team member
  • prepare additional manual test cases for QA

wg-ui-and-a11y Status Update 2019-04-26

⚡️ Thank you for a Great AMPConf. Checkout some of UI-related talks below ⚡️

What was accomplished

Bug fixes, polish & misc 🐛 💅 🔢

UX & UXR 👩‍🎨 👨‍🎨 🔬

  • Autocomplete & Carousel work
  • DevX research: Share out of AmpConf results, planning for future work

Ongoing Projects 🏗

amp-carousel v2

  • amp-base-carousel a11y and RTL fixes
  • Using new scroll-snap-stop and discussions with Chrome team for fixes

amp-autocomplete

  • Bug fixes!
  • Support for token-prefix
  • E2E, Visual, Validation tests

E2E testing framework

  • ChromeDriver upgraded and flak improvements
  • amp-bind integrated test rewritten to use the new E2E

amp-user-location

  • Technical design

amp-list v2, amp-renderer

  • Technical design
  • Reworking tests and E2E for existing amp-list

New Default loaders

  • Implementation in progress

What's next 🦄

  • Default loaders
  • Docking post-launch support
  • amp-fx-float-in-* support in viewer
  • Rework responsive image documentation now that we have auto-sizes.
  • amp-list v2 branching and initial setup
  • amp-truncate-text
  • amp-inline-gallery
  • amp-user-location
  • amp-autocomplete experimental launch + amp.dev examples

Thanks @ampproject/wg-ui-and-a11y !

wg-ui-and-a11y Status Update 2019-05-10

What was accomplished

Misc

  • <amp-lightbox-gallery> refactor in progress
  • <amp-inline-gallery> lightbox integration work
  • Design doc in progress for unifying / better supporting style customization of UI components

Bug fixes and polish

Features

What's next

  • Get in <amp-user-location> for experimental usage
  • Get in <amp-truncate-text> behind an experiment flag
  • Improve e2e test stability and performance
  • <amp-autocomplete> filters (fuzzy + custom)
  • <amp-autocomplete> accessibility review
  • More <amp-lightbox-gallery> refactoring

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.