GNOME Break Timer

  • Google Summer of Code 2013

GNOME Break Timer is a break timer app for the GNOME desktop. It reminds users to take regular short breaks, as well as longer breaks, to improve their well-being. I created it for Google Summer of Code 2013, with the help of Jasper St. Pierre and Allan Day. It is written in Vala.

This went well as an educational exercise, although I haven’t had an opportunity to work on it much since the initial release. (In retrospect, it would have been better to build the application as part of an existing component, but, live and learn). Recently I have been working on some updates to get the application working with Wayland, and building as a Flatpak. So, watch this space: hopefully I will be able to share some new progress soon.

This went well as an educational exercise, although I haven’t had an opportunity to work on it much since the initial release. (In retrospect, it would have been better to build the application as part of an existing component, but, live and learn). Recently I have been working on some updates to get the application working with Wayland, and building as a Flatpak. So, watch this space: hopefully I will be able to share some new progress soon.

Ubuntu Software Updater

Screenshot of Ubuntu's software updater
  • Personal project

Ubuntu’s software updater originally presented updates as a long list of Debian package names, which was a source of confusion for some users. After a conversation at the Ubuntu Developer Summit, I participated in a rewrite of its UI code following a set of wireframes designed by Matthew Paul Thomas.

Michael Terry worked on a major refactor to support Python 3, while I focused on updating dialogs with new layouts, and improving the flow between those dialogs. I changed the list of packages to use a tree structure, grouped by applications. The list of applications is drawn from application metadata and package metadata, while the grouping itself is based on a set of rules involving package dependencies.

I enjoyed working on a real GTK+ application that is seen by millions of users. I certainly needed to pay extra attention to performance, as well as being careful that the changes I made were simple and understandable so the application would be easy to maintain in the future.