Scrolling Is Going to Change in Mobile Safari

Here’s an interesting exchange in a Hacker News discussion about my criticism of AMP over the weekend. Malte Ubl, creator and tech lead of Google AMP:

With respect to scrolling: We (AMP team) filed a bug with Apple about that (we didn’t implement scrolling ourselves, just use a div with overflow). We asked to make the scroll inertia for that case the same as the normal scrolling.

Apple’s response was (surprisingly) to make the default scrolling like the overflow scrolling. So, with the next Safari release all pages will scroll like AMP pages. Hope Gruber is happy then :)

“Om2”, who seemingly works on WebKit for Apple added:

In current iOS Safari, webpage scrolling is inconsistent from all other scrolling on the system. This was an intentional decision made long ago. In addition, overflow areas are consistent with the rest of the system, and thus inconsistent with top-level webpage scrolling. This is semi-accidental. In reviewing scroll rates, we concluded that the original reason was no longer a good tradeoff. Thus this change, which removed all the inconsistencies: https://trac.webkit.org/changeset/211197/webkit

Having all scrolling be consistent feels good once you get used to it.

That doesn’t necessarily mean it was a good idea for Google’s hosted AMP pages to use overflow scroll all along. The inconsistency definitely did feel weird. And the way they do scrolling prevents Safari from auto-hiding its top and bottom bars. I believe all the desired scroll effects could have been achieved without the use of overflow scroll.

That’s a pretty big change, but I’ll bet Om2 is right that it soon feels normal. Web views have had different scrolling inertia than other scrolling views ever since the original iPhone. (My beef with scrolling in AMP is not that AMP’s fast scrolling is bad and Mobile Safari’s current slower scrolling is good, but rather that scrolling in AMP pages should not feel totally different than regular web pages. And I forgot to complain about the fact that AMP’s weird implementation also breaks Mobile Safari’s ability to hide the bottom and top browser chrome toolbars. Update: One more complaint: AMP breaks Safari’s Reader mode.)

Monday, 22 May 2017