I first came across livereload while working with yeoman and angularjs. It was love at quite literally, first load. What livereload does is that any changes made to your code gets automagically updated and reflected in the DOM. So you can imagine having a left panel where your browser sits and a right panel where your code sits and everything you hit the save button, the browser auto refreshes. Coming from a Django background, this really blew my mind. Oh btw, you can integrate livereload into a Django (or any other) project as well.
As with any other web developer, I must surely hit the refresh button at least a hundred times a day. All of a sudden, that little friction is gone. What this effectively means is that my flow and productivity is increasingly. I am able to make more iterations then I otherwise would. This change might seem trivial but applying the same concept to different aspects of your general coding practice will have an impact on the way you work and think.
It’s very much like learning vim. No one can contain all the commands for vim in the first pass (or ever). Learning vim is an iterative process. Once you find yourself doing something repetitive that you think is inefficient, you _know_ there’s a vim shortcut for that and off you go to erase that friction, adding a new command to your command list in the process.
This feedback loop between output and input exists not just for programming but in any other craft/activity as well. Music, dance, arts, gaming etc. The closer you are to the output, the more tantalizing it is. The more abstracted you are from the output, the more likely you are to be unhappy with what you’re doing — in a general sense. Perhaps this is another reason why the Lean Startup movement has been gaining so much traction in the startup space. It tries to narrow the gap between your work and the feedback gained for the business.
The reason why I’m writing about this post is because I’ve only just came across this video by Brett Victor called Inventing on Principle. He has obviously thought about this feedback loop in depth before and has gone to town with it, building tools and exploring concepts to materialise his ideas. It is only having watched the video did I understand just how important a tool like livereload is in my software toolbelt. If you have an hour to spare, I highly recommend you watch the video.
Thanks @vanzaj for telling me about this video!