0

I have a mobile app where there is a refresh button at the top of the listview. I also have a built in pull-to-refresh feature.

The internals of the app are now always "live", thanks to SignalR and smart usage of push notifications.

When the feature of pull to refresh is not needed, how should the app respond? Should I keep the feature there, and give the user the feeling that they were able to refresh the data.

  • If the app is always live, when would you ever need the pull to refresh? – William Anderson Apr 25 '17 at 17:45
  • It is a list, that may be delayed due to other reasons. e.g. sending devices haven't finished sending. Imagine receiving a large email, and refreshing to make you feel better about the up-to-dateness of gmail. – technology_is_overrated Apr 25 '17 at 17:46
  • I think you may have answered your question honestly. If, under any conditions, the list could potentially be delayed or not up to date then I would keep the pull to refresh. If it doesn't take up space in the UI, is unobtrusive, and serves some (albeit limited) purpose, there is no reason to remove it. – William Anderson Apr 25 '17 at 17:49
  • I'll leave it in I suppose. Somehow reminds me of how landline phones had artificial weights added to them to make them feel expensive. – technology_is_overrated Apr 25 '17 at 17:51
  • Sorry, I believe I misread the question. I would get rid of the button if the content is almost always live, but leave in the pull to refresh. – William Anderson Apr 25 '17 at 17:51
2

Users like to be control

Even though your data is always up to date, users like the perception that they can control the data stream or information refresh rate and hence I would recommend keeping the Pull to refresh so that users can exercise that action (even though it might not pull in new data). To quote this article from UX booth

The human need for control can be traced back to our earliest roots. In psychologist Abraham Maslow’s well known hierarchy of needs, he identifies our most basic needs as the physiological ones: health, food, and sleep. All of these require a significant amount of control—control over our environment in order to gather food, and control over our own choices to avoid disease.

It’s therefore unsurprising that we seek out control in everything from our relationships—everyone has “put their foot down” at some point or another—to the color of our living room walls—even though the old color was fine, it wasn’t perfect. It’s ingrained in us, and it gives us a sense of comfort and well being.

This sense of control is very closely linked to what psychologists call an “internal locus of control,” or the belief that our actions have the power to impact and change a given situation. (Conversely, an “external locus of control” is the belief that we are at the mercy of external sources.) People with an internal locus of control are more likely to be confident, take better care of themselves, and have lower levels of stress.

As UX designers, we try to ensure users will have positive experiences when using our products or accessing our services. This often translates into empowering users, thus giving them the tools to find their internal locus of control

Since you also want the user to be informed about when the data was last refreshed (either by a manual refresh or a dynamic refresh), I would also suggest showing them information inline on the last refresh state as shown below

enter image description here

  • +1 Great answer. Although, personally I wouldn't show the last refreshed state because you are updating the data on-the-go. I don't know what kind of application yours is, but if infinite scrolling is involved, then use the New posts/feeds/data available indicator and if there is a fixed top and bottom then highlight the updated data until it is not in view. Once in view, fade it out – Shreyas Tripathy May 26 '17 at 6:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.