Archive for February, 2012

Why Android scrolling feels “wrong”


Video link

Android, or at least the UI framework, ignores the first few touch events it gets if it’s doing a bunch of other things, like rendering a webpage. This leads to things like trying to scroll a certain distance, and having the page, or list scroll only a small fraction of that distance, or trying to fling a page or list, and having it move with very little inertia.

Android’s new developer options allow you to see where the hardware thinks your touch is, from the last touch down event to the last touch up event. This is useful for demonstrating this bug.

If you’re at the top of a web page, and you scroll down the web page, and then back up to the top in an upside down V pattern, the tips of the V should be at the same height, since, in order to move the page up and down, your finger should have to begin and end at the same height. It’s a little bit hard to see, but in the video, this is not so. Android has been widely criticized for being laggy, and feeling wrong, (whatever that means) this explains in more concrete terms, one origin of that “wrong” feeling.

Demonstrated on an ASUS TF101 Transformer, running Android 4.0.3, although this has been a problem since the G1, and Android 1.5.

I’ve submitted the bug here, so feel free to star it if you’ve experienced the same issues.

Comments off

Related Links

Resource Links