Engineers suck at communication.
Really, for all the smart people who can read a core dump and juggle twenty pieces of information in their head while debugging driver code, the ability to talk to the common user (bah, who needs users?) is surprisingly rare. Sure, engineers can, for the most part, communicate with each other with usual lingo and acronym symphony, but “dumbing it down” to the understanding of a normal person seems to almost be beneath some developers.
Yea, it’s not a criticism unique to the software world; every hobby or industry has its own terms and linguistic barriers of entry which, if put into song, resemble an international music festival.
That said, the reason why communication in software is especially important is because the computer is a finicky mistress who really just values precision. Your computer only does what you mean and not what you say, so when instructions from above descend (often) in vague and confusing fashion, communication becomes a game of software telephone; at its worst, the community around that piece of software is an echo chamber of misinformation.
Some of the worst offenders are the various gadget hacks and open-source projects. iPhone jailbreaks, PSP custom firmware, and personally most recently, wiki implementations are some really cool pieces of software, but surrender a significant number of users because they’re just so damned hard to use and ignore users without technical backgrounds. The community is actually structured like this:
- Creators (tier 1). Revered as gods, spoken in legends, existence questionable.
- Gatekeepers (tier 2). Passionate techies who volunteer time to develop addons, write documentation, provide limited technical support, etc.
- Elated (tier 3). Managed to get the software working, happy to share their experiences despite inaccuracies and inability to understand how they accomplished the task, provide abundant echoes.
- The lost (tier 4). Assumes others’ ability to read minds from vague problem descriptions, physically unable to search or read older threads.
Not to say all software suffer from developer tunnel vision. Wordpress has pretty good documentation and a dummy-proof plugin system; PmWiki has detailed “cookbooks” describing how to and the reasoning behind modifying their software; ZiPhone is robust enough to handle most iPhones in various partially jailbroken states and is a snap to use. Unfortunately, it takes a bit of work to find these gems in the rough.
Developers, don’t let your hard work go to waste because nobody understands what you’re saying.