Google Summer of Code 2014 Blog : First weeks of programming

The responses to our initial design have trickled in over the last couple weeks. Catherine and Jessica from Python had great feedback for additions to the project, and further discussions with Shauna have helped to iteratively improve design. We've continued to refine the project design and features have been chosen to allow for development of a "minimum viable product" in the upcoming three weeks.

Deliverables for the past two weeks

First: administrivia. I have created project milestones in the OpenHatch issue tracker to plan feature releases against. I am tracking against weeks of coursework rather than GSoC weeks, because work on the project began the week of May 5th—when my coursework in CS 499R began. (As a result, this post corresponds to milestone gsoc14.4, for the fourth week of classes.)

The main deliverable for the last two weeks of development is the "list of bugsets" screen. I've created another issue to track it; pull request #276 addressed it; and the code was merged on June 1. You can even take a look at the work I've done so far by visiting, though it's not very exciting with the basic models and lack of database content.

I also attended a WatPy Django tutorial the morning/afternoon of May 31st, wrote a summary of the project for the OpenHatch newsletter, and engaged in a number of meetings and pair-programming sessions with my mentor Asheesh.

Some design decisions

We have decided to remove the requirement for bugs to live in the OpenHatch database, and instead are focusing only on storing bug annotations and links. We will allow for an annotation to live in many sets by allowing the bug annotations to live in one table and the event lists to live in another with a many-to-many relationship.

This will allow for maximum flexibility: projects without trackers, bug entry by hand, etc. while leaving the option of integration with the OpenHatch bug database and/or OpenHatch bug crawler to automate filling in some fields.


The most significant obstacle in development is coordinating GSoC with my other schoolwork. I have encountered an unexpectedly large workload in one of my (math) courses, which is providing me with 15-20 hour assignments due weekly. Coordination between this, other courses, GSoC, and my extracurricular activities has thus far been tricky, but thus far Asheesh and I seem to be managing to schedule in regular pair-programming and project work. While things may be moving slower than I'd like, they are at least moving.

Learning Django has been quick and straightforward; learning the test framework for oh-mainline was a little trickier, but both proved very easy with the help of Asheesh! Though obstacles may arise, and though there's still a lot of learning to do, the project schedule was designed to allow for set-backs and time flexibility, so we should still be on track for the next three weeks. By the time my next post is finished, that MVP should be released!


You are invited to send your comments or feedback to the project mailing list!