Importance of Feedback

The human brain works so well because it calculates outcomes as it takes actions feeding back the current results compared to the expected results which allows immediate corrections if the two are not aligning.

Such a immediate comparison between expected results and actual is an important functionality to include into software in order to have the best results especially when it comes to usability and user friendliness. Such faster pace feedback is one of the motivating factors of agile development and continuous integration.

Software that doesn’t give any feedback until a job is supposedly finished is setting itself up for at worst failure or at least wasted time and effort. As Cary Millsap recounts in one of his presentations “imagine practicing your put and after you hit the ball you have wait an hour to find out where your ball went.” That would make it tough to learn how to put better.

Here is a nice video that helps get this point across. The first two examples are visual. Go to 16:50 for a more typical programming code task, binary search.

Another good reference on the subject of how the brain works “On Intelligence“. Thanks again to John for introducing me to this book.

Some of the ideas are the ideas that John and I wanted in Oracle Enterprise Manager in 10g. At the time the means we had were limited. When John and I first arrived at Oracle to work on Enterprise 10g, the only graphics in the product were PNG images. There was no interactive jquery, no flash, no SVG. After much arguing we were able to get SVG in, but still the design work was limited mainly because of political factors. It’s amazing that there is so much political (ie non-empirical) argument about creating interactive feedback driven interfaces. Sure they are more work but that work is well worth it. Time are changing though especially with html5 and jquery and the future looks exciting.