I’d use diagonal scrolling but it is too easy to accidentally scroll diagonally.
I’d use diagonal scrolling but it is too easy to accidentally scroll diagonally. To scroll right or left when it is enabled, your swipe had to be very close to exactly level. If the angle is off at all it scrolls diagonally. I do not understand why you would implement it with such a strong bias for diagonal. I would think an even division of the compass would be the way to go… + or – 22.5 degrees from straight right should scroll right. + or – 22.5 degrees from the straight 45 degree diagonal should scroll diagonal. Or is there something phone-specific affecting the angle detection?
This is because “diagonal scrolling” is really “Free direction scrolling”. It is meant to be used when page snapping is disabled. You can then scroll in any direction (with any angle).
When using snapping, things can’t behave easily because the app will have to reach some edge. Hence the resulting angle will be different from what the finger did (and it will likely be different from 45 since screens are usually not square). In short, the app doesn’t try to detect an angle between, left/top-left/top/etc but uses the real angle, and then tries to reach an edge according to the velocity of the finger.
Maybe this could be improved by looking at the current options and tuning the way diagonal scrolling works, I’ll try to have a look at this.
Hmm. I’d say the way snapping really works (as a snap applied to free motion) is not really the way users are apt to conceptualize it / want it to work, which IMO is more like navigating to different pages or tiles. I think that this friction is really at the root of this.