User interfaces for interactive applications basically consist of input from users and feedback from the interface. In order for the user to be able to use – give input to – the interface, the user need to understand what the interface is about. The UI needs to talk to its user in order to work at a truly satisfying level.
The average friendly button needs to be able to say the following to its user:
- Hi, I’m a button and you can click me!
- If you click me this will happen: [action]
- This is my importance compared to my fellow buttons: [importance]
- I’m related to these guys over here
- I’m not related to what’s over there
- You are pointing to me, and I’m ready to receive your click!
- You are clicking me, and I’m ready to carry out my action!
- It’s perfectly fine if you don’t want me to do anything after all
- Look! Now I’m performing my action in all my glory!
- You did great!
- Umm… Sorry, but I’m disabled at this point, and clicking me is of no use
It’s a lot of language when you look at it like this. I’ve found it quite supportive on many occasions to look at user interface design problems in terms of language.