My GSOC 2013 project: a new break timer application for GNOME

A little while ago, my proposal was accepted for Google Summer of Code 2013. So, this summer I will be working with Jasper St. Pierre and the GNOME project on a shiny new break timer application. We’re going to spend some time filling out the wiki page for the new break timer design, and from mid-June to mid-September I will try to implement it as well as I can.

A break timer application is pretty well what it says on the tin. It’s an application that can monitor your computer use and remind you to take a break every now and then. Things get a little tricky when we start thinking about how to make that sort of application effective. Among other things, gauging how much someone is using the computer is kind of fiddly, and people don’t really enjoy being interrupted all the time. If it’s done well, though, I think anyone can benefit from this type of application. Taking regular breaks isn’t just healthy for the body: it can keep your mind happy, too.

I’m excited about this project for a few reasons. First, I have been meaning to get involved with GNOME for a while, and I’m expecting to touch a few different projects in order to produce something seamless. This is also an itch I have wanted to scratch — I really want a good, shiny and new “take a break” app for a variety of reasons — and it’s an opportunity to tie up a loose end from a while ago. I actually already started on a new break timer app, but I never quite reached a releasable product. With my project this summer, I’m going to be starting with (some of) what I already made, which will allow me to iterate efficiently and, I hope, to create something beautiful and releasable by the deadline.

For the time being, I thought it might be fun to actually share the other one I keep mentioning, which has the strange working title “Brain Break”. It isn’t perfect, but if you’re interested in a take a break app made for GNOME 3 (and yes, that includes Unity), that uses GTK+3 and real desktop notifications (and not the old system tray), perhaps you will like it? I made it because I thought the existing options for break timer software were getting a little old, but also because those options didn’t really work for me: when there was a Skip or Postpone button, I got into the habit of pressing it as soon as I could. (I’m a computer nerd. Workarounds are my middle name). When there wasn’t, I would get angry at the software for interrupting me and I got into the habit of disabling it proactively (and then forgetting to turn it back on).

Brain Break doesn’t have a Postpone button or a Skip button, but it makes up for it with a “Take a break” overlay that blocks your screen without blocking input. So, you can finish that one last thing without needing to postpone or skip the break (or, for that matter, lose your train of thought). Because there’s no easy way to make the “Take a break” overlay go away, Break Break is hard to ignore, but it tries to be nice about it.

Brain Break is probably ready to use. I’ve been using it for ages, and I like it, at least. It’s on Launchpad at If you’re using Ubuntu, you can install it very easily from its PPA, Just open a terminal and run sudo add-apt-repository ppa:brainbreak/daily, then sudo apt-get update; sudo apt-get install brainbreak.

Brain Break's "take a break" screen is gentle, but hard to miss
Brain Break’s “take a break” screen is gentle, but hard to miss
Brain Break's settings tool
Use the break settings panel to set specific break times, or disable them for an hour

The new break timer app probably won’t be the same as Brain Break, but in order to make the new one as awesome as possible, maybe there’s something to learn from Brain Break? Please, try it out, and share your thoughts in the comments! You might like it, and either way I would love some feedback to get ideas flowing.

Reposted from June 11, with apologies to Planet Ubuntu. Hi there, Planet GNOME!

8 Replies to “My GSOC 2013 project: a new break timer application for GNOME”

  1. And now, a short Launchpad plug: that Brain Break PPA gets automated daily builds, so it is updated whenever I notice a bug and decide to fix it (or, conversely, whenever I want something new and implement a bug). Launchpad’s build service is wonderful! Once I figured it out (which was honestly very easy), it made this project a lot nicer work with. It’s easy to dogfood my project, now, and Launchpad catches a lot of build issues that would be frustrating to deal with later on :)

    So, highly recommended. I wonder if there’s something similar for RPM and Git?

    1. Thank you! My goal is to have something that works well by the end of the summer, and chances are we’ll be playing with copy a lot until then. So, maybe late September for the translations? :)

  2. dosnt work with ubuntu 13.04

    saanina2@ubuntu:~$ brainbreak

    ** (brainbreak:24738): ERROR **: main.vala:109: Error loading style data: :15:17Junk at end of value
    Trace/breakpoint trap (core dumped)


    1. Oh, thank you for pointing that out! I’m using GTK’s new CSS stuff for the style data, and I accidentally included some syntax that only worked in 3.8. (I keep forgetting Ubuntu is on 3.6 right now…).

      I fixed that, now. If you still have the PPA added, it should start working (and, for that matter, be much less broken than it just was anyway) with the next update. So, don’t be surprised if your computer suddenly starts nagging out you to do stuff :)

      I’d love to know if the big white overlay is transparent for you, by the way. I’ve seen it be completely opaque with Compiz, and I can’t seem to figure out if that’s happening because of a hardware thing, a Compiz thing, or something I’m doing that Mutter is more forgiving about.

  3. Could you PLEASE put it on the Ubuntu repositories. It’s by far the coolest app around, but I didn’t find it on the software center.

Comments are closed.