- From: Rick Byers <rbyers@chromium.org>
- Date: Thu, 27 Feb 2014 09:40:03 -0500
- To: robert@ocallahan.org
- Cc: "www-style@w3.org" <www-style@w3.org>, "Tab Atkins Jr." <jackalmage@gmail.com>, Adam Barth <abarth@chromium.org>, Nathaniel Duca <nduca@chromium.org>
- Message-ID: <CAFUtAY8LUo_iGNbY9fKU7vLTBvfMaHR0mV7+exBb7RW7s-aTDg@mail.gmail.com>
On Wed, Feb 26, 2014 at 7:03 PM, Robert O'Callahan <robert@ocallahan.org>wrote: > On Thu, Feb 27, 2014 at 11:25 AM, Rick Byers <rbyers@chromium.org> wrote: > >> We're currently focused (eg. see [1]) on low-level mechanisms that give >> framework developers more flexibility to customize the behavior while >> scrolling. We imagine a world where frameworks can implement a wide >> variety of effects like snap points without needing any new APIs and the >> associated web-standards efforts. For example, the "hidey bars" that slide >> and snap in and out in while scrolling in the Twitter app for Android share >> some similar properties to snap points, but can't be implemented directly >> with such a high-level proposal. We don't yet have a specific proposal >> that would enable scenarios like snap points and "hidey bars", but hope to >> in the near future. >> > > What do those "hidey bars" share with snap-points other than activity > being triggered at the end of a scroll gesture? Does platform support for > them require anything other than an event firing at the beginning or end of > a scroll gesture? > First I should say that I'm not 100% sure. We haven't yet built fully polished versions of these sorts of UI components for the web, but we plan to try (pull down to refresh is our next big step - http://crbug.com/328503). I'd love to hear from anyone that's built effects like these. That said, I'm personally thinking about it like this: Ideally snap points and hidey bars both would track browser-defined scroll physics, and alter that physics in some way at the end of a scroll gesture. For example as you're flinging past a snap point, or flinging out of a partially-displayed hidey bar. Ideally we'd smoothly transition from the browser-defined fling curve into the component-defined 'snap' physics. For hidey bars this is more apparent (and probably only significant) at very slow fling velocity - the bars start as completely position-locked to the scrolling background (like position: sticky - hard to implement in JS for UAs with threaded scrolling), but at some point gradually start sliding to their fully visible or fully invisible position. In practice we may be willing to settle for something simpler that doesn't share as much with snap points (but still shares the scroll-position-linked effect with other things like parallax scrolling and pull to refresh). Today the only way someone can really implement these sorts of effects (at least in Chrome) is to re-implement all of scrolling (which means the physics likely no longer match the platform default). We think being competitive with native mobile platforms means we must do better and enable frameworks to innovate here while still leveraging the browser's support for scrolling. > Rob > -- > Jtehsauts tshaei dS,o n" Wohfy Mdaon yhoaus eanuttehrotraiitny eovni > le atrhtohu gthot sf oirng iyvoeu rs ihnesa.r"t sS?o Whhei csha iids teoa > stiheer :p atroa lsyazye,d 'mYaonu,r "sGients uapr,e tfaokreg iyvoeunr, > 'm aotr atnod sgaoy ,h o'mGee.t" uTph eann dt hwea lmka'n? gBoutt uIp > waanndt wyeonut thoo mken.o w >
Received on Thursday, 27 February 2014 14:40:51 UTC