Dealing with Bugs
Dave Liebreich had a vexing Tinderbox problem, and blogs about the experience. He's a fairly new user, and was modifying Ryan Holcomb's new, improved GTD template, and suddenly his agents stopped finding things.
The scenario makes me cringe. The GTD templates are elaborate -- much more complicated than the most complex applications we envisioned when planning Tinderbox. Liebreich's changes made them even more complicated -- including a very clever coding trick that I myself didn't know!
It turned out that there was a syntax error in one of Liebreich's agents. Currently, Tinderbox fails silently -- the agents simply don't do anything.
This is a sensible fallback procedure: an agent with an invalid search never finds anything. If the agent system gets into trouble, it just stops searching until you fix it. Once the trouble is fixed, things just start up again.
The alternative, familiar to programmers everywhere, is an error message. We've tried hard to avoid error messages in Tinderbox:
- There's no obvious place to write the error message
- In practice, error messages are difficult to write and notoriously unhelpful to read. Either the message is too broad (often making it useless) or too specific (and therefore sometimes misleading) .
As Liebriech recounts in his story, we're planning to take another look at the "no error messages" resolution; perhaps it's a good intention that just can't work in the world we know.