I’m constantly trying to become better at estimating how long a development task will take. As one step in this process I decided to create a simple web-based timer which I could use to measure time. Shouldn’t be too hard, I just needed a simple stop watch — the simplest thing that that could possibly work. That’s what I thought at least.
The problem was that instead of thinking about what functionality I actually needed, I just assumed that since I was going to measure time I needed a regular stop watch. Thus, the first version of my timer had the operations
reset was only available when the timer was stopped.
After a while I realized I was pressing the sequence
start a lot of times. I did it every time a task was finished and I was about to start with a new one. So to make my life easier I added
restart which did just that.
After using it even more I realized that
restart now actually was the only button I was pushing. Therefore, I simply removed all other buttons than
restart (which was renamed
The result is a very simple timer. It auto-starts and is then always running. Thus, no need for
stop. That’s great for measuring time while working, because real time doesn’t stop. I always spend time doing something. The only thing I can do with my time is divide it into chunks of time which I spend doing different tasks. That is exactly what my
reset button allows me to do — tell where one such chunk ends and the next starts.
I’m actually very satisfied with the result. What is rather funny about this whole thing is that although I first thought I needed “just a simple stop watch”, my need was in fact slightly different and even simpler.
P.S. If you want to use the timer, it’s available at http://timer.henko.net/. However, it currently assumes Central European Time (+1). Time is also only shown in hours, since that is how I enter time in my time reporting tool.