Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Programmers, like myself, often is too worried about if their code is really going to work, rather than how to communicate with the users. Scared of throwing an exception at the user, we test with different scenarios in different environment like development, staging and production.

But when it comes to deliver a simple line of information to the user - we fail. We try to convey a message that explains to us what is really meant rather than a message, in plain english, easily understood by the user. And even more - we use a very strict and formal language. We spend 1% or less of our time to think about who receives the message, and what they think of it when they do.

I use phrases like "Not selected to the next step" instead of "We're sorry, but there where others with higher score than you who made it to the next step. But keep up the good work, we like to see you here again. Sometime soon it will be your turn"

I dislike this attitude that I seem to be adapting. I'd like this behaviour of mine to change. How do I keep myself out of the rabbit hole?

share|improve this question

closed as primarily opinion-based by MichaelT, durron597, GlenH7, Dan Pichelman, Ixrec Oct 16 '15 at 20:02

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise.If this question can be reworded to fit the rules in the help center, please edit the question.

Listen to GI Joe ... "Knowing is half the battle", now just do what you already know needs done. – Tim Apr 15 '11 at 19:31
-1 If your question is "how do I change my behavior", it is OT for programmers.SE. – Rein Henrichs Apr 15 '11 at 19:32
Where's the actual question here? This looks like ranting followed by how can I rant without getting all upset? – P.Brian.Mackey Apr 15 '11 at 19:39
There's a good question buried in the rant: "How can I write clear and helpful error messages?" – Larry Coleman Apr 15 '11 at 19:53
@P.Brian.Mackey: I have no better idea than you of what the OP is asking or suggesting. The first sentence of the second paragraph is where I got the question. I'm saying that maybe the OP should have asked the question I wrote instead. – Larry Coleman Apr 15 '11 at 20:03
up vote 2 down vote accepted

I think you might be generalizing about what typical programmers do. Most programs I use and the ones our team creates have useful exception messages for users.

To create useful messages, you have to put yourself in the user's shoes which can be difficult, but should be something you are doing whenever you are writing/designing how the user will interact with a program.

In my opinion, how the code is going to work is less important than communicating to user, because code that works but doesn't communicate to the user is of little value to the user.

share|improve this answer
Exactly! I think you have a very good point. The real deal, in our daily life, is to communicate something before, during and after an activity. Great answer, jzd! – Benny Skogberg Apr 15 '11 at 21:29

You should focus on being a good programmer and use resource/string files for messages like that. The proper business group can then update those strings and turn the message into something more user-friendly.

share|improve this answer
Wait, salespeople are responsible for writing error messages? This sounds like the worst possible answer. If the people writing the software aren't responsible for its usability, something is wrong. – Rein Henrichs Apr 15 '11 at 19:37
Usability is not user-friendliness. Most larger development projects just create a strings file that contains the programmer summary of what went wrong. This file is then updated by the business to be user-friendly. Once that is done, it is sent out for translation into all languages that are supported. Only the creation of the original strings file is the programmer's job. Developers guessing at what the end user will or will not understand is a bad idea. – Dave Wise Apr 15 '11 at 19:46
"Usability is not user-friendliness." Rationale? Not buying that for a second. Who is "the business"? The corporate entity isn't writing strings into files. – Rein Henrichs Apr 15 '11 at 19:47
the original subject was that he was lamenting not being able to come up with friendly error messages. My point was for him to not worry about the message itself but instead just make sure he is using the resource files so that the actual message can be easily changed later, i.e. be a good programmer not a linguist. – Dave Wise Apr 15 '11 at 19:58
You just don't like sales folks do you? ;) – Dave Wise Apr 15 '11 at 20:24

Never mind at all about that. Your messages will improve with experience like all other areas of skill. You just need to ask for review seniors and they should give you more advices about how to write effective messages because it's not so difficult after all. If you have a problem with the language you may also go to the technical writer for advice.

share|improve this answer
Good one! But if there is no technical writer around in a small company? Then you have to rely on yourself, right? I Like your answer M-Sameer! – Benny Skogberg Apr 15 '11 at 21:37
Yes in a small company you are on your own but you should ask for advice from the person mostly concerned with this and willing to give input to enhance the application. Thank you very much for the compliment :) – M.Sameer Apr 15 '11 at 22:26

Not the answer you're looking for? Browse other questions tagged or ask your own question.