I usually get some flak from readers whenever I suggest that software developers can learn lessons from Microsoft. Not everyone thinks Microsoft is a role model. Nonetheless, I maintain you'd be hard-pressed to find another company outside Redmond that thinks more seriously and deeply about the practices and processes of software development.
Case in point: the new fourth edition of the "Microsoft Manual of Style," which crossed my desk last week. The "Microsoft Manual of Style" is a style guide for writers. Its goal is to maintain consistency in published writing by settling various niggling points of style and usage. For example, is it "e-mail" or "email"? Do you capitalize "Web"? Is a CD-ROM a "disc" or a "disk"? And so on.
[ Neil McAllister explains why for mobile UIs, it's developers versus users. | Go deep into HTML5 programming in InfoWorld's "HTML5 Megaguide Deep Dive" PDF how-to report. | Follow the latest news and insights on programming with InfoWorld's Developer World newsletter. ]
Lots of publishers maintain internal style guides. Most magazines have one. InfoWorld has one. What makes Microsoft's style guide interesting, however, is that it applies to all kinds of official communications. Its intended audience includes not just the authors of manuals, articles, and advertising, but the designers and developers who create Microsoft software.
Why do software developers need a style guide? As it turns out, for more reasons than you might think. The manual covers all the typical editorial suggestions, such as using consistent terminology and style, favoring active over passive voice, and avoiding sexist language and excessive jargon. But it also includes a wealth of tips that are unique to the modern discipline of software design.
Elocution lessons for software
The gist of much of Microsoft's advice is that a user's relationship with computer software is a unique one, and it's important to craft the language of software UIs accordingly. "We have responsibilities beyond being a producer of great software," the manual explains. "We think about how our comments will be perceived."
Much of how users perceive software depends on the tone of the user interface's language. Microsoft advises designers to maintain a tone that is "polite, supportive, and encouraging," as well as emphasizes what users can do with the software, rather than what they can't.
At the same time, developers shouldn't patronize users. Don't tell them how easy, fast, or fun your software is; if a procedure is actually complicated, slow, and frustrating, your users will know it. Don't try to be funny, and don't assume to know how users are feeling -- for example, by telling them not to worry. You should also avoid anthropomorphizing your software with phrases that explain what it "needs" or "knows how to do."
Perhaps the best advice Microsoft gives, however, is that you should start writing UI text early in the software development process, because awkward UI text can reveal deeper program flaws. Don't make the mistake of relying on detailed user prompts and help text to solve design problems.