Slashdot Mirror


Refresh Is Sacred (tbray.org)

Several Slashdot readers share a blog post: There are two kinds of client applications: The first kind has a "refresh" or "reload" button to make sure your app's in sync with its server's view of the world. The second kind is broken. Of late, I have to deal regularly with several apps, notably including an emailer and car-sharing service, that lack such a button. I can imagine why -- a customer focused product manager said "Steve Jobs taught us that fewer controls are better and we should just take care of making sure we're in sync with the cloud. So lose the button. Except, it doesn't work. Apparently nobody in the world is smart enough to arrange flawlessly reliable hands-off client/cloud synchronization. There are times when you just know that what you're seeing on the screen is wrong and if the stupid app would just assume everything it knows is wrong and ask for a brain transplant from its server, things would be OK.

17 of 193 comments (clear)

  1. And make sure it is an actual button by DontBeAMoran · · Score: 5, Insightful

    Some applications have started using a "scroll past the top to refresh" crap and if you don't know the application can do that, then you don't know it has the feature in the first place.

    --
    #DeleteFacebook
    1. Re:And make sure it is an actual button by TWX · · Score: 5, Informative

      On a full-featured PC I would agree, but on something with a small screen where every function takes up an inordinate amount of that screen (ie a smartphone that has a UI large enough that a human finger can use) it makes sense to use a model that lacks a dedicated button for the function.

      Like everything it's a compromise. Google's gmail application on Android uses this kind of refresh and it wasn't exactly difficult to accidentally trigger the first time and then subsequently continue using when it became apparent.

      --
      Do not look into laser with remaining eye.
    2. Re:And make sure it is an actual button by Luthair · · Score: 3, Insightful

      This was why we had a menu button, until some UX circle-jerk decided that was too complicated.

    3. Re:And make sure it is an actual button by houstonbofh · · Score: 5, Insightful

      They keep turning high powered multi-monitor computers into phones. I hate that my tablet keeps redirecting to the mobile site... On a 10 inch screen!

    4. Re:And make sure it is an actual button by JohnFen · · Score: 4, Insightful

      What serious sites still have a "mobile version" these days with responsive design?

      Not enough, unfortunately. "Mobile versions" of sites aren't great, but responsive design is far, far more irritating to me.

      I really wish that sites would do one of two things: stop basing the "responsiveness" on the window dimensions, or give some sort of "lock" control to freeze the current layout.

  2. Apple should re-hire Bruce Tognazzini by msauve · · Score: 4, Informative
    --
    "National Security is the chief cause of national insecurity." - Celine's First Law
  3. Staleness by Clueless+Nick · · Score: 3, Interesting

    What the internet needs, perhaps, is a Staleness indicator.

    --
    Chat with other atheists http://secularchat.org
    1. Re:Staleness by hord · · Score: 4, Interesting

      It's far more complicated. You have a mobile device that can hop networks which means that connections have to be restarted. Meanwhile there is a drive to optimize network efficiency especially on slow, metered wireless networks. To avoid the overhead of connection hand-shaking apps try to use durable socket connections and aggressive client-side caches. When a networked device disconnects from the network, an error isn't always detected in the application leading to keep-alive protocols increasing bandwidth usage. Cache is an entire realm of disaster with no perfect solution due to the fact that you are wanting to atomically change data across multiple systems with no time delay. Simply not even possible.

      All that being said we have techniques for getting around all of this. Many applications simply punt and either use an incomplete wrapper library or write their own incomplete connection/cache handling. I can't even tell you how many Java "Enterprise" applications make you configure connection pools for resources like databases that never restart making applications useless until a service restart. Firewall kills idle connections after an hour? Databases are gone and you can't get them back until a 30-minute Tomcat instance ritual is performed. Does the connection pool have an option for socket keep-alives in the pool config? No. Luckily you can cast a magic spell into some file somewhere where the Oracle can see it. Just my experience, anyway.

  4. Minimal and flat design suck by houstonbofh · · Score: 4, Interesting

    Studies have shown that minimal design and flat design are worse for productivity and ease of use. But it was trendy and cool. Thank God "Trendy" does not last long. I am starting to see flat design and single page websites fade away... Minimal design will not be far behind. Eventually, we will get to where we were 5 years ago!

  5. And then there are "smart" refresh buttons by Anonymous Coward · · Score: 5, Insightful

    I don't even bother using Firefox's refresh button, it doesn't actually request the page a second time. CTRL-F5 is now the default refresh.

  6. Nobody? by Gravis+Zero · · Score: 3, Interesting

    Apparently nobody in the world is smart enough to arrange flawlessly reliable hands-off client/cloud synchronization.

    Actually, there a plenty of people smart enough to ensure perfect synchronization. The problem is that not that many are interested in wasting their time on building an "app" that will likely be discarded in a few years for shitty pay. Also, if you aren't using a language that compiles to a natively executable binary then you have failed before even beginning.

    --
    Anons need not reply. Questions end with a question mark.
  7. What kind of app are we talking about here? by mysidia · · Score: 3, Interesting

    If it's a web-based application, MAYBE.

    If it's a server-to-server or client-to-server app, then a well-designed one will NOT require a refresh button.

    Either because clients and servers are well-written AND state changes occur using a well-defined protocol that ensures synchronization
    OR because the client automatically refreshes on its own according to some policy.

    For example: IRC Clients do not require a refresh button to keep your view of a Chat room and its On-screen userlist accurate after the
    initial /NAMES request, because (Non-buggy) IRC servers always send the proper MODE, JOIN, PART, KICK, and QUIT messages
    to servers and clients over the TCP channel to keep both sides of the conversation updated with the current information as changes occur.

    Also, while the protocol is versatile enough a client could technically re-request information and force a self-Refresh of its view:
    you don't see a REFRESH button on any major IRC client, and in fact, the operation would be a major waste of resources.

  8. The United Airlines app has this exact problem by geschbacher79 · · Score: 4, Insightful

    You check in, you add your flight details to the portfolio screen, but then you can't navigate back to the barcode without activating some sort of action to invoke the refresh.

    Every UI should have a specific button that allows you to do a manual refresh. "Hidden" UIs or weird actions (such as dragging down on Android, which sometimes refreshes certain apps) are no good, especially for non-technical users. Especially where it's non-trivial to even REALLY exit and application and start it up again.

    For United, I have to use Android's task switcher to kill the app, then start it up again. Now it'll refresh successfully.

    Stop with the fancy UIs and allow people to use technology to work!

  9. But not as sacred as some other things. by ScentCone · · Score: 4, Insightful

    Bandwidth, processing, and batteries are not in endless supply. Some sacred things (like absolutely live-synced all the time globally aware perfect client apps that are up to the nanosecond with back end data) are absurd perfect-is-the-enemy-of-the-good goals in the real, actual, finite world.

    --
    Don't disappoint your bird dog. Go to the range.
  10. Steve Jobs was wrong by JohnFen · · Score: 4, Insightful

    Steve Jobs taught us that fewer controls are better

    ...and real-world experience teaches me that Steve Jobs was wrong.

    Eliminating the means by which users can control what applications do is not a good thing. Sure, have some sort of "auto" mode for people who don't care, but leave the ability to control the operations of an application for those that do, or for those times when the "don't care" folks really need a manual override.

    This is particularly true with things like refreshing. In addition to being able to trigger a refresh on demand, it's also important to be able to stop automatic refreshing for those times when you really, really don't want the current data to change.

  11. And there it is... by DriveDog · · Score: 4, Insightful

    "'Steve Jobs taught us that fewer controls are better...'" Strict adherence to principles without exceptions is (almost, :P ) always a recipe for mediocrity at best, disaster at worst. Jobs was good at insisting on good design when it apparently conflicted with cost cutting. He was never a systems usability expert himself, otherwise some long-time Apple features and lack of features would not have stayed around so long. Automatic synchronization might be workable if it included an elaborate and well-designed "preferences" setup (I'd argue that most applications' Preferences are very poorly designed). No two persons have exactly the same needs, so one-size-fits-all is doomed to fail. Add the button by default, with an option to get rid of it after checking off some preferences to how automatic synchronization/updating should work. Not having room on a phone's screen to have a button for it isn't an excuse to not have it, it's a reason for redesigning the phones' interfaces.

  12. Refresh is overrated by Waffle+Iron · · Score: 5, Funny

    I was hitting refresh on this very site for the last couple of days, and I got nothing.