Dear Software GUI Programmers,
Please remember this rule when setting the colors of your user interface: if you specify a background color, you must also specify a foreground color.
In my efforts to reinstall software on my system this past weekend, I encountered a number of installer scripts and interfaces where white text was placed against a white background, or black text against a black background. Why? Because I set the default colors on my system to white-on-black, not black-on-white.
White backgrounds hurt my eyes, which is why none of my web sites have light backgrounds. So I changed my system to suit my need.
Unfortunately, most developers aren’t so vigilant. When you force your software to use white text, you can’t assume your user’s system will provide a dark background. Same goes for dark text.
I can’t count the number of times I’ve had to switch back and forth between schemes, just to use an application. It’s the first lesson of programming — assume your user will give bad input.