GSoC Final Report: GNOME Clocks

I am both excited and sad to see the end of Summer of Code rapidly approaching – in just two days we will have reached the ‘hard pencils down’ date set by Google by which time our projects must be finished. As such the last couple of weeks since GUADEC have been spent hunting down and fixing as many bugs as we can in GNOME Clocks. The progress made has been remarkable, thanks in large part to the contributions from new contributors like Paolo Borelli and Alex Anthony who have been an immense help recently both reporting & fixing numerous bugs.

GNOME Clocks has developed from its initial mockups and prototype to a fully functioning clock application for GNOME. At the same time I have learned much about both programming (Python & GTK+3) as well as working collaboratively as part of a larger team. I’ve also had the opportunity to work with and, thanks to GUADEC, meet dozens of amazing hackers from all over the world. Even as GSoC ends, I plan to continue contributing to GNOME, as a member of the Marketing Team, a contributor to GNOME Clocks and wherever else I can.

A few screenshots of GNOME Clocks as of today:

World Clock:




Finally, I’d like to thank my mentors Seif Lotfy & Allan Day for all the time and effort they have spent helping me over the last several months. I’d also like to especially thank Eslam Mostafa who has done so much of the development related to the Timer & Alarms. Without all of their help GNOME Clocks would not be anywhere near ready for release, let alone inclusion in GNOME 3.6, nor would I have learned half of what I have over the summer. Thanks guys!! 🙂


Right, so I’ve been home for a couple days now, which probably makes this post a bit late. But oh well. GUADEC was fantastic – with around 300 attendees, dozens of fantastic talks, hackfests and BOFs. Not to mention the chance to meet so many people who have done so much for GNOME over the years, many of whom gave wonderful talks – like the final keynote by Federico Mena-Quintero, Dave Mason & Jonathan Blandford on the History of GNOME which closed GUADEC. Likewise the opening keynote by Jacob Appelbaum on the Tor Project was fascinating and inspiring.

The womens dinner at Casa Tito was fun, though I suspect I’m not alone in thinking the ordering process was nothing short of ridiculous. I had a good time chatting with everyone, but especially with Alex & Patricia. It was nice to meet so many of the other women involved in GNOME,

The overall job done organzing GUADEC was nothing short of fantastic. I honestly can’t think of a single thing to complain about, which is a testamount in itself of the wonderful job they did in organizing. All future GUADECs have a hell of an organizing job to live up to!!

Interviews on GNOME News

With GUADEC rapidly approaching, GNOME News has begun a series of interviews with members of both the local GUADEC organizing team and the new members of the incoming GNOME Foundation Board of Directors. The first two interviews were with Laura M Castro and Alejo Pacín, both members of the local team, and the latest interview posted today with Tobias Mueller one of the new board members. Expect to see more interviews from both the local team and board soon!

GNOME Clocks

Hi there, I know its been a while since I updated, and I’m sorry about that, but we’ve done a good bit of work on GNOME Clocks over the past couple weeks!

GNOME Clocks now has a working Timer thanks to Eslam Mostafa.  Alarms is coming along – we’ve run into some issues with Evolution’s API and figuring out how to tie into it, and hopefully we’ll have it figured out and up and running shortly. The GUI though is more-or less complete, and so we’ve spent the last week or two fixing a variety of bugs. It’s still a work in progress but is coming along nicely.

GUADEC is now just 2.5 weeks away and I am absolutely psyched to attend. It will be my second open source/free software conference and I can’t wait to see some of the folks I met at FOSDEM again and hopefully meet many more.

GNOME-Clocks Development Continues

The last couple of weeks have seen a major clean up of GNOME-Clocks code, and on-going development of Alarms by myself and Timer by Eslam Mostafa.

Below is a screenshot of the recently completed New Alarm dialog box in GNOME-Clocks:

Dialog box for a new alarm in GNOME-Clocks

The development of Timer has been headed by Eslam Mostafa (, and is looking quite good as can be seen below.

Timer running in GNOME-Clocks

With the near completion of both Alarms & Timer, much of the basic development of GNOME-Clocks is rapidly coming to an end. As a result, an important decision remains – how to implement and integrate GNOME-Clocks. Should we write an entirely new daemon in Python? Or tie into an existing framework such as Evolution?

Finally, we would like to invite anyone else interested in GNOME-Clocks development to join us in #gnome-clocks on GimpNet. The GNOME-Clocks repository is now available on gnome’s servers at:
Bug reports & suggestions are both welcomed and appreciated!! Thanks for reading!

GSoC: Week 1

The last week was spent reviewing GNOME Clock code, experimenting with GTK widgets and working on Alarms – namely the back-end python which will underlay the actual program in the next week or two. Tomorrow, I plan to work more on Alarms, hopefully finishing the back-end work and starting in on the GUI.

I also worked more on the GNOME 2010/2011 Annual Report last week, reviewing whats been written, what is still needed, etc. I think we’re nearly done and hopefully get it released shortly.

Finally, I am extremely excited & happy to report that I have officially accepted a travel sponsorship through the GNOME Foundation and will be attending GAUDEC 2012!! I’m also hoping/planning to arrive in time for the UX Hackfest, and I can not wait! Its been more than 6 years since I was in Spain and I cannot wait to go back!! I always meant to check out Galicia, but just never made it there – it sounds absolutely beautiful!!


Thanks so much to the GNOME Foundation for helping to make this trip possible!!

First GSoC meeting and GNOME Clock design

On thursday I met with Allan Day and Seif Lotfy via a Google Hangout to discuss my project and soon-to-start internship via Google Summer of Code, starting officially on Monday. We discussed my/our goals for the upcoming months (to have GNOME Clocks mostly finished by GUADEC and submitted to GNOME 3.6 by the end of summer), and how we plan to get there. It sounds as though some parts of the design we don’t have to worry about for now, as they will (idealy) be using GTK widgets that aren’t yet completed (for setting times as pictured here: in the mockup for a New Alarm and Timer).

On monday we’ll be starting by cleaning up the current GNOME Clock code, and then begin working on Alarms as our first order of buisiness. We’re planning to get the basic functionality done first, and then begin iterating on design. We are hoping to get an alpha/beta release out shortly so that we can get bug reports as well as feedback on the design from actual users while we iterate on design.

Google Summer of Code!

Wow, I can’t quite believe it, but I’ve been accepted to Google Summer of Code 2012. Its kinda crazy – another one of those things, I can definitely say if you’d told me would happen, oh, even 6 months ago, I’d have laughed at you. But strangely it has – and I’m psyched. Right now, I’m focused on finishing this semester, which mostly involves preparing for finals next week. Then I’ll be able to focus on GNOME Clock & GSOC completely.

I am trying to decide what to upgrade my kids’ computer to – its an old desktop, currently running Xubuntu 11.10 (I think, it may be 11.04). I spent some time last night reading about the various distro’s focused on kids, namely Debian Junior, Edubuntu, Debian Edu and Skolelinux. Debian Junior sounds the most interesting, and I may very well give it a try. Anyone have suggestions/thoughts/experience with one of these distros?


So, yesterday I worked on GNOME Clocks ( code for the first time, and was able to get the ‘Cancel’ button to work when you go to add a new clock. Small I know, but its my first contribution and I have to say I’m pretty psyched! Today I spent the last couple hours going through git tutorials, setting up a github account, and finally getting my first commit uploaded, which is almost more exciting than getting the code to work 🙂

Now to decide what to work on next!!

Python :)

I have to say, I am slightly surprised at how much I enjoy reviewing code, both for the purposes of looking for small typo which cause bugs, and just to try and figure out what everything is actually doing. I’ve been working on Exercise 47 for the last few days and simply could not figure out what was wrong (I kept getting NameError: global name ‘self’ is not defined). I finally went back and looked at every bit of code that I’d written and finally found two tiny misspellings that I had apparently missed the other half dozen times I looked at it. And poof! It works!! Is there anything more fulfilling than finally having code run properly an spit out what you are expecting/hoping for rather than an error message?

In related news, I know I’m not quite all the way through “How to Learn Python the Hard Way” yet (I *AM* 90% done though!! xD), but I have started re-reading the first couple lessons in the Python GTK+ 3 Tutorial, and its making a lot more sense now 🙂 I know, you all told me not to do it till I was totally done, but what can I say? I’m impatient :p