- From: Simon Fraser <smfr@me.com>
- Date: Fri, 30 Nov 2012 10:53:38 -0800
- To: Tobie Langel <tobie@fb.com>
- Cc: Dean Jackson <dino@apple.com>, "Tab Atkins Jr." <jackalmage@gmail.com>, Rik Cabanier <cabanier@gmail.com>, www-style list <www-style@w3.org>
On Nov 30, 2012, at 9:55 AM, Tobie Langel <tobie@fb.com> wrote: > On 11/30/12 6:41 PM, "Dean Jackson" <dino@apple.com> wrote: >> >> Without going into details of the iOS implementation, the main reason your >> scrolling performance improved when you went to a native app is because >> it's more deterministic that the anything-goes Web scrolling, even though >> it may not seem that way. > > Yes, I'm aware some of the constraints enforced by UITableViews are key to > its perf. > >> Tab's proposal attempts to make some things more deterministic, but not >> the types of things you needed for the Facebook app. > > Understood. > >> What you need is some way to do some (quite advanced) layout during scroll >> without interrupting the main UI thread. Also, that layout should be >> constrained >> to some parts of the tree, and not affect other parts. That's the magic >> behind the fast scrolling in a native app. > > Thanks for these insights. Can we bring this to the web? (Pretty please.) Yes, but we're going to need your help! It's painfully obvious the the current user experience on desktop facebook pages when you hit the end is just terrible. In Safari, at least, the right sidebar jiggles up and down as you try to implement a sticky-like behavior in JS while the page is rubber-banding, and the experience of hitting the bounce at the bottom quickly followed by new content loading is very jarring. First, I don't think this is a CSS problem; it should probably be brought up in WebApps or something. But there is a clear need for some web-exposed way to do smooth infinite scrolling. It probably involves some combination of "near the end" scrolling-related events, and a way for the page to provide content that gets appended to the page with some guarantee that only the page height will change, and smoothly enough to not interfere with scrolling. I think it's a tricky problem, but someone needs to make a stab at a straw-man proposal, and then get feedback from implementors. You are the best people to write up such a proposal. Simon
Received on Friday, 30 November 2012 18:54:11 UTC