Saturday, January 21, 2006

KDE and documentation

Inside Konqueror I just pushed the key ['] instead of [Return]. Surprise, it opens me a very discrete but powerfull dialog for incremental search (like, you know, in Emacs)! It's very cool, indeed, I didn't knew at all there was such a feature in Konqueror! Sure Firefox had some influence ...

I'm gonna sure use it a lot! But besides this, I have to question the documentation of KDE in general. There are some main problems in my opinion:

1 - The format of the documentation. Call me stupid, but I would like to be able to type in 'man konqueror'. Don't work. But there should be at least a 'man kde', for the newbie that stopped his X server and don't know how to start KDE anymore. Don't laugh, it happened to me in the first days I was using Linux, took me 1 week to find someone that could explain me how to restart X...

2 - The documentation is outdated! My document states: Revision 3.1 (2002-09-22); but when I click on 'about', I can clearly observe that I do have the version 3.4.3 of KDE (13 Oct. 2005)! Seems documentation is to Linux what security flaws are to Windows! Anyway, how can you be credible with this? How useful are features that are not documented?

3 - The presentation of the documentation. Please at least do an index for each software! This KDE-type Help system is only useful for the newcomer that want to follow a tutorial-like documentation. That means, almost nobody. When you're searching doc, you've to go through the whole doc of a software. Not really convenient. I don't say this tutorial part has to be changed, but beside this we need an easy to find, flexible and complete reference manual too.

Making documentation is painful. I know, because these times I'm documenting my own software at work. My opinion is that programmers hate writing documentation not because they can't or don't want to write (many of them like reading, even if it's mainly SF ;), and would even like to be SF writers... so much for the cliche!), but because writing documentation implies that you have to understand all the code and explain it with words. In other terms it forces you to explain your design. By making it you will often find a lot of logical errors, inconsistencies, and bugs. This is not comfortable, so the programmers tend to avoid documentation, as well as they often avoid design, spec and code review.
Sure, writing doc uses time that could be spent writing code. But it also helps improving and correcting the existing code. This is maybe more important...

No comments:

Post a Comment