Tuesday, 17 February 2009

The Pomodoro Technique aka Tomatoes!

You say tomayto, I say tomahto.

One of the things buzzing around the blogosphere and twittersphere recently is the Pomodoro Technique.

The idea is fairly straight forward. You create 25 minute segments in which you concentrate on a single task. Nothing gets in the way of what you're doing. If you think of something during a task, or you realise that the task will need further sub-tasks, you are permitted to take a note, but you must finish your 25 minutes focusing on the task in hand. If the task takes 15 minutes, you still stick with the task. You "over-learn" it.

From the link above here's what you need:
  1. Pencil
  2. Kitchen timer
  3. To Do Today Sheet – today’s date, my name and a list of my activities planned for today
  4. Activity Inventory Sheet – my name and a unordered list of my upcoming activities in the near future
  5. Records Sheet – my sampled process metrics to be used for my process improvement
I followed Uncle Bob and bought a kitchen timer that looks just like a tomato. The problem is that it's very noisy. The ticking was starting to get annoying, so I knocked up a very simple software timer.

This is what it looks like while it's running. Note that the form title also has the time on it. This is useful because you can see how much time is left in your task bar.



When it's finished it beeps once and looks like this:



You can press start at any time to reset the timer to 25 minutes.

You can download the application here. The source code is here. No unit tests as this is a quintessential 'trivial' application.

You will need .NET 2.0 or later installed for the application, and Visual Studio 2008 for the source.

15 comments:

Simon said...

Oh, I love writing apps like that. I haven't done it for ages. About time I did another one!

Geoff De Geoff said...

I had pretty much the same intro into Pomodoro http://twinkle.tapulous.com/index.php?hash=f88f5aa1bf706270ef86dc6ec7493e9b8c7e79c5

I was also looking at knocking up a similar app for when the Kitchen Timer is too intrusive. I will give yours ago, and save my tomatoes :)

Iain Holder said...

@Geoff De Geoff (born on the 1st of Geoff 19 Geoff De Geoff?)

I have the exact same one. Yes, the application took me about a tomato to do. However about half of that was getting the icon right with the GIMP. :-)

Shermy said...

so if you've created the icon can we have the icon available as download too otherwise I have this horrible little default shortcut icon :-(

Iain Holder said...

@Shermy Fair comment.

I've updated the timer to have a tomato for the exe itself.

Download it again for an enhanced and more tomatoey user experience.

I have also updated the source to reflect this change.

Shermy said...

thanks for the update, much better, and definitely with a lovely tomato-ey feel..

I like this app - it reminds me every 25 minutes that my life is ticking away in small 25 minute bursts of less-than-100% productivity :-(

SusanBeth said...

Thank you for this application!

Would you consider adding a ticking sound, probably switchable, for those times when the goad of the ticking is desireable?

Anonymous said...

Thanks for this. Other, similar apps are too big (in screen size and/or file size). One feature request: could you make the time modifiable? I.e. so you can set it to 45 min. or 10 min.?

Anonymous said...

perfect. thanx

tolga said...

There is a nicer pomodoro timer for windows that I use:

http://sourceforge.net/projects/pomodorotimer/

websimon said...

Thank you for this one! Exactly what I was looking for, the only thing that remains now is to get things done ;-)

giovanni said...

I made a tool to help people follow the pomodoro technique and get stuff done, you can give it a try at http://tomatoes.heroku.com

roger said...

Thanks works a champ, except it includes the hour mark even when it's 00, which isn't as useful, but hey.

Anonymous said...

thanks for sharing..

Iain Holder said...

@roger - Leaving in the 00 for the hours was intentional as I wanted it to be easily parsed at a glance.

For example, if it was running and it said 12:34, I would have to think - is that a clock telling me that it's just after half past twelve? For me, 00:12:34 reduces that cognitive friction.