Simplify, simplify.

Henry David Thoreau

Scientists and user interfaces

22 August 2009

Scientists are by nature do-it-yourselfers. Whether in the field or the lab, they solve problems for which there is often no ready-made fix. They build new equipment, develop novel algorithms, and find fresh solutions.

Yet, their tool kits are limited, like anyone’s. Their solutions work, but they may be far from optimal. Scientists often make do with the tools that are available.

Computing is one area of compromise. Commercial software packages are so flexible they can be jury-rigged to solve most problems. Spreadsheets especially, they are a scientist’s dream. Every science student learns early to use one and adapt it to solve every problem. Most continue to do that into their careers.

Spreadsheets are flexible, and you can solve a great many problems with them. The solutions are often labyrinthine, but in the absence of other tools, it’s not obvious how tortuous they are. For years, I taught a data analysis course with a spreadsheet. Then I discovered R, and I wondered why I ever attempted some statistical problems in a spreadsheet. But I had. I didn’t know there was another option.

I love using R, but it’s not for the faint of heart. There’s a steep learning curve beyond the ability of many scientists. Many scientists need software that is powerful, but that is also easy to use. And affordable. It doesn’t exist.

Scientists that are adept at computation and programming are most interested in algorithms that push the boundaries of what has been done. They don’t think twice about user interface. They’ll toss the data into a csv file, pipe together a series of unix commands, and dump the results into another text file. Mention user interface to them and they’ll give you a puzzled look.

A good friend of mine is a wizard at the command line. He’s an accomplished programmer and solves exceptionally difficult problems, ones that would make most scientists blanch. I mentioned to him that I wanted to develop software for natural scientists, software that would have an intuitive interface. His face was blank. He had no idea what I was talking about.

The scientists that are most capable of making a breakthrough in the usability of scientific software typically have no interest in developing it. This is where I come in.

I’m a paleoecologist. In my field work, I count the abundance of species of marine life on ancient seafloors, now preserved as slabs of limestone. Ecological data are entered in spreadsheets, with columns of species, rows of samples, and cells filled with abundances. There are often dozens of species, too many to fit on a screen. The same goes for the samples. Most samples contain only a few species, so most cells hold a zero.

There are tricks for entering this data that you learn with experience, but it’s tedious, error-prone work. You enter zeroes for every species you didn’t find, which is needless. You scroll back and forth to find the right column for the species you did find, which is time-consuming. You invariably put at least one or two abundances in the wrong column. You can find these errors the easy way by entering the data set twice and comparing the two spreadsheets. You can find them the hard way by running an analysis that mercifully reveals itself early on as gibberish. Or hopefully at least before publication.

I wrote Diversity to solve this problem. You enter lists just as you recorded them in the field. You can see at a glance if its correct. To save time, you don't have to type the whole name of a species. Diversity recognizes names you’ve typed before and offers to complete them. When it’s time for analysis, it’s a click of a button. No programming, no writing your own functions, just results. When you need to move your data for heavy-duty analysis, an export is a menu item away. Getting your data in is just as easy.

It’s early, but I can see already that users are responding to Diversity. There’s a need for well-designed user interfaces in scientific software. Scientists don’t have to make do.