The Anti-Joy of Documentation

It’s just one of those things I dread. Partly because it implies a sense of finished-ness, the software is complete and now all we need is a manual…. Where-as in the real world (my real world anyway) the software is never finished, because the way it is used feeds back into the development process. If I create an application to help design levels for the latest Quake or whatever (how old do I suddenly sound) and people start using it to design skateboard parks or hotel lobbies, do I ignore them and continue pushing it as a level editor? OF course not! If a niche is staring you in the face you have to jump in (before it closes crushing Lois Lane in her car). Does it sound like I’ve got business sense yet? I even had myself fooled there for a second ;)

Anyway, I figure that before any software goes public it must have at least a modicum of documentation to go with it. A factor that doesn’t help is that I never read documentation myself, usually being too impatient to just try out a new bit of software. So I dont really know what level documentation is appropriate. Do other people read it? I think it’s just there to look stuff up generally, which come to think of it, makes the job of providing it worse, because to look stuff up requires a decent index and table of contents. Which is much more fiddly to do. Yuk.

Where Book Reader Where?

Ok, this is it. I am going to get a version of Book Reader ready for Beta Testing! It’s so wrong for it to moulder away while I waste valuable time on things of less import. People want to see it, I want to see it. I downloaded the latest version of MS Reader tonight, expecting it to have improved dramatically since I last peeked (about a year ago). Instead I find it unpleasantly slow and clunky to use, with poor access to settings. This on top of the fact that you have to get the books you want to read in *.lit format. So you can’t just grab any text from Project Gutenberg (although they have some texts in *.lit format now). All this is a little annoying for the potential reader, and so I thought: It’s time to stop piss-farting about and get something done! So…

This week I am going to focus on BookReader, with particular attention to the following:

Sometimes it is a massive pain in the arse being a programmer because you get sucked into doing things a certain way, and then down the track you realize that you (and a bunch of other people) have followed a stupid path.

One of my biggest criticisms of MFC (and any automatically imposed framework) would have to be that by hiding the underlying mechanisms (eg of Windows, or Sockets) from you, when the framework doesn’t meet your needs you end up doing twice the work just to get around the damn thing. Most of my software now uses my own minimal Win32 framework.

  1. Strip out what MFC is remaining in the current version. It just gets in the way and prevents me from speedily doing things. I dont think MFC is very popular these days (I dont know if the new Visual Studio even supports it… ATL is the business these days for C++ I think)
  2. Develop a minimal interface (it doesn’t really have one at the moment – a major sticking point) probably just a menu-based system.
  3. Stop piddling about with this damn website so as to devote more time to creating some decent software.
  4. Stop making lists of things I’m going to do, and bloody do them!