1. 26

  2. 4

    Guy runs into two bugs involving stale data and concludes every app must have a refresh button? That seems a bit presumptuous.

    1. 18

      That’s kind of reductive. The message I got from the post was “please provide users this simple and well-known way to work around synchronization bugs“. It’s usually easy to implement and has no drawbacks save for a tiny bit of UI clutter.

      1. 1

        Okay, I see your point. I’m partial to the pull-to-refresh affordance since it stays out of the way the 95% of time you don’t need it. In apps that aren’t list-based, however, I don’t know what you’d do (shake-to-refresh?).

        I think I was irked by “every app that doesn’t have this is broken” and the assumption that the web-based paradigm of throwing everything out and getting a fresh copy is the best one for every app. In some apps, it’d be the equivalent of an elevator door close button, where hitting it doesn’t really do anything it isn’t already doing.

        I also think the real issue is how phones react to (or don’t) changes in network connectivity.

      2. 8

        The author uses two examples to illustrate the fact that every application which synchronizes can get desynchronized (seriously, every single one) and providing users with a workaround is essential.

        1. 5

          Going to have to agree with OP. Sometimes a refresh button doubles as an invaluable debugging tool.

          1. 4

            Does it? It seems, at best, like a way to work around bugs by destroying the state you probably need to debug the problem.

            1. 9

              As a user, what does destroying debug data matter to me? I’m not trying to debug your app, I’m trying to call a taxi. Further, how does omitting the refresh trigger help debugging? Most people don’t file bug reports, they just get annoyed, and denying them the tools to fix their problem will just make them more annoyed.

              If you want debug information, I’d argue a refresh button could be actively helpful: users press it when they think something’s stale, so by collecting telemetry on refresh presses you can get a clue as to when desynchronizations happen.

              1. 2

                I’m not asserting that you shouldn’t have one, I just don’t think it’s a debugging tool.

              2. 1

                Provide a refresh button in release, but not debug so that developers can’t use it to ignore real bugs :)

                1. 1

                  Just because I have a hammer doesn’t mean I just go around hitting everything like it’s a nail…

              3. 1

                Even Gmail on Android allows the user to manually refresh despite it being timely, correct, and not error prone in 2017. I give some odds that the refresh action doesn’t do anything except address the user experience.

                Not defending buggy apps, but there is a take-away here.

              4. 1

                most of users don’t know what the role of the refresh button is. It is only useful for advanced users;

                1. 8

                  Can you back that statement up? I’d assert that most users understand the concept of resetting/refreshing application state (“starting afresh”).

                  Now that we both have contradictory statements about “most users” out, we’re not any further without any backup.