Sunday, February 12, 2006

A great article at ACM Queue with Jarod Jensen. He worked at Baylor on the Human Genome project, and then at EnronOnline, now for his own consulting company where he helps people get better performance out of their applications.

A number of very good points. One of them is that to really get better performance, you have to look at not just the development side, but also at the sysadminning side. As someone who has worked on both sides, I couldn't agree more, especially for scientific applications. Often, scientific applications are written well in a scientific/mathematical sense, but are hard to administer and hard for users to use. Jarod point was that for good performance, you have to look at all aspects of development, and I would extend this to the user experience as well.

Also, another great point that he has is that somehow we have to get the research and development communities to talk more, that there are great things going on in universities, but these things don't get communicated to the actual developers. This is common in the crystallographic community as well, there are a lot of great algorithms out there, but it's hard for users to learn all of them, and especially to learn how to use them optimally. I've heard an oft repeated maxim that a crystallographic program works best in the hands of it's author. Well, in Crank, that's what I was trying to do, to try to get these two communities to talk more, to get these new and cool algorithms out to the community at large. I'm not sure how well I succeeded, but it was something I had in mind from the beginning.