Good software, data and your brain

I recently asked the FriendFeed community about wiki usage and was struck by a comment from Allyson:

I think we’re on our third incarnation of various bits of wiki software, and we’ve finally hit on the right software for both our wet lab and bioinformaticians

By “the right software”, she means software that makes sense to the people who use it. When faced with several software alternatives, we often find there is one which for some reason, “makes sense” – it meshes naturally with the way our brains work. When you find a program that you like, it’s not only a joy to use but can enable understanding of data and processes that previously eluded you. In other words, good software doesn’t shield you from the fundamentals – it illuminates them.
Here are three examples of software that made me say: “Oh right! Now I get it.” These are not recommendations and opinions expressed are highly subjective: the point is, I like them because they work for me.

  1. DokuWiki
  2. Anyone wishing to set up a wiki will encounter a bewildering range of options. Many of them are more or less “equally good”, in terms of features; you can compare and contrast at WikiMatrix.

    At work I’ve used two wikis extensively. Our lab group wiki, installed before I arrived, uses TWiki. TWiki, I feel, was written by people more interested in coding Perl modules than in sharing information. There’s something about making a TWiki edit that leaves me profoundly depressed. Trying to administer the wiki makes me even more depressed. It’s a mess of clashing code and layers of authorisation that just dissuades you from trying to add new features, leaving a default that dissuades people from making edits.

    On the other hand, I find DokuWiki an absolute joy. Installation is quick and simple. Even the default is clean and appealing. Plugins are well-documented by an active community, straightforward to set up and add real functionality. The editor has enough GUI features to satisfy a novice whilst not shielding more experienced users from wiki syntax: anyone can easily make an edit, with sophistication based on their experience. Even namespaces finally make sense.

    DokuWiki is the wiki that suits my brain best.

  3. Kile
  4. Where possible, I like to prepare documents using LaTeX. Yes, I’m a geek – sue me, but using LaTeX is not, as some seem to think, a geek badge of pride. I just hate the fact that word processors try to be typesetters too – and they all fail miserably. LaTeX suits my “plain text is best” philosophy, keeps my documents portable and makes version control easy. Plus, it was fun to learn.

    Except – when I first started to use it, I found editing difficult. My preferred text editor is emacs, which can easily be configured to display and build tex files, but something felt wrong. My brain said: “You use emacs for coding, not writing documents”. My search for a customised LaTeX editor led me to Kile and I’ve never looked back. Unlike say LyX, Kile doesn’t shield you from the markup – but it makes inserting markup easy. It has a fantastic one-click build/preview process, with a console that aids understanding of what’s going on. It works out of the box, but is highly configurable. It fits into my bibliographic workflow – citations are easy to insert from BibTeX files via JabRef.

    Kile is the LaTeX editor that suits my brain best.

  5. Hpricot
  6. For years, XML was something of a mystery to me. Not in terms of what it is (a structured file format), or why it’s useful (machine-readable, can be validated, standardised yet extensible) but in terms of how to do anything practical with it. I confess that programming mostly in Perl did not help matters. There are way too many XML parser modules in CPAN: very few are documented in a way that allows you to jump in and do something useful and when you do get code running, it’s slow.

    All of that changed when (1) I started programming in Ruby and (2) I discovered Hpricot. Within minutes, I was writing simple parsers – just a few lines of code, that tore through my sample set of biological data in XML and printed out what I wanted to see. It really was quite a revelation; all of a sudden, XML parsing just made sense.

    Hpricot is the XML/HTML parser that suits my brain best.

In summary then:

  1. I understand wikis thanks to DokuWiki
  2. I understand LaTeX thanks to Kile
  3. I understand XML parsing thanks to Hpricot

Or more generally:

Good software helps you to understand the underlying data

Which leaves me with two questions. First, what suits your brain best? Second – is poor software the reason that many biologists struggle with their data?

3 thoughts on “Good software, data and your brain

  1. Allyson Lister

    1. I agree with you on DokuWiki and Kile. Kile, especially, allowed me to successfully create useful Latex documents reasonably quickly. I’ve never used Ruby, but you have just given me one more reason to try it out, seeing as I agree with you on the other two. I’d have to add IntelliJ for Java development. It suited me so well when I first discovered it a few years ago, that I developed some C++ code in it – which isn’t that straightforward :) It’s not free, though, which might be a downside to some.

    2. I would say yes. I am involved in development of some experimental data standards, and one of the things I’ve learned is that biologists should not have to know about such things as standards and syntaxes, although these are vitally important to the way we store, manage, analyse and share data. Essentially, hide all you can and present the user with a simple initial interface. Biologists need to be putting their data into an app that is really simple to use and, if possible, seems familiar to them (behaves in a way they expect). Developers should ensure that they make software (or find software) that is intuitive and quick. I am sure we need more people in HCI research working with us bioinformaticians! (P.S. getting an interface to look simple is often very hard! I certainly haven’t mastered it yet.)

  2. Deepak

    Poor software is a big reason bioinformaticians (or anyone for that matter) struggles with data. Too much emphasis on features, usability is an afterthought and DRY might as well not have existed.

    I shall have to try out hpricot

    One thing I am really beginning to appreciate in my new digs, even more than ever, is the ability to abstract away the muck, the stuff that is important, but really doesn’t help you do anything better on its own. Need more of that

  3. Pingback: Citeulike, Friendfeed and me: BFF? « the mind wobbles (systems biology & bioinformatics)

Comments are closed.