I began reading Joel's article on great design. The question is, who can do a good design for a software. There is this argument that techies are the worst UI designers. I feel non-techies are no different. To prove the point, here is a frustrating argument I had with a business head on usability and relevance of messages.
He wanted a descriptive message on every error user makes in data entry. In a user registration page, if the user entered an email address without an @ sign, we were giving a message as 'The email address isn't valid.'. The same message would be shown if the validation fails for the standard pattern matching for email address.
His argument was, if the program knows what is incorrect in the value, why the hell can't we give a more helpful message - like 'You missed the @ sign in your email address.' He wanted a message that is similar to the following one.
'The email address you entered is invalid. The reasons could be one of more of the following:
The address doesn't have an @ sign.
The address doesn't end with standard domain names like .com, .net etc.,
The address has invalid characters like comma, semi-colon etc.,'
I'm sure he will still have issues with "etc" and want it to be replaced by the actual values. In that case, our program management team will spend the next month composing the error messages for user registration page.