TLDR
Android lets the user disable transition animations in the developer options. Can something similar be done for pull-to-refresh?I hate pull-to-refresh.
And I would like to disable it everywhere.
We have accepted pull-to-refresh as a design trend without questioning its usefulness. What initially seemed like a helpful shortcut turned out to be a severe annoyance.
When I discovered pull-to-refresh for the first time, I did not think much of it. I thought "yet another feature, whatever". Over time however, I found myself running into accidental refreshes far more often than deliberately using it as a shortcut for refreshing. One can safely say that more than 9 out of 10 pull refreshes were unwanted.
Android developer options already thankfully offers the option to disable a different annoyance, transition animations, everywhere. This is a blessing because it speeds up the user interface and removes lags and saves battery charge. Since I disabled transition animations animations, I didn't even notice they are gone. That's how little I miss them.
However, there is another annoyance. A major annoyance. Pull-to-refresh.
Pull-to-refresh does more harm than good.
Developers might think under peer pressure that "oh, pull-to-refresh is this new fancy thing that this other app has, so my app must have it too!", without considering whether the pull-to-refresh gesture is actually helpful.In theory, pull-to-refresh seems like a helpful shortcut. In practice, pull-to-refresh is nothing but an annoyance. Pull-to-refresh annoys the user by its presence, since takes energy and attention to be avoided, like avoiding to step on a mine.
Pull-to-refresh forces the user to scroll up slowly and carefully to prevent an unwanted refresh, and the user can not verify whether they are at the top of the page by pulling down. They have to resort to finger gymnastics such as shorter swipes and slightly scrolling-down before scrollin up to avoid running into pull-to-refresh by accident. This costs the user time and energy.
Refreshing can be made easily accessible in one second from the menu bar. There is no need to have a gesture for it.
Swiping down must exactly do one thing: move the page up. That's it. With pull-to-refresh, the result of swiping down becomes ambiguous, depending on the page's position.
Not all apps let you disable it.
Some applications fortunately have an option to disable the pull-to-refresh effect, but some don't. And one of those who don't is Google Chrome.Whoever had the idea to bring pull-to-refresh to Chrome / Chromium must have thought "what if we bring that pull-down-to-refresh thing from the Twitter app to a browser? If a social media app has it, why shouldn't our browser have it? It's the same thing in a different place! Am I not a genius? Call me Einstein!"
And so, it happened. In 2015, Google originally introduced pull-to-refresh to Chrome as an optional gesture. Users were able to opt out. However, as we know, an optional anti-feature is a ticking time bomb for a mandatory anti-feature. In 2019, users woke up to a bad surprise after updating. One would expect improvements from an update, but this time, it was a betrayal. Pull-to-refresh was made mandatory. The only remaining way to disable it became using server-side CSS (body { overscroll-behavior:contain; } ).
As one would expect, Google outright neglected the avalanche of complaints by users in various online forums, where they describe having accidentally run into unwanted refreshes. Refreshes that cost them time, battery charge, amounts from their cellular data plan, and sometimes unsaved form data.
On Google Maps, the circle with the refresh animation even alternates its colour between the four Google colours. It almost appears it was deliberately made to rub it into the user's face that they refreshed accidentally. Did they think the user would be happier about having refreshed accidentally if the animated refresh icon changes between four colours? (rhethorical question)
On the Mozilla Firefox bug tracker, many users assumed pull-to-refresh is a bug rather than a deliberate feature.
Given the number of bugs we are receiving for pull-to-refresh from users, we should change the default to be disabled.
This shows I am by far not the only one to be severely annoyed by pull-to-refresh.
Now, my question is, is there any system-wide possibility to eliminate pull-to-refresh?
[I hereby release this post under Creative Commons 4.0 Attribution Share-Alike. Please show this post to any aspiring app developer so we can make the future of mobile phones not plauged by refreshing accidents. This post is both a question and an anti pull-to-refresh manifest.]
Last edited: