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.
In India cows are also sacred. You sacred cows! Moo! Moo! Refreshed moo!
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
and Don Norman, who has something to say on the matter.
"National Security is the chief cause of national insecurity." - Celine's First Law
What the internet needs, perhaps, is a Staleness indicator.
Chat with other atheists http://secularchat.org
Kill-and-Restart is the new refresh.
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!
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.
"Except for, it doesn't work."
Other the, sentence do fragmented.
There is also push...
And this article is kinda broken...
"Apparently nobody in the world is smart enough"...
Yes there is....
Please mention the car-app or the email app which are broken, and post the bugs to the manufacturer and do not generalise it to all client apps... it's a insult to all those coders who spend days, weeks, months,... writing, testing and debugging software... and getting it right...
Please mention the bad apples by name.
https://xkcd.com/1854/
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 full clean install of the OS once a year).
Today we can expect our normal desktop systems run for months on end without rebooting. This is because of advancements in protected memory and other improvements over time.
The same thing happens with website, and applications. As time progresses the standards for quality have risen. The Reload vs Refresh button is rapidly becoming a moot point. As many pages are now automatically updating their content on the fly. And this refresh button will soon be more of a feature of the application then of the browser. The Reload button on the browser is becoming the button of last resort. As there is a lot of state in the Javascript that that will be cleared out.
If something is so important that you feel the need to post it on the internet... It probably isn't that important.
It can be done. Docs/Wave "operational transform"-based sync apps work basically perfectly. GMail "try really hard and get it right" also works perfectly.
An optimistic answer would be to factor out sync with something like firebase. I agree the halfass by-hand tools like Angular that let mediocre javascript programmers attempt to implement an operational transform over stupid remedial "REST APIs" have a record of leading consistently to broken sites (like Google Voice).
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.
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.
If you like heavily-used server applications that occasionally lose state and don't have a refresh option, then you'll love heavily-used server applications where a significant portion of the userbase is spamming the refresh button every damned second.
Obliteracy: Words with explosions
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!
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.
Refresh is sacred? Bullshit. They're called locks and transactions. Read up on them.
They work, but aren't a magic bullet. You need to decide when to lock and starttrans. It's work. You need to basically refresh before lock and handle the (data changed, somebody else got the lock) case. Avoid deadlocks, establish timeouts etc.
I guess JS coders are rediscovering multiuser issues.
John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
Just give them a "refresh" button that isn't connected to anything (like the elevator call button) and let the OCD people press it as often as they like.
Support Right To Repair Legislation.
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.
Any time the app receives focus or is made visible, it should refresh. As long as it's visible, it should refresh every n seconds (30 seems a fine number, shorter for some apps, longer for others I suppose).
It surprises me that this isn't just how things are done...
Because most internet systems were designed as stateless connections....
https://en.wikipedia.org/wiki/...
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.
Learn from accounting where you can lose your job if money gets lost. Give each "transaction" a sequence number, and don't accept (process) new transactions until you receive the prior numbered package of the running sequence, and a byte check-sum indicates it's complete. If you (client) don't receive a good copy of the transaction after a certain amount of time, you request it again. Client requests also indicate which packet# they are responding to.
However, that won't solve rendering bugs or human errors where the UI update command programmer assumes a screen image or layout that's not as expected. Screen refresh is similar to a reboot in that we re-set the dinner table because managing a long line of delta's without errors is a difficult task. Nature hasn't solved the problem either, and uses a reboot called death-and-rebirth to clean up mutations.
Table-ized A.I.
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.
Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
Yeah? What time was "now" when this status was set?
Is this a "time zones are hard so we fixed the glitch" thing?
... 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 casually all pressing the button at the same time. There may be other reasons still to make ith harder to press that button.
So yes, hide the button if you like, either to make your app nicer, or to prevent it to be pressed for no good reason (sort of like important buttons covered in acrilic or glass), but leave the capability to refresh there...
* I had to create a special admin user for the NOC Technicians to use that refresh button. It was in a sealed envelope, and everyday I checked the envelope was not opened. Each guard change had to check that they received the envelope still sealed, and reflect that on the logbook, otherwise, they would be responsible for anything that admin user did, as reflected in the syslog logfiles. And the envelope could only be opened under my direct orders. Of 2 years being the admin of the NMS, only once we had to open the envelope. The poor tech asked me three times if I was sure I wanted him to open the envelope and write that on the logbook, such was his amazement... Fairly low tech technique, but efective nonetheless...
*** Suerte a todos y Feliz dia!
"'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.
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.
One hard problem is naming things. Anyone remember what the other one is?
As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
"My milkshake brings all the cows to the yard!" X^D
---
Okay actually it doesn't. I had to cheat by going out and yelling MOOOooooOOOOooo COOOOOWwwwwww.
But now they're all just staring at me, and I'm starting to getting a bit creeped out. Do they know something I don't?
I was hitting refresh on this very site for the last couple of days, and I got nothing.
This is a tricky question, since so much is up for interpretation about what's a "serious" site.
Is a serious site, one that tries to be good? Or is it one that tries to maximize ad revenue? Does a serious site care about the user, or does it prove its seriousness by demonstrating that it does not care about users?
I'll often get a notification showing me part of a new message I just received in Discord. I tap on the notification and it takes me to the Discord app. *And the message isn't there.* I have to kill the Discord app and relaunch it in order to force a refresh to see the new message.
His view was that software should be hell to use, an agonizing experience of frustration due to inability to command the computer to do what you want it to do, because instead you should be asking a computer to do what someone else thought would be a good idea to do.
And then hope that the "someone else" got it right and thought of everything. Which not a single software designer in the entire history of computing has ever gotten even half right, much less totally right.
Jobs' vision of computers is totally unusable garbage, combined with slavery. He was an evil person and the computer world (and especially users) should have celebrated his death much more joyeously, by purging the market from his corrupting influence.
Instead, the forces of lameness did what they always do when they're called out. They doubled-down. "You think that sucks? Wait until to try this!"
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 close, but if you hit your browser's back button, you were taking back to login page. They have since fixed this, but it was frustrating for a while.
Single page apps need to properly use anchor tags to support browser navigational buttons. Yes, desktop browsers still have them, and users still click on them.
Don't get me started on padding and white space...
And have been for years. This should be a non-problem.
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 late '90s. They eventually had to rebrand iTools as .Mac in the early 2000s to get away from the bad word of mouth it had. Likewise, they eventually had to rebrand .Mac as MobileMe in the mid-2000s to get away from .Mac's bad word of mouth. And then they eventually had to rebrand MobileMe as iCloud in 2011, which is what we still have today. At no point along that journey was it a reliable product or one that I could recommend to friends and family. In fact, my father's choice to jump on the MobileMe bandwagon continues to be a cause for tech support issues he brings to me, years after the service's discontinuation.
Even iCloud was widely maligned at its launch in 2011, and continues to be widely maligned today, despite the fact that it eventually did become a reliable product a year or two ago with the advent of their CloudKit APIs. But prior to that? Dumpster fire after dumpster fire. Even the most ardent of Apple apologists will agree that Apple's cloud services were simply bad under Jobs' tenure.
Steve Jobs taught us that fewer controls are better [...]
I think what he tried to teach us was that replacing numerous single-purpose controls (e.g. keyboard buttons) with a single infinite-purpose control (i.e. a touchscreen that could become anything you needed) was better. Sure, minimalism was his thing, but so was brushed aluminum in iTunes, Corinthian leather in iCal, green felt in Game Center, and a wheel on the iPod that was actually five buttons in one. Put differently, he was trying to teach us to use simpler controls, not fewer controls.
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
excitingthingstodo.blogspot.com
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?
Yes, yes they do.
...because CRM 2013 and later use a bogged-down piece of junk web interface that 1) expects you to have a touch screen (what.) and 2) actually manages to corrupt itself if you press the BACK BUTTON because IE caches urls... urls which include a temporary session key that expires, leaving tons of our clients wondering why their product magically stops working. The same thing happens with refresh.
The Microsoft solution? They say "hitting back/refresh button is not supported." Yeah, that's right. Microsoft has decided that an entire feature of the internet and 99% of users intuitively use without thinking... leads to a broken system until you manually clear the cache.
And as anyone in IT can attest: It's super easy to get hundreds of salespeople to modify their behavior! Especially when you give them a convenient "break my app" button at the top of their app.
I'd be laughing if I wasn't so sad at the number of stories like this I have related to supporting Microsoft products.
"to make sure your app's in sync"
Are the editors asleep, or just ignorant of basic punctuation?
FFS, hire me as an editor and all this amateur-hour shit will go away, 100% guaranteed.
Just cruising through this digital world at 33 1/3 rpm...
He's a marketing genius. Look no further that the decades of Apple's refusal to add a second button to their mice.
You have to be smarter than the machine you're working with.