Hacker News new | past | comments | ask | show | jobs | submit login

Everyone is snickering at this and talking about philosophy, but there is actually a legitimate point being made here, albeit obliquely: how do you explain to a non-technical user that their data has been deleted on the server, but that their client still has a cached copy that they might want to try to salvage somehow? I submit that this is a nontrivial problem worthy of serious consideration.



> how do you explain to a non-technical user that their data has been deleted on the server, but that their client still has a cached copy that they might want to try to salvage somehow?

How about: "This message has been deleted from the mail server, but Outlook still has it in its temporary cache on this device. You can copy the message contents, or discard it from the cache, at which point it will be permanently deleted."


this is the only correct answer. "a non-technical user has no idea what a server or cache is" sure, but they can learn. The average person is much smarter than you think they are (when it comes to matters that actually affect their day to day life). If they don't get your explanation, it's almost always because (1) they don't care, they don't see why it matters to them (it often doesn't) (2) you're not explaining it well enough

feynman has a nice philosophy on this that I think is true & useful: (that there's great variety in capability of the average person, we should explain things faithfully & without dumbing it down):

https://mastodon.gamedev.place/@omarshehata/1123783593602927...


The problem is that people's brains just fucking shut down once it's computer related. "What was the error message?" "Idk I didn't read it." "Well here it is, it's asking for your password." "Ok what should I do?" This type of shit is more common than it should be. So many people just give up on computer related things that isn't the happy path.


If those users aren't reading the error dialogs anyways, why do the error dialogs need to pander to those users? I wonder if the "make it dumb enough for every user to understand" approach leads to user comprehension plateauing prematurely.


Shareholder-driven growth targets mean it's no longer good enough to target the 20th percentile users, who might have reading comprehension at a 5th grade level. You have to hit the 10th percentile, or the 5th. Be glad that you still get text instead of pictures.


> Be glad that you still get text instead of pictures.

Even that isn’t a given. I’ve seen banks using emoji in their notifications. Companies are using ML to predict which emoji to change your text to. There are emoji domain names. Etcetera.


Tangentially related, I used to work at a company where the C level was demanding all of our help documents be videos. They couldn't understand that it made them unsearchable, took way more time, did not allow branching or decision making in the processes, if anything in the workflow or even UI changed the entire thing would need to be redone, takes up a ton of space, is not easily skimmable etc. "but it's easier than reading!" "are you telling me you've never learned how to do things on YouTube?" Etc. I refused and resigned not long after.


I was thinking you could do product demos / help videos combined as an acceptance test suite.

You would programmatically build the self help tutorial like a ui test (use a test browser and it would be like cypress/selenium). You would write a script, (ai) text to speech, and you could even respond to user input for branching.

These would be, de facto, your acceptance test suite and your tutorials will flag when they break on new ui developments, helping to keep them up to date


Sure, if they want to hire someone. Ain't nobody got time for that.


Counterpoint, when a random dialog asks for a password, the answer is not always "give the password", so maybe that's part of the reason why people find it so confusing.


When you can't open Outlook because you're getting an error, ya might need to fuckin sign in. This is sadly a common occurrence.


Half the people in my class in college don't know what Windows is. As in, they know they use a laptop. They don't know they are using Windows.


> but they can learn.

though do they want to?

If they can learn, they would've. And then cease being a non-technical user.


> And then cease being a non-technical user

I'm glad you said this because Feynman has a beautiful response to it: basically, there is no such thing as a "non-technical user". Almost everyone is adept at navigating _some_ complex system in their life. I agree with you that they probably don't want to learn.

but the reason they don't want to learn is because they don't think there is any value on it, they believe it is a waste of time. For the same reason I (used to) believe it's a waste of time for me to play puzzle games (I'm bad at it, I don't enjoy it, what's the point). Or learn to manage people, or learn to understand politics, etc.

I'm asking you (and everyone reading this) to suspend disbelief and pretend that these users DO have capacity to learn, and they just don't see any value in it, and it's on us to clearly (and concisely) communicate the value without gatekeeping and without dumbing it down. I have been surprised at how people's capacity to learn was much greater than I expected, and I hope the same will be true for you.

I see this attitude a lot of, "well, if you want to understand how this system works, we have to start from scratch" (and they start to lecture for hours about some fundamental things). I think this is a failure mode: an inability to figure out _what_ fundamental pieces actually matter to understanding the current system.

Apologies for the rant, I feel strongly about this because I think there's a lot of low hanging fruit here that everyone can benefit from, but I'm still trying to refine my thoughts.

i tried to write about this here: https://omarshehata.substack.com/p/my-favorite-1980s-canadia...


I usually learn things without the explicit desire to learn, and then feel happy that I did learn. Perhaps I should learn more.


A typical person's head will explode at the mention of the words "cache" and "server". They will then go into a blind panic that their data is going to be "permanently deleted".


Yeah you can't use words like that. Even many people who won't panic at the word "server" don't really understand what it is.

"This message no longer exists in your Inbox. If you close it, you will not be able to open it again."

What's more amazing is that this state actually happens often enough in Outlook that somebody wrote code to detect it, and to create a message box for the user to warn them about it.


every warning or labelling of an issue is because it happened to somebody, and it needed to be prevented.

It's true in the physical world - signs like 'beware of falling pottery' for example. The electronic world is a facsimile of the real world!


Not an issue, replace server with the cloud and remove cache, temporary is fine


Wrong.

This is stupid, and you are stupid to entertain this idiotic notion.

Let's take another example:

"The mobility device can no longer operate. Your destination is no longer available."

This tells me absolutely nothing. It possibly even implies that something very bad has happened to my destination!

"The bus engine has broken down. Your route destination is no longer in service."

Even to someone who doesn't know what a "bus", "engine", or a "route" are, this is an actionable and clear message. If I don't know what those things are, I can quickly figure out what a bus, engine and route are, or pass the message to someone who does understand.

Removing information and replacing it with nonsense does not make an error message better. You don't need to be technical to be able to make sense of a message.


So what? Most users will understand this or at least get the gist. My mum can ask me what it means and then I can tell her. That's a much better outcome than the original message.


"locally", "the cloud"


Even that can still be too far. I lean towards “your computer” and “their computer”


Is it local if I stay in the same ZIP code?


I'd say a non-tech user has no idea what a server or cache is. I'd go with the word "backup" instead. Something like telling them that email is not backed up (online? where?) and if they delete it from their computer it won't be able to be recovered.


Does anyone have any real studies about whether users will "have their heads explode" when presented with technical language? Apple and Microsoft did user studies for this sort of thing in the 80s and 90s, right? Has anyone done similar in the 00s, 10s, and 20s?


Do we really need to? I'd lay odds that the effect remains the same: users dismiss the error/warning without reading it.


How about a dialog with the buttons "Try again", "Save to file...", "Copy to clipboard" and "Discard contents"?


There are only two acceptable solutions to this problem:

1. No error message. Just recover the cached message.

2. The message is deleted

There’s a world we live in where ahem-ahem a certain design focused company would’ve done it this way.

Ultimately, it’s the responsibility of the Mail app to make a decision on whether to recover the cached message or not. It’s those engineers & designers who built that damn cache in the first place. And the server too.

Let _them_ deal with the consequences of messages existing in one but not the other. It’s not the user’s job to care.


Funny of you to think your non-technical uncle is aware that there is such a thing as "mail server". All they know is that this email thing works, in the sense that he can send and receive emails.


Yeah but that would be taking nearly all of the Microsoft out of it ...


Some good passes at UX copy in this thread, but for this application, I’d recommend against trying to explain the underlying technical mechanism at play and instead frame it in terms of outcomes.

“This message has been deleted, but you still have a temporary copy. If you need to save anything from it, you should do so before discarding the temporary copy.”


This is the best one so far. Combine that with the 'if you refresh this page the text will disappear' from another poster and I think we have a very workable error message that outlines the issue, solution, and due caution necessary, for the potentially non-technical user.


You don't. Explaining what happened is not going to help the user at all. You can only explain what options are available to the user. Something like the following

"Sorry, this message can no longer be saved. Copy this message before discarding it if you will need access to it later."


Sorry but hard disagree on this one. This increasingly popular assumption that users are clueless cavemen is very condescending. Help the user self diagnose instead.

WHY can’t it be saved?

Is the internet not connected? Check your WiFi.

Is the server full? Talk to admin.

Is the message deleted by another user? Talk to your team about ways of working?

Is it an internal application error? Tough luck, maybe the error code can be googled at least.

This does not mean you need to dump a stack trace in the users face, the examples above can still be presented briefly. If that’s too much effort to implement, consider an expandable details section.

The amount of applications lately where I had to open the verbose developer logs only to find silly user fixable errors is astonishing. Last one was simply credentials that had expired.

To anyone who thinks you are giving the users a magical experience, free from technicalities, by hiding root causes behind a facade of abstract, please think again. You are just frustrating the users even more, by making errors unpredictable.


> This increasingly popular assumption that users are clueless cavemen is very condescending.

Sorry, but no. And this idea that everyone else is condescending is offensive nonsense.

I understand where you're coming from, but the people who understand how actual users behave and what actual users want, in the real world, are not condescending - they're empathic. They recognize that the majority of people in the world are not like us, in terms of technical abilities, yes, but more importantly, in terms of desires.

The average user doesn't care. They don't have time to do things like "talk to admin", nor do they even know what "check your wifi" means. "Talk to your team about ways of working"? I'm sure most employees would just love to go and have awkward conversations with others, that's exactly what they want to do this minute.

This is even on the off-chance that the user has even read the message, which is incredibly unlikely. I can't count the number of times I've had developers tell me they had an error message and don't know what to do, and my solution was "let's read it, it says this is the error" and that being revelatory for them.


> This is even on the off-chance that the user has even read the message, which is incredibly unlikely. I can't count the number of times I've had developers tell me they had an error message and don't know what to do, and my solution was "let's read it, it says this is the error" and that being revelatory for them.

I agree that the problem with technical and non-technical users alike is one of motivation. Like you say, someone who is not technically minded won't care that the server is out of pace or their wifi is disconnected and developers who just want to get their code to compile don't care about learning how some new framework works.

But in all these cases, the users do care about doing whatever they were trying to do when they got the error. And the best way to help them is to give them all the relevant information they or someone else needs to fix it. Giving some generic error like "sorry your file could not be saved" neither helps those who are motivated to fix it, nor those who aren't motivated.


"Copy it to where?"

Or, "Can't i just restore it out of the trash?"


Maybe pose it as a question to the user, rather than an error message: “This message has been deleted from the server. Do you want to:

- discard it permanently - store this version on the server - save as a file to your computer”


I find most apps give up an enumerating the possibly modes of consistency violation that can occur in an app. I’ve tried and failed to do it “right” before and it’s incredibly difficult.


Yes, let’s try to explain technical things to non technical people without using technical words and pretend we're getting somewhere and that it's useful for them.


> how do you explain to a non-technical user that their data has been deleted on the server, but that their client still has a cached copy that they might want to try to salvage somehow?

“The message has been deleted, but your app still shows it. You will not be able to see the message again if you discard it, and it will disappear soon.”


"What do you mean 'it's been deleted?' It's right here! Stupid computers..."


How about your phrasing?

‘your data has been deleted on the server, but that your client still has a cached copy’


"Hello IT? Yes, all my data has been deleted please help! Something about a cash-ay and the server is down!"


That's why you always have people to either copy-paste error messages or send screenshots. Because people are terrible at reading and even worse at reproducing what they read.


Why delete the copy on the client at all?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: