Wednesday, September 13, 2017

Small Change, Big Difference

Previously on Dr. Lambda's blog:

In a previous post I presented my newest pet project: Isabella. Isabella is a voice controlled personal assistant, like Siri, Alexa, and others. We have decided to investigate how difficult it is to make such a program. In the last post we spiked functionality for voice coding, and then setup basic functionality for simple commands, like telling the time.

Now, the continuation...

Inventing on principle

First: go watch Bret Victors talk. His point is that the distance from code to result should be as short as possible. I have found that to be helpful on many occasions, and Isabella certainly wasn't an exception. Having to make a change, save, compile, switch windows, refresh, say something, switch back, and do that over and over, was such a pain.

This may not sound like a lot of work, especially compared to large programs that take several minutes to compile, but the fact is: every time we change what is in front of our eyes, we break the context, and our brains have to do some work to switch back and forth.

This bothered me, especially because I was just adding a lot of little low risk functions. Therefore I decided to spend the time to reduce this impediment. In this case it only took 5 minutes, but I would argue it would have been worth it even if it had taken a week.

The solution was to make a command to refresh the window. This meant that I never had to take my eyes off the code, so while I am testing I can look directly at the code in question. This was a huge improvement in terms of enjoyment of coding.

The actual coding of this is trivial, but the effect is huge. Again it's getting late and I will call it a day.

No comments:

Post a Comment