When I first started with computers, I took naturally to programming. Over the years, I've rarely spent more than a month or so without programming anything. In 2013, I got a chance thanks to support from the Shuttleworth Foundation to realise my ideas for provenance of digital works, which I did, with the help of others, in elog.io (since then shut down, but source code available). Not having touched elog.io for about half a year (but still keep getting prizes and nominations for that work!), I've had a chance to think a little bit more about that work and what I would've done differently. To sum up the most important learnings:
- I would've put a focus on making elog.io a distributed database to start with. It sort of is, under the hood, and the intention is there, but it would've been amazing to actually build a distributed database for provenance information. This is something that's dearly needed in the world.
- I would've focused on the API, rather than the UI. Getting the mechanics to work before doing anything else.
- I would've focused more on creating tools to help people work with the information.
- I would've split data sources between provenance information and relations.
- I would've focused the provenance information on telling the story of a work, not (only) its license.
- I would've enabled user contributions of information already from the start.