Pull-to-refresh is a touchscreen gesture developed by Loren Brichter. It consists of touching the screen of a computing device with a finger or pressing a button on a pointing device, dragging the screen downward with the finger or pointing device, and then releasing it, as a signal to the application to refresh the contents of the screen. Other names for the gesture include "pull-down-to-refresh", "pull-to-reload", "swipe to refresh", "scroll to refresh", and variations thereof. The purpose of the gesture is to make refreshing immediately accessible. Criticism has been raised at pull-to-refresh for causing unwanted refreshes when the user is in the process of scrolling upwards, and for resembling a lever on gambling machines and thus supporting social media addiction.
History The pull-to-refresh gesture first appeared in the Tweetie mobile application developed by Loren Brichter. Brichter developed Tweetie, an iOS application for Twitter, as a personal project in 2008 after he quit his job at Apple Inc. in 2007. While Brichter was initially developing Tweetie, he wanted to add a refresh function to the application. Regarding other mobile applications of that time, he said "They all had to find a spot and just cram a refresh button somewhere. Usually in one of the corners in a toolbar bordering a scrollable list. That was the most valuable real estate for navigation and action UI, so using it up for something as mundane as a refresh button just seemed wasteful." Brichter thus decided to create a different method of refreshing such that the valuable corner space could be utilized for something else. Although he initially planned to create a refresh mechanism that follows Apple's platform conventions, Brichter's work with pull-to-refresh resulted in a novel interaction new to Apple's platform at the time. The gesture was added as an option to the mobile edition of Google Chrome, the most used mobile web browser at that time, in version 41, 2015, and is mandatory since version 75, 2019. Mozilla first added it to the "nightly" edition of their mobile Firefox web browser in 2020, and the year after they added it to the main version lineup, also known as "stable".
Creation In the initial design of Tweetie's refresh mechanism, Brichter placed a refresh button at the top of the Tweet list because users typically expected new tweets to appear at the top of the page. This design rolled out in Tweetie Version 1.0. Although it provided users with the ability to refresh their Twitter feed, the button utilized valuable screen real estate that Brichter wanted to use for other features. Brichter said "Tweetie 1.0 (with the refresh button at the top of the list) was so close to pull-to-refresh in hindsight, and it wasn't much of a leap to go from a button to a gesture." Brichter experimented with two primary iterations of pull-to-refresh before releasing the final version. In the first iteration, users triggered the refresh when they scrolled across an invisible threshold on the screen. However, in this iteration there was no visual feedback that signaled to users that a refresh was occurring. Brichter believed it necessary to provide users with visual feedback, so the second and final iteration of pull to refresh added visual feedback when refreshing so users could better understand the gesture. This final iteration also included text alerting users that if the top of the page is pulled beyond a threshold and subsequently released, a refresh would occur. Brichter included this description text because he felt that since the gesture presented a new interaction technique that most users likely have not seen before, the purpose of the gesture had to be explicitly stated for users to understand its functionality. These two iterations of pull to refresh were created in a single afternoon with no user testing. Brichter states that he manually tested the iterations and the invisible threshold of the gesture until it felt "right"—that the threshold cannot be too small causing people to accidentally trigger the gesture, but it also cannot be too big causing it to be difficult for users to activate. Following its initial release in Tweetie 2.0, further evolutions of the pull-to-refresh design were made by the design community as interaction designers applied different stylistic takes to the technique. Brichter currently does not have any plans to continue work on pull-to-refresh.
Mechanism Steps involved in the original version of pull-to-refresh as released in Tweetie 2.0:
User pulls down on the screen and visual feedback appears at the top of the list showing a down arrow and text displaying the message "Pull down to Refresh". If the user releases before reaching the refresh threshold, the refresh aborts and visual feedback disappears. If the user pulls down enough to reach the refresh threshold, new visual feedback appears at the top of the screen showing an up arrow and text displaying the message "Release to Refresh". Once the user releases, the refresh will occur.
… excerpt ends here. Continue reading the full article.

