Monday 10 June 2013

Google's first pull-to-refresh - a good first try

In the lastest gmail update Google added a new way to manually force a refresh. This new way isn't really completely new. It greatly reminds the Twitter's pull-to-refresh while it differs visually.

Check out this video Abhilash Kuduvalli uploaded to Vine to see how the gmail app works: https://vine.co/v/b3PUHJeQpFd.

Pulling down the email list initiates an update. The update indicator itself replaces the action bar and disappears once the update is complete.


Should you change your refresh button to this?

No! This design pattern is something that has not yet found its form on Android. In fact, this is the very first time Google has done anything reminding the Twitter's pull-to-refresh in any of their apps. Expect this pattern to change before it endups in the official design guidelines.

However, if you're looking for something pull-to-refreshish and are not happy with Twitter's pull-to-refresh Chris Banes has created a library for implementing something similar to the gmail's approach.

ActionBar-PullToRefresh on github



Twitter's pull-to-refresh vs. Google's pull-to-refresh

Pull-to-refresh is a pattern that has received mixed response on Android. I've been a fan of pull-to-refresh and like the pattern enough to use it in my app. I'm not 100% sold on the gmail style though. My issue with it is that the interaction doesn't feel right. On touch screen we like to pull and swipe things. These gestures are pleasant as they react to our touch as we expect. That is also one of the strong points of twitter's pull-to-refresh approach. You pull the content down and it follows your finger.  Google's implementation does not follow the finger and the interaction is indirect. You pull down but the refresh indicator appears horizontally and doesn't really have any connection to your touch.


To me, the feel of disconnected interaction is enough to not to recommend the gmail style pull-to-refresh yet. I believe that Google will keep refining this pattern as well as take in community feedback and ideas before they make this pattern a part of the platform. This development is promising, however. I think this is a step to the right direction and we'll soon have something that works very well.

Until then I'd recommend you to stick with the older approach or better yet, try to think how you don't need a manual update at all and keep your app's data fresh automatically.

No comments:

Post a Comment