Tuesday, April 21, 2009

One of my duties as a developer in a small company is to write the user documentation for the software I develop. Originally I created my own xml-xslt based documentation system which worked well enough to generate windows compressed html online documentation. However generating printable pdf documentation was always a hassle which involved converting a large html file to pdf using MS Word.
About a year ago I decided to switch to docbook which allows me to easily compile my documentation with one makefile to chm or pdf (as well as other formats like docx which is essential for external translators).
One of the nice features of docbook are callouts - numbered references in images or text. My user documentation always includes a reference of all dialogs and controls of the software, and this is exactly what callouts are made for. Unfortunately writing callouts for docbook usually involves writing a list of callout areas (with picture coordinates in percent or pixel) manually. Being a software developer myself I fired up my favourite IDE (Delphi) and wrote a tool to generate callout lists for docbook images:

The tool allows me to define callout areas for an image:

And it generates the docbook code for me:
Once I am done an image with the callout overlay is rendered:
And this is how the finished documentation looks like in chm:
Let me know if you are interested in the tool, I might be able to upload it to my blog.

2 comments:

  1. Have you considered using Help&Manuals?
    Call out, comment and hot spot on figures is easy and powerfull. But may be DocBook is the way to go - i have never tried it.

    ReplyDelete
  2. Voldemor,

    no I haven't used Help&Manuals yet. I am quite happy with my current DocBook solution. I think the hardest part about DocBook is to setup the whole thing. Once everything is setup it works like a charm.
    However, DocBook suits me because as a programmer I am used to edit raw source code. For someone who is used to Wysiwyg editors it is probably something to get used to.

    ReplyDelete