Refresh Is Sacred (tbray.org) 193
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.
Refresh is sacred (Score:2, Funny)
In India cows are also sacred. You sacred cows! Moo! Moo! Refreshed moo!
Refresh is overrated (Score:5, Funny)
I was hitting refresh on this very site for the last couple of days, and I got nothing.
Re: (Score:2)
Same here. There was some mention of SSL certificates of not being valid until a particular date.
Holy cow, Batman! Look at all the milk (Score:2)
Milk yes, burger no. Cows are sacred in part because they provide milk. In Hindu mythology, Vishnu in the form of Prithu milked Prithvi (Mother Earth) in cow form to fertilize the first cultivated crops. Ground beef is to them like killing the goose that lays golden eggs.
And make sure it is an actual button (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.
Re:And make sure it is an actual button (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.
Re:And make sure it is an actual button (Score:4, Insightful)
Re:And make sure it is an actual button (Score:5, Insightful)
Re: (Score:2)
Slashdot you'll tell me? I said "serious sites" fella...
Re:And make sure it is an actual button (Score:5, 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.
Re: (Score:2)
Slashdot is one of the worst. Terrible mobile site, and the desktop site gets squashed because of the stupid ad.
Re: (Score:2)
Slashdot is one of the worst. Terrible mobile site, and the desktop site gets squashed because of the stupid ad.
+1. Kill Sticky is probably the main reason I'm still using Firefox. Do other browsers have similar extensions available for them?
Re: (Score:2)
I really wish that sites would do one of two things: stop basing the "responsiveness" on the window dimensions
What would you base the responsiveness on if not the size available to the website? The whole point is to make it adjust the interface to take advantage on the available space (or lack thereof) across any range of devices using not just the pixel dimensions, but the physical size of the screen (i.e. is it a high-resolution screen on a smartphone which need to have buttons big enough to be used by fingers)
or give some sort of "lock" control to freeze the current layout.
This is an interesting idea, but I'm not sure exactly what you mean, can you elaborate with an example?
Re: (Score:3)
What would you base the responsiveness on if not the size available to the website?
I don't know, as this is a technical problem that I'm not interested in solving. All I know is that the way responsive sites work right now are a constant problem for me, because they rearrange (or even worse, remove) page elements when I resize the window on a desktop. It is often the case that I intentionally resize windows to just show a specific part of a page, and responsiveness really interferes with that.
I'm not sure exactly what you mean, can you elaborate with an example?
I'm not sure how I can explain it any more clearly, but here goes: if the page is "locked", then
Re: (Score:2)
Perhaps the way out of the problem is to key the responsiveness to the actual screen size rather than the window size.
Even then, though, it would be nice to have a "full size" option regardless of screen size. Browsing sites on my phone is made painful by sites resizing according to the size of my phone's screen too, but for different reasons.
Re: (Score:2)
The biggest problem isn't that things resize or move around. It's when things are hidden on smaller screens. It's usually not clear how to get that functionality back in the smaller footprint.
For instance in Bootstrap, hidden-xs on an info box with a short-cut, but that short-cut doesn't appear on a menu. The only way to get to it might be three clicks through "Item" screens to get to the same stuff. The designers do ok with the VISUAL aspects of responsive design, but they do a poor job of the FUNCTION
Re: (Score:2)
The biggest problem isn't that things resize or move around. It's when things are hidden on smaller screens.
I agree, although on the desktop (where we're talking about a window rather than a screen), things moving around is an equally large problem.
Re: (Score:2)
Often the responsive design would hides things I need
This is the actual problem, choosing to remove functionality. Responsive design doesn't have to do this, and should offer some way to perform the same tasks (assuming the task is not specific to a form factor).
Re: (Score:2)
Depends on your definition of serious. Cardhaus.com comes to mind. I think of it as a serious site since the only site I've spent more money on is Amazon.com.
Re: (Score:2)
I hate that too.
The browser on iOS is actually quite good.
I insist to get the desktop site.
Re: (Score:2)
I'm not sure why you think tapping a menu button and then moving to the Refresh menu option is easier to use.
More discoverable, sure. But only because people have figured out to tap on some specific word or icon...
Re: (Score:2)
Re: (Score:2)
This particular case, if you read the blog, sounds like a deliberate oversight intended to fool users into thinking the app is more popular than it is. A refresh function would probably make the service look worse, not better.
It's very common to see apparent UX "bugs" and glaring shortcomings that have a legitimate business case behind them. I think Netflix owns the patent on this brand of bullshit.
Apple should re-hire Bruce Tognazzini (Score:5, Informative)
Re: (Score:2, Insightful)
Tog's a great guy and all but the single worst thing he did to the web was to convince everyone to kill the ComboBox, leaving everyone to reimplement it in javascript, shittily.
Staleness (Score:4, Interesting)
What the internet needs, perhaps, is a Staleness indicator.
Re: (Score:2)
Re: (Score:2)
The problem with the expires header (or any HTTP header) is that it needs to be requested from the client side.
Right now your browser will not display this comment exactly when it appears unless:
a) You refresh right as I post
b) Slashdot implements an autorefresh that refreshes right as I post (which it only does on the front page)
c) A metric fukton of non-standard javascript and open connections in the background handles push updates.
Re:Staleness (Score:5, 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.
Re: (Score:2)
I'm not sure what problem that would solve. For a busy site like this one, push notifications would be somewhat pointless because it changes so frequently that you'll see updates for every refresh. For sites that aren't busy, the occasional refresh isn't a big deal if they have a reasonable cache setup.
It's still there (Score:2)
Kill-and-Restart is the new refresh.
Re: (Score:2)
Minimal and flat design suck (Score:5, Interesting)
Re: (Score:2)
Please tell me when Gnome3 will die. Even Microsoft fairly quickly backpedaled with Metro, while Gnome junk is still being switched to rather than from.
Re: (Score:2)
Please tell me when Gnome3 will die. Even Microsoft fairly quickly backpedaled with Metro, while Gnome junk is still being switched to rather than from.
You mean like Gnome Panel/Flashback? https://en.wikipedia.org/wiki/... [wikipedia.org] If more people use this over Cinnamon / Mate, the Gnome Project will see it and respond. Or at least better support it, which is all I care about. As long as my shit works, I am OK.
Re: (Score:2)
There's far more wrong with Gnome than just the panel.
Re: (Score:2)
Re: (Score:2)
So quite how does "It's terrible, when will it die" and "there's more than just the panel wrong" get to become something a programmer can use?
Are you implying there's a dearth of window managers in the Unix world?
Re: (Score:2)
The worst part about single-page websites is the damn "multiple backgrounds but you only see a slice of it while scrolling" crap. That kind of shit is so heavy of my old computer and slow internet connection that it negates the fact that it's a single page by about one thousand to one.
Re: (Score:2)
But it was trendy and cool.
Trendy, yes -- but "trendy" rarely means "good". And it was never cool.
Re: (Score:2)
But it was trendy and cool.
Trendy, yes -- but "trendy" rarely means "good". And it was never cool.
It was cool to some... Yes, they were hipster art students in web design, but still... :)
And I am glad it is going away! Slowly...
Re: (Score:2)
> Eventually, we will get to where we were 5 years ago!
I'd like to go further back, honestly. You don't need all the crap that goes into most web pages today.
There's nothing wrong with a title bar, a side menu bar, and buttons that look like buttons. I'm even somewhat nostalgic for frames, but I'm sure there are technical reasons why it's better to handle that functionality in other ways.
I think at some point we collectively decided the average MySpace page was on the right track, and we took that turd
Re: (Score:2)
Oh, hell, in Windows I'd just be happy to get my window borders back.
Re: (Score:2)
Re: (Score:2)
The issue are controls that aren't immediately recognizable as controls.
I don't think it has anything to do with hurting delicate eyeballs.
Oh and you may want to learn how to spell "affect".
Re: (Score:2)
How the fuck does "flat design" effect productivity?
Flat design makes it difficult to spot the things on the screen that I need to spot.
And then there are "smart" refresh buttons (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.
How do you design the app? (Score:2)
As time progresses these systems trend toward getting more reliable. I am sure a lot of you don't remember the good old days, where we needed the PC power button to be directly tied to the system power supply, early systems which had the power going threw the mother board to request a clean shutdown, often had problems where the OS was so locked up that such button was useless, and you had to unplug the system to get it to work. A standard windows setup was expected to crash at least once a week. (And a
Re: (Score:2)
As time progresses these systems trend toward getting more reliable. I am sure a lot of you don't remember the good old days, where we needed the PC power button to be directly tied to the system power supply, early systems which had the power going threw the mother board to request a clean shutdown, often had problems where the OS was so locked up that such button was useless, and you had to unplug the system to get it to work.
I still miss the days when the power switch was a fucking SWITCH! There are times when press and hold still does not work!
Re: (Score:3)
Automatic updates don't remove the need to inform the user of the current application state.
The user needs to know when was the last time that the content was updated; if the page becomes stalled (i.e. the time since last update is longer than expected), this might be because no new content has been created, but also because somewhere in the system there has been a hiccup that prevented an automatic refresh. No matter how reliable you make the system, there will always be delays, and some users will get the
Re: (Score:2)
Unless the data automatically refreshes when the data gets updated. It takes more work but it can be done with current browser technology.
Nobody? (Score:4, 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.
Re: (Score:2)
You're either showing your age, your dogmatism, or your ignorance.
Or, prove me wrong and explain what you mean.
Re: (Score:2)
You don't build on sand because it has a tendency to shift.
Re: (Score:2)
Again, please explain. What, exactly, is the problem with languages that don't compile to native binaries?
What about languages that typically use runtimes but have options to build to a native binary anyway?
Re: (Score:2)
Do people even want cloud synchronization? It's the first thing I turn off.
What kind of app are we talking about here? (Score:4, 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 /NAMES request, because (Non-buggy) IRC servers always send the proper MODE, JOIN, PART, KICK, and QUIT messages
initial
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.
Re: (Score:3)
A well-implemented refresh in that context shouldn't re-request the whole view if no new content has been published. It shouldn't be heavier than a Ping which returned the last time the content was updated, confirming that the client is up-to-date.
Re: (Score:2)
Everything is web based these days. The number of apps that keep a persistent TCP socket to the server are extremely limited. And web based more or less means stateless by default. So there's plenty of opportunity for an app to get stale data, miss data, etc.
Re: (Score:2)
Everything is web based these days.
Fortunately, this is still a long way from being true.
Re: (Score:2)
More than anything, the article reeks of a guy who is complaining about a shitty software package, and then thinks that the thing he wants will actually fix the problem.
It's like having a parent who's child needs surgery to remove his appendix, but goes to the doctor demanding opioids, because he knows opioids will make the pain go away.
Choose Your Devil (Score:2)
Re: (Score:2)
Re: (Score:2)
The United Airlines app has this exact problem (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!
Re: (Score:2)
Re: (Score:2)
But not as sacred as some other things. (Score:5, Insightful)
OCD button (Score:2)
Re: (Score:2)
Steve Jobs was wrong (Score:5, 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.
Re: (Score:2)
Jobs viewed software more like appliances: minimal intuitive switches and a get-it-done-and-move-on philosophy. He wouldn't market a toaster to tinkerers and hobbyist. You probably want a toaster that runs Linux, right? ;-)
Re: (Score:3)
Yes, I'm very familiar with Jobs' philosophy -- and it can make sense if what you're building is a single-purpose machine that isn't doing anything incredibly complex.
You probably want a toaster that runs Linux, right? ;-)
Only if my toaster was intended to perform complex functions.
Re: (Score:2)
a toaster that runs Linux
I'm afraid you'll need NetBSD for that.
Re: (Score:3)
Eliminating the means by which users can control what applications do is not a good thing.
That is entirely dependent on the use case.
Re: (Score:2)
Well, yes, that's true for everything. And I'm not opposed to having things be automatic, I'm just opposed to that being the only option (for most use cases).
state.. less vs ful (Score:2)
https://en.wikipedia.org/wiki/... [wikipedia.org]
Actually that's more of a Microsoft move: (Score:2)
put a simple facade on a system rather than simplify it. Leaving the user no recourse in unexpected situation (other than to manipulate often undocumented registry settings) is practically a Microsoft signature.
Re: (Score:2)
Unfortunately you really can't have it both ways: simple and tons of features.
Or make harder to press the button... (Score:2)
... But make it certain is there
In the times of yore, the Nokia NMS2000 had a button to refresh from the network elements. It was in a right click, per NE and you had to be a admin to use it. But it was there*... very hard to press, otherwise, the guys in the night shift would play to see who can saturate the digital X.25 links to the BSCs faster ;-)... but it was there.
There are reasons to hide the button, some are aestethic, as the poster said, othersare to avoid an inadverted DDoS by your own users by ca
And there it is... (Score:5, Insightful)
"Updated 5 minutes ago" (Score:3)
This kind of thing really pisses me off. 5 minutes ago from when? How often is it updating? Has updating gotten stuck?
I think a lot of dissatisfaction with alleged autorefresh is that nagging feeling that something has stopped updating. For a long time there has been a trend on various blogs and forums to stamp items "updated 5 minutes ago" or whatnot, but no true time/date stamps. How about "updated at 11:59 am (5 minutes ago)". Just lately I've been seeing some forums go back to real time/date stamps.
It's the uncertainty that is often the irritant, at least to me.
There are two hard problems in computer science (Score:3)
One hard problem is naming things. Anyone remember what the other one is?
Re: (Score:3)
Yes, and when you get older, your memory is the first thing to go. I can't remember the second thing...
Re: (Score:2)
If we can't quickly remember it, I suppose we could expensively derive whatever it was. But I'd rather remember it.
Re: (Score:2)
While we're at it, let's throw some love at "Back" (Score:2)
I'm glad sites do a better job at supporting mobile browsers with minimal controls and single-page structure, but they need to also work with desktop browsers properly. While the browser Back and Forward buttons have always been problematic with form POSTS, their behavior is increasingly inconsistent and unpredictable.
Case in point, American Express recently did a site update where, when you looked at transactions, it didn't go to a new page, it brought up a full-page dialog. The dialog had an "X" to clos
He did? I don't think that's true... (Score:2)
Steve Jobs taught us that [...] we should just take care of making sure we're in sync with the cloud.
Yeah...no. While Jobs was definitely at the forefront of pushing for a cloud-based future even before we were calling it "the cloud" (e.g. I recall him talking in a mid-'90s interview about wanting to bring server-based user directories to consumers, since he had personally been using them at NeXT for years and thought they could change the way we used computers), there's no doubt that Apple's cloud products were one disaster after another for the entire time he was at the helm.
First there was iTools in the
Jobs was not God. (Score:2)
Look, the far majority of people are not tech workers. They don't need to know what an IP address is, let alone a MAC - a url is sufficient. For those people, a refresh button is not helpful (except psychologically)
But not everyone is like that. Some people actually know a bit about software and hardware. They want and need controls, and refresh is the main one they want
Re: (Score:2)
Yeah, push is basically the second kind. You know the data you're looking at is outdated but there is no way within your control to update it.
Re: (Score:2)
The most common issue with pushing data is that developers will forget that they need to track their connectivity and re-register if connectivity has been lost for any period of time. That, of co
Re: (Score:2)
Re: (Score:2)
Right. Switch back to a task, it refreshes and steps on all the edits you have made but not saved...
Database locks are not new. It's time the 'everything's different now' people studied them. Rather than go through the process of reinventing them.
I blame mySQL.
Re: (Score:2)
As long as it's visible, it should refresh every n seconds (30 seems a fine number[...]).
And if the refresh job finds that the user has temporarily lost Internet connection, a modal dialog "Reconnecting" should completely cover the (slightly outdated) information that the user is trying to read. <cough>Discordapp.com</cough>
Re: (Score:2)
I guess JS coders are rediscovering multiuser issues.
Well, when you get your degree and and the only work you've ever done is single-user, single process, single thread, on an OS whose primary interface accommodates a single user...
Then taking a sample set of a couple poorly-coded apps and deciding it represents everything...
And finally blaming a guy for pointing out how things should work as the reason the app is coded poorly.
Yeah... sounds like the guy is trying to blame his problems on the wrong people.
Re: (Score:2)
They're called locks and transactions. Read up on them.
Ok, so because Suzie loaded up the Hertz inventory page and then went on a jog the rest of the world can't reserve a car? You can't just put everything in a transaction. The whole point of transactions and table/row locking is to ensure safe multi-client access to the same data. Manual refresh is a simple, clean way for Suzie to see how the inventory changed while she was out.
Re: (Score:2)
You'd be better at criticizing locks/transactions if you knew how they were used. But don't let that stop you.
Re: (Score:2)
Re: (Score:2)
They absolutely work. Ask your bank. If banks worked like most web sites, you could get rich by using two atm cards.
But you have to know what you're doing.
Your comment on 'the 90's' is on point, though not in the way you mean it. Kids are walking the same path that led to that design in the first place.
Re: (Score:2)
Thanks, Tablizer, I came here to say this.
~"The blockchains did it."