Every few months, my colleagues decide that electronic laboratory notebooks (ELNs) are a good idea. I go through the ritual of searching the web, bookmarking some resources and where possible downloading, installing, configuring and running packages to see how well they work. I know in advance that I’m wasting my time, because I’ve tried them all and there isn’t one free/open-source ELN that works for me.
The problem here is that my colleagues don’t think about software. They just assume that something exists which fulfills all their requirements – but they haven’t even thought about what those requirements are. I call this Microsoft syndrome – the belief that software means a bloated, resource-guzzling software suite with a nice GUI which can do anything. The problem with that kind of software is that trying to do everything means doing no one thing very well. MS Word is a perfect example – it can’t decide if it’s a word processor, a desktop publisher, a graphics editor or an email client and as a result, it’s rubbish at all of those things.
The Linux philosophy is different – you have a choice of many small tools, each of which do one thing very well and you achieve impressive results by gluing them together. Not only does this result in better software, but it forces you to think about your workflow – inputs, processes and outputs and how it fits with your computational needs. If we ask “what goes into a laboratory notebook?”, we see a series of problems each with their own computational solution. For example:
- User management. I own my notebook, but I’d like to look in yours.
- Privacy. Are my data private? Do I want to share it with the lab, other labs, the world?
- Data entry. Do I want a generic template: name, date, experiment title, aims, results? Or the ability to design my own templates according to the experiment?
- Data management. What items do I want to store? Plain text, images, spreadsheets, graphs, raw data from lab equipment?
- Data retrieval. Search my experiments by date, title, keywords, tags. Generate reports in various formats from an experiment.
- Version control. I need to modify entries but also see old versions so as my modifications are not misconstrued by others.
- Links. I want to link my experiment to related resources: protocols, MSDS data, risk assessments, plasmid maps, PubMed entries, tagged data in social networks (del.icio.us, Connotea, CiteUlike).
- Legal issues. If my research might lead to IP, patents or commercial application I need digital signing, verification of dates, witnesses?
When we think about notebooks in this way, it’s clear that there are lots of suitable tools with which to build ELNs: blogging software, content management systems, wikis, CVS/subversion. It also becomes clear that the private, paper laboratory notebook is just a ridiculous concept for the times in which we live.
I can see an ELN coding project in my near-future.