Some web-browsers use "Stop Loading" icons that were represented with USA stop signs. To anyone else in the world, that's just a red octagon.
Similarly the spell-check button in MS products is a tick over an "ABC". I don't know what the spell check button is like in countries with a different lexicography.
Also, in countries which read right to left, are the back and forward buttons reversed?
If you are only writing software for citizens of your own country, you can probably get away with icons. However, if you have a wider userbase, why not use just text (or place text with the icons)?
To my mind I prefer plain text - here's why.
- Depending on the size of the icon, there can be more screen real-estate. Usually this is the opposite, but this is outweighed by...
- Never having to wait for a tool-tip or read the help file.
- Very easy to internationalise without worrying about cultural differences.
I was doing a usability study the other day and I asked "What do you think would happen if you pressed this button?"
The answer surprised me,
"I wouldn't. I know which buttons I need to use. If I press anything else I might break it [the machine]."
Most of us here (I imagine) would either press a button to find out what it did, or read the help file. It turns out that people who have been trained in one aspect of a program usually wouldn't dream of expanding their horizons. This is slightly reduced when text is used rather than icons.
However, a short description can be as unhelpful as a long one. Does "Attach" mean "Attach this to something else" or "Attach something else to this"?
The other problem is that it can be hard to differentiate between a textbutton bar and a menu bar. The subtle underlining of menu bars is probably not enough (and is turned off in WinXP!)
So, in conclusion (to a rather rambling post!) it's impossible to get an icon to work as effectively as a description, but text brings with it the problems of space and mental-model clashing.