Charlie Stross really, really hates Microsoft Word. So much so that he's written a 1600-word essay laying out the case for Word as a great destroyer of creativity, an agent of anticompetitive economic destruction, and an enemy of all that's decent and right in the world. It's actually a pretty convincing argument.

As the product grew, Microsoft deployed their embrace-and-extend tactic to force users to upgrade, locking them into Word, by changing the file format the program used on a regular basis. Early versions of Word interoperated well with rivals such as Word Perfect, importing and exporting other programs' file formats. But as Word's domination became established, Microsoft changed the file format repeatedly — with Word 95, Word 97, in 2000, and again in 2003 and more recently. Each new version of Word defaulted to writing a new format of file which could not be parsed by older copies of the program. If you had to exchange documents with anyone else, you could try to get them to send and receive RTF — but for the most part casual business users never really got the hang of different file formats in the "Save As …" dialog, and so if you needed to work with others you had to pay the Microsoft Danegeld on a regular basis, even if none of the new features were any use to you. The .doc file format was also obfuscated, deliberately or intentionally: rather than a parseable document containing formatting and macro metadata, it was effectively a dump of the in-memory data structures used by word, with pointers to the subroutines that provided formatting or macro support. And "fast save" made the picture worse, by appending a journal of changes to the application's in-memory state. To parse a .doc file you virtually have to write a mini-implementation of Microsoft Word. This isn't a data file format: it's a nightmare! In the 21st century they tried to improve the picture by replacing it with an XML schema … but somehow managed to make things worse, by using XML tags that referred to callbacks in the Word codebase, rather than representing actual document semantics. It's hard to imagine a corporation as large and [usually] competently-managed as Microsoft making such a mistake by accident …