Preston Gralla has an interesting list of five things Microsoft won't do in 2005, but should.
Worth a read, but one of the "should" items for Microsoft is also true of a great deal of open source software as well. Specifically, Gralla's advice to Microsoft to "introduce plain-English error codes." Microsoft may be guilty of unintelligible error codes, but the folks in Redmond are hardly alone on this. A lot of open source applications generate unintelligible error codes, if they generate one at all. Firefox (just to name an example) usually runs like a champ. But, when it does crash, it usually just blinks out of existence without any hint whatsoever as to the cause.
One error that sticks in my mind is the ever-popular "segmentation fault" or segfault for short. Now, a tech-savvy user might understand that a segmentation fault is "an error in which a running program attempts to access memory not allocated to it" but your average user probably won't get a great deal out of that message. In fact, it's downright user-unfriendly.
There are really only three solutions to the problem. One, educate the end-users so that they understand what a "segmentation fault," and other obscure errors, are. Two, developers could write programs that never crash or generate errors. This may be desirable, but it's not very likely. Or, the most likely of the bunch, provide better error messages so that users can understand what went wrong and how to fix it (if that's possible).
Perhaps as open source developers are making their resolutions for 2005, they could add human-readable error codes to their list?