Wednesday, October 18, 2006

Drongo #1

(For non-Australian readers, a 'drongo' is an idiot.)

I admire people who develop good software. The guys at CodingMonkeys who developed SubEthaEdit, take a bow. Likewise the people who made Vienna, in my opinion the #1 RSS app for Mac. The Lilypond developers, the creators of FreeMind, these people deserve standing ovations for what they have contributed to a wired world.

But this post isn't about them. It's about the people who made Powerpoint.

A colleague of mine has lost hours in the following way:
  1. she was building Powerpoint files to give to her students;
  2. these files outlined course material for the students to review;
  3. the files also included hyperlinks to websites to provide additional reading material and resources for the students to investigate;
  4. after she saved a file and quit Powerpoint, when the file was next opened, some of the hyperlinks were missing;
  5. resetting the hyperlinks and re-saving did not change this - the hyperlinks disappeared again once she quit Powerpoint.
I and another colleague, Nayth, spent some time trying to suss this behaviour. Finally, Nayth found the answer. It turns out that...
PowerPoint stores the hyperlink information in the Document Summary storage area of the presentation. This storage area has a limit of 64 KB. The Document Summary storage contains all the document properties, custom properties, references, and other similar data. [source]
64K? Are you kidding me? And this 'storage area' holds not only the hyperlinks, but all the document properties as well?

The worst part is that you get absolutely no indication of when you've exceeded that 64K limit - it just drops the excess data (like my colleague's hyperlinks) and carries on as though nothing's happened. No warning of any kind appears.

Do the developers at Microsoft consider this acceptable? Because I don't! And I can't think of anyone else who would either. The next time someone describes Microsoft's products as the 'industry standard', ask them, "you mean baseline, right?"

So my first Drongo goes to the developers of Powerpoint who not only thought that 64K was an adequate size buffer for storing a document's metadata, but also decided that no one needs to know when they've filled it.