Coding Horror

programming and human factors

Don't Acronymize Your Users

As a commenter noted in my previous post on how not to give a presentation, I have another complaint about software development presentations that I didn't list. They're chock full of meaningless acronyms. SOAP, BI, SOA, RDBMS, SGML, CRUD, RMS, RDBMS, XML, ORM, FAQ. I appreciate the need for brevity on slides, but can you at least have one slide that explains what the acronym means before giving up on words altogether?

The problem of acronymization was highlighted in bold relief for me last night as I was browsing through Dell's Core Duo laptops. "Gee", I thought, "I wonder what resolution this laptop screen has?" 1600 by 1200? 1280 by 1024?

You might expect the resolution of the display to be expressed in something typical and understandable, like pixels. But you'd be wrong.

This particular laptop has a "17 inch Wide Screen XGA+ display". What the hell does that mean?

What's a "WUXGA"? You might make a stab at guessing it's a rare four-horned bovid found in Central Asia, but in fact it's one of the grotesque acronyms vendors of personal computers, display boards, monitors, and projectors use to obfuscate one of the most fundamental specifications of the gear they're selling you: just how many pixels it can display.

After the introduction of the IBM Personal Computer in 1982, the PC industry got into the (bad) habit of identifying various screen resolutions by the name of the IBM or equivalent display adaptor having the corresponding maximum resolution. At the outset, this made sense: a user whose machine was equipped with an EGA (Enhanced Graphics Adaptor) need only look for monitors labeled "EGA Compatible". As the years passed and Moore's Law worked its magic on display resolution as well as compute speed, more and more mnemonics were coined as higher resolutions appeared and were adopted, resulting in today's ridiculous alphabet soup. Many of the current acronyms are, in fact, examples of "nested acronyms" of which Lisp programmers and other ber-nerds are so fond. "WUXGA", for example, is "Wide UXGA", where "UXGA" means "Ultra XGA", and "XGA" is itself an acronym for "Extended Graphics Array--three levels of acronyms!

I needed an entire translation page just to determine that "wide" XGA+ is probably 1366 x 768. Or thereabouts. I'm not entirely sure. Thanks a lot, Dell.

Don't do this to your users. If you must use acronyms in your application, be sure the acronym is explained up front. And in at least a few other places that are easily discoverable, too.

Written by Jeff Atwood

Indoor enthusiast. Co-founder of Stack Exchange and Discourse. Disclaimer: I have no idea what I'm talking about. Find me here: