- From: Tobie Langel <tobie@fb.com>
- Date: Fri, 30 Nov 2012 15:12:10 +0000
- To: Dean Jackson <dino@apple.com>, "Tab Atkins Jr." <jackalmage@gmail.com>
- CC: Simon Fraser <smfr@me.com>, Rik Cabanier <cabanier@gmail.com>, "www-style list" <www-style@w3.org>
On 11/30/12 1:13 PM, "Dean Jackson" <dino@apple.com> wrote: >But mostly, I really don't think this is important to the Web and >the CSS community right now. We're having to conduct polls of the CSS WG >members to decide which small subset of the huge amount of work that >needs to be done will actually get any attention. Is this more important >than everything we won't get to? > >I'd like this group to focus on > >(a) things that can't be done but are necessary/highly-desired (responsive > gradients is a good example), or >(b) fixing the existing things that people are using > >Compare your proposal to the position:sticky one. This is something >related >to scrolling that was addressing a clear need and helped both users and >developers. We haven't looked at the proposal deeply enough to see if it a proper fit for the use cases we (Facebook) are mostly interested in (momentum and infinite scrolling on touch devices), nor whether it is indeed the most appropriate solution. However, I would like to react to your statement that solving these use cases is not important for the Web and the CSS community right now. Momentum scrolling is a key part of the user experience on touch devices, in both native and web applications. Internal experiments we carried out show a direct correlation between smoothness of scrolling and user engagement. Not only did users who suffered a degraded scrolling experience engage less with the app during the experiment. Once the experiment was finished and their scrolling performance re-established, it took weeks for them to get back to their initial engagement levels. Poor scrolling performance is the first stated reasons why we reimplemented our iOS app to use native technology rather than embedded Web views[1]: "One of the biggest advantages we've gained from building on native iOS has been the ability to make the app fast. Now, when you scroll through your news feed on the new Facebook for iOS, you'll notice that it feels much faster than before." Not surprisingly, it is one of the key issues I mentioned in my email to the Coremob mailing list[2]. The performance enhancements made to our mobile app improved our App Store rating from 1.5 stars to 4 stars in three weeks, with user engagement approximately doubling[3]. While a number of perf issues were improved in that release, scrolling performance (while browsing the feed) is prominently mentioned in that article: "But until the relaunch, the HTML5 slowness of launching the native iOS app, browsing the feed, and viewing photos was dragging down its review [Š]" Currently, the lack of events on which to prefetch and append new content while scrolling makes it impossible to implement infinite scrolling without re-implementing everything in JavaScript. Other UI refinements (pull to refresh, etc.) suffer from similar issues. Re-implementing scrolling in JavaScript prevents the browsers from carrying adequate perf optimization, yields sub-optimal experiences for the users and is extremely costly in engineering resources. This is why I applaud this effort and hope it will help enable the smooth scrolling experience users have come to expect on touch devices. Sorry for the sales pitch, folks, but this is important. Please bump it up your priority lists. :) --tobie --- [1]: https://www.facebook.com/notes/facebook-engineering/under-the-hood-rebuildi ng-facebook-for-ios/10151036091753920 [2]: http://lists.w3.org/Archives/Public/public-coremob/2012Sep/0021.html [3]: http://techcrunch.com/2012/09/13/facebook-for-ios-review/
Received on Friday, 30 November 2012 15:12:47 UTC