Aha Moments Indicate Conceptual Inconsistency

I was watching Matt Trout's (mst) YAPC::NA 2009 presentation on the future of DBIx::Class to get my head around the conceptual ideas behind this nice database abstraction class that did not do the trick I wanted it to do. Well, this presentation was pretty enlightening besides the conceptual models underlying this programming framework. And since I work on my research statements for my dissertation, I picked mst's quote and made it a title for this article.

The idea behind this quote are not new and refer back to the "beauty of simplicity", or if something is terribly complex then it is probably also terribly wrong. Different to the original this quote points in both direction: the conceptual inconsistency of a model and the inconsistency of understanding a model. The problem with aha moments is that one spends a lot of time stirring in the dark until a sudden moment of enlightenment clarifies if you or them or both were the origin of the inconsistency. However, the most pressing problem with aha moments is that they too often occur because of bad communication of the conceptual models through user interfaces or application programming interfaces. mst assumes that likely 99% of aha moments are not due to inconsistency in the original model, but through luring people into inconsistent understandings of the model simply by communicating badly.