What is a hackathon?

Written by John van Breda

In the spirit of Indicia as an open-source software project to support biological recording, on a couple of balmy days in late August, Jim Bacon and I (representing the iRecord development team) descended on Woods Mill in Sussex, home of the Sussex Biodiversity Record Centre. The aim? To try out a “hackathon” style of development for iRecord, where software developers get together to collaborate on ideas and coding. The record centre and local recording groups were well represented by Charles Roper and Bob Foreman who have a wealth of user interface design and web development experience of their own. We set up temporary office in the ground floor of the mill itself and stocked ourselves up with fruit, nuts and other brain foods and set to task…

 

We spent the first morning brainstorming and lots of ideas were bounced around and we quickly homed in on the following:

1) Support for recording groups

2) Privacy issues

3) Miniblogging support, such as the ability to post narratives against your records that can then be used to provide a more human readable flow of information on the home page.

 

After further deliberation, we felt that privacy probably needs wider consultation to get right. We liked the blog/narrative idea as it humanises the whole experience of using the iRecord website, but also felt that it was not quite as much a game changer as support for recording groups.

 

So, we set about knocking out the code for recording group support. Despite some technical hick-ups we proceeded to research different existing user interfaces (such as Google Groups) and to then wireframe out some potential screens. 

 

We managed to build a screen that allows a recording group to be created, which uses new Indicia filtering code to define the scope of the group. So, you could for example set up a group by geography, taxonomy, an individual species or genus, or even a filter on quality to create a group for reviewing just dubious records (as an example). There are also various levels of control over how people join groups. (See Screen Shot 1.)

Screenshot 1 - Control how people join groups

 

 

Once a group has been created, you can send invites by inputting a list of email addresses. (See Screen shot 2.)

Screen shot 2 - you can send invites by inputting a list of email addresses.

 

 If you follow a link in the email you can then accept the invite join the recording group (Screen shot 3). Assuming you are logged into iRecord, this takes you to screen shot 3 which lets you accept the invite.

Screen shot 3 - If you follow a link in the email you can then accept the invite to join the recording group

Finally, we managed a proof of concept of the idea of a group home page, by developing a variant of a standard reporting page (like iRecord’s Explore pages) that uses the group parameters to define the filter. This means you would be seeing records that match the criteria specified when the group was created, also filtered to show only group member data. Charles and Bob were prototyping ideas along the lines of the Bristol99 info centre.

 

So, there are bits to finish off, but we do have a working process in place for joining a group and viewing group records. There are of course a ton of ideas that could take this further but we have a good starting point. All the code we developed is available as part of the Indicia toolkit and will soon be making an appearance on iRecord.

 

Was it a success? Charles commented “Bob and I did indeed find the day to be useful, inspiring and energising. Given that is was a kind of pilot exercise, I think it was a great success. Not only were there practical outputs, but we also learned a great deal about what works and what doesn't, what to do next time and what not to. When I get a chance I'll write up my thoughts more fully. In the meantime, many thanks to John and Jim – it was a blast.”
I personally felt like we achieved a lot considering the technical glitches and I also felt that having Charles and Bob acting as “UI evangelists” was really useful to make sure that we are developing something that will be both usable and useful. Hopefully we all picked up knowledge and ideas from each other during the event as well. 

 

Web design by Red Paint