There is something that I always did in my career managing internet tools. I volunteer helping non-technical people to get a presence online, build up communities and such things. But I have to confess, this comes with a price. A price on your nerves when you realize that easy obvious things that you take for granted are actually not clear at all by the average Joe.
Yeah sure they can post of facebook. For many of them, it’s pretty much all what internet means. But for the real things, they have no clue what they are doing. Talk about the merits of a chaos money to test your infrastructure. Well, the man on the street is pretty much the best you can get when it comes to chaos testing your design and workflow.
But whatever infuriating it can be, it’s a great thing to keep in mind. People have no clue what they are doing. They don’t know what an url is. They think smileys are fun. They feel writing all in capitals is just a detail. When some popup appears they consider it’s all broken and there is no need to read what’s written on it because anyways that’s over their heads.
So, when you design your applications, you may be lucky enough to face an educated population. But in many cases, you may not. Take it in account. Make things over-explicit and use images to bypass the inability of the modern average people to read anything that is more than a sentence of 5 words.
Go volunteer to help your fellow neighbors in your local non-tech communities. It’s hard, but it helps keep in touch with the reality.
And above all, keep patience. It’s not their fault. There has never been any economical incentive to educate users. The shortest path is always the best path. So for sure, you should make things easy. But if you get any occasion to provide your users some education, it’s never going to be on your spec sheets. You can do it as a natural thing to do. Add optional text to explain why things are the way they are. Few will read it, but they will learn from it.