More on open notebooks
I recently posted about what an open notebook in software science might look like. I think I confused life stream (where life == work
with notebook. From what I’ve seen looking at projects like OpenWetWare, they seem more like Trac or Github then a friendfeed account. You get a wiki to write on, image handling, etc., but it isn’t automated: you have to enter all the data yourself.
This is incredibly useful, but am I right in thinking it is similar to tools software engineers have known for decades? It seems like the innovations are in collaborative editing, version control, and digital data.
What I was imagining was more automatic: whenever your microarray machine ran an experiment, it would auto-enter the results on your open notebook. Similarly for code you might run for statistical analysis (like the R workspace question I raised earlier).
I like the idea of ‘recording’ what you HAVE done (not what you will do, which is more brainstroming, mind-mapping, whiteboarding etc.). It is a very important part of selfish science, which is to say, self-replication (presumably the sine qua non of scientific reproducibility). Here are a few features I think are useful for personal lab notes:
- A wiki with dates.
- Separate entries.
- Graphviz-Dot conversion.
- Semantic markup.
- Inline photos.
- Inline LateX
I’m not saying these notebooks have no value: clearly they do. But I think there is a lot more that could be done with the concept. Particularly using linked data (oh noes! the semantic web!) to import other researchers’ results.
What we really want is a list of steps – some small ‘unit of science’ that can be repeated. We should show this using process models, so we can model loops, branches, and possibly execute them, recompose them. Google Wave is touted as the best thing for this, and I think it’s true. SAP has a version of its business process editor in Wave, and Google itself sees a need for it. Its collaboration feature is useful, but I don’t think it is the real advantage – yet. Right now, Wave’s support for version control (well, history) and its ability to incorporate agents/bots and arbitrary Javascript extensions is more useful. For example, someone has written ‘Watexy’, a Wave bot which can interpret Latex equations.
It’s truly an exciting time to be working in science.

