One Code Sprint Down, So Many New Features to Come

For a first timer, it sounds daunting to go the CiviCRM code sprint. While I had worked with CiviCRM for a while and fixed many client issues with AGH Strategies, I was wondering how I would contribute to the CiviCRM community during the sprint. Like many other contributors I brought my own ideas and vision for how this week would go.

It was helpful that we were organized initially into teams. I was placed on Tim Otten's team. We started the week with high ambition, and we had our work cut out for us. I had never before realized how much goes in to making CiviCRM work well for users. For example, I started with what I thought would be a simple bug that prevented users from seeing images for contacts. As I soon learned, it is not simple when we want to balance protecting privacy, keeping CiviCRM running quickly, and not burdening users with difficult upgrades. Keeping all this in mind, I fixed the issue with Tim's help. We had to make sure it worked with Drupal, Wordpress, and Joomla, so there was extensive testing before it could become a part of the core software. Once I had fixed it, I could finally move on to the feature that I originally hoped to implement—allowing users to put contact images on event name badges. The challenge was formatting them in a way that was intuitive to the user, and also worked well with the existing code. I hope many organizations can benefit from the name badges in the future and better identify all their participants.

What has really struck me here has been the excitement of all the developers and implementers to help users reach their goals with CiviCRM. Even while we work furiously to improve the existing infrastructure, we are dreaming up new ways to make the software faster and easier to use. Everyone gets excited for nonprofits to deliver services better and compares stories about the great work organizations are doing with the software. It's inspiring to watch the way people collaborate, constantly growing and changing their ideas to make them fit as many situations as possible. I've noticed that it is a challenge and a strength of the open source community that there are so many voices—we must contain our enthusiasm long enough to fix existing bugs before we move on to all the great features users will someday be able to use.


And indeed, finding the right balance between bringing new features and improving existing ones is a tricky exercise.