The importance of Documentation
November 10th, 2008
Taking a break from the emacs series, I think there is a bit of a pain point for me currently: Documentation. I’ve been in a position where I need to create a GUI application for HTML generation with a bit of database interaction. Nothing too serious, but a bit of help wouldn’t be a bad thing.
The first result google brought to me was dabo, a gui application framework based on wxPython. Cross platform GUI apps with the ease of development provided by a framework? Sign me up! Then came my impass. No download link. I traversed their wiki for a solid 15-20 minutes trying to find a way to download this awesome application. No results, it would seem.
Failing that, I turned to wxPython itself. It seems that it has much more momentum than Tkinter in terms of support, although their freenode channel wouldn’t back up that claim. Diving into wxPython, I followed along with the first 5 ShowMeDo tutorials, then picked up in their wiki when that trailed off. At the end of it, I had a very simple notepad.exe clone which was mildly impressive. After a bit of tinkering with their api, I managed to eek out a hackish implementation of an html generator based on an sqlite database. Then came the feature requests. Not only did my my fellow workers want the ability to generate html, they wanted to add things to the database? Craziness!
So in honesty, I had planned to add CRUD features to the application at some point. The trick was, I didn’t really know how to go about it in wxPython. Did I create a new popup dialog box with the information? Do I spawn a new window and interact with it? Turning to their multiple sources of documentation, I couldn’t seem to find what I was looking for: A suggestion of application structure. Their inactive channel on freenode was similarly of no help. Their documentation, some auto-generated wiki based on code examples, was equally unhelpful. I felt like I was dealing with Ruby on Rails in 2004, all documentation was just source code.
I suppose its a bit of Django’s fault. Such crazy-good documentation can spoil you. You expect to find what you’re looking for in a logical place. Further more, you expect to actually be helpful. Its a bit of an anomoly in the open source community (and really any community) to have such amazing documentation as django provides, as I mentioned in my (shameless self promo) article in PyMag. In the interest of shipping a product quickly, I may end up defaulting to django as it just makes speedy deliveries so stinking easy. I would be really interested to hear from others how you handle going from django with awesome documentation to other software packages which offer a barrier to entry in how easy it is to get off the ground.
Update: Apparently on the dabo link, it was a combination of my not seeing the download link and the lack of contrast for their menu bar. My appologies to the Dabo team.
Comments are disabled. If that bothers you, please contact me on twitter at @justinlilly and let me know.