I’ve seen quite a few blogs, twitter, and Google+ posts recently debating the merits of using the pull-to-refresh design pattern on Android. Cyril Mottier proposed the idea that the pattern shouldn’t be used on Android, and the following conversation spurred.

I do like Tumblr’s recent implementation of PTR on Android, because it, at least, does not use the elastic over-scroll, however the majority I’ve used feel alien to the platform.

Let’s be clear here, I am completely on Cyril’s side of this argument. My main problem with this pattern, is that it is not discoverable to a new platform user. Android’s native method of indicating end of lists using a gradient effect does not incline the user to try to continue scrolling. The common of implementation of the PTR libraries generally shows the gradient at the end of the content, regardless of the pull-to-refresh mechanism. This, in no way promotes user curiosity to discover PTR.

This gesture is completely natural on iOS due to it taking advantage of a common “fidget” gesture and the users curiosity, but while Android still uses the end of list indicators in place today, we need to leave this pattern out and focus on other ways to bring in data refreshing functionality.

As a community, we need to define consistent and unique patterns that take advantage of the Android platform. Until we do that, Android will continue to bring in second rate, poorly ported iOS apps.