Harvest

  • Google Summer of Code 2010

Harvest was a web service intended to guide people who wish to contribute to Ubuntu. It aggregated small bug reports and other quick tasks which could use attention. For Google Summer of Code 2010, I worked with Daniel Holbach to design and implement its new web front-end.

Part of my project was to make Harvest fast. It maintained a large database with very similar data, so it was up to Harvest’s interface to make that data particularly useful. I added filters to quickly narrow down results, though my implementation was unusual: searching happened in real time. As the user selects filters, results immediately start to appear. This improved perceived performance and encouraged exploration. The system was carefully tuned to keep the number of unnecessary database hits to a minimum. Whenever something is pulled from the database, there is some expectation it will be useful to the end user.

I made many changes to Harvest’s Django backend, while the frontend was augmented with jQuery’s Ajax utilities to streamline interaction. I had a lot to write about the project, so, I went ahead and wrote a short retrospective. In May 2011, I updated the design to match Ubuntu’s official branding guidelines.