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."
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...
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.
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
though do they want to?
If they can learn, they would've. 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...
"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.
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!
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.
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.
“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.”
"Sorry, this message can no longer be saved. Copy this message before discarding it if you will need access to it later."
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.
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.
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.
Or, "Can't i just restore it out of the trash?"
- discard it permanently - store this version on the server - save as a file to your computer”
“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.”
‘your data has been deleted on the server, but that your client still has a cached copy’