Interview with Alexander Griekspoor from Mekentosj
This is the first of a series of interviews MacResearch is planning with Scientists and Scientific Developers on the Mac. Alexander Griekspoor is from mekentosj.com, which is the team of developers that won the Apple Design Award for Best Mac OS X Scientific Solution at this year's WWDC06 developer conference in San Francisco.
|Tom Groothuis (left) and Alexander Griekspoor (right) from mekentosj. Photograph courtesy of Rick Lahaye, Mac Support, The Netherlands.|
[MR]Congratulations on what is now the second Apple Design Award for Mekentosj. There can't be many that can lay claim to that honor. You guys won the first time for 4Peaks. Can you tell us about that?
Thanks! Yes, it was a big honor to win a second Apple Design Award, we're obviously very happy about it. Indeed, in 2004 we won the first one for 4Peaks, our DNA sequence traceviewer, in the category Best Mac OS X Student Project. That was an awesome experience. This year EnzymeX, our DNA sequence editor, received the award for Best Mac OS X Scientific Solution, which to us is perhaps an even nicer compliment given our background as PhD students. We have received many enthusiastic reactions from our users about the functionality and the user interface of both programs, but it is an especially big honor when this is echoed by Apple.
[MR] I noticed on your web site that you CT scanned the glowing award cube to find out what was inside. Very cool. Anyone that hasn't seen that should check out the mekentosj.com web site. What is mekentosj.com about? What does 'mekentosj' mean, and who is involved?
To answer your questions in reverse order, mekentosj doesn't have a meaning really, but it resembles a word/sound we all know (it took some time to find , but according to Wikipedia the official term is Onomatopoeia). It actually is a merge of three words, "mek" "en" "tosj", which in Dutch is pronounced as "Mac and Tosh". I go under the name "Mek", and "Tosj" is Tom Groothuis. Tom and I became good friends while studying for a Medical Biology degree at the Free University in Amsterdam, and we both ended up doing our PhD in the same lab at The Netherlands Cancer Institute (NKI–AVL). When we started our PhD we were the only ones using (our own) Macs, which lead our professor to call us Mek and Tosj. Although half the floor now uses Macs, we kept those nicknames and decided to use it for our website mekentosj.com, and release our software under that name.
When we won the glowing cube in 2004 as part of the design award for 4Peaks we had this crazy idea of making an X-ray of it to see what was inside. The year before someone had made an X-ray of a PowerBook and we thought it would be fun to do something similar. The NKI–AVL houses one of the best research groups in the area of radiotherapy, and we knew some people there, so we asked if they could make an X-ray for us. Instead of a simple X-ray they had something even better, one of the most advanced CT scanners out there (which they developed a lot of software for). So in the few spare minutes that the machine was not used they quickly made a scan for us, and using OsiriX we could now even make a 3D reconstruction of it. It was a big hit when we published the movies on our website, and of course when we won another cube this year we again got a lot of attention for it. Even the people who had designed and created the cube let us know they really liked it.
[MR] How do you guys divide up the work? Do you both program?
No, I do most of the programming of our programs. I had a long standing interest in programming, but I never managed to really get started. I tried a few times, but it was just too difficult without any background in that area. I was much more a Photoshop/design type of person; started working on the mac a long time ago with Photoshop 1.0 etc. But when Apple came out with the Mac OS X beta (2001) it shipped with the developer tools included, and I decided to give it another try. I bought a book on C and Objective-C, and in combination with Apple's developer tools and the great Cocoa API, it just worked out great! Also, the developer community turned out to be great and helped me overcome a couple of big hurdles. Within 6 months — starting from scratch, both in terms of code and experience — we released our first Cocoa app, LabAssistant, which is an advanced egg timer.
I say "we" because although I do almost all coding, mekentosj is really a great team. Tom is involved from the start by giving everything I make the first tests and directs the program in the right direction. He also creates the help files and we manage the website together. And then there are even two "invisible" parts of mekentosj. After Tom and I have come up with something, two other members of the lab, Lennert Janssen and Mathijs Voorhoeve, help us shape and test our programs. I guess that's the real secret behind the success of our programs. By the time we release them on our website, they have been really well tested, first by Tom and then by Mathijs and Lennert, and a lot of details have been added thanks to their feedback.
[MR] At WWDC06 you picked up your second Apple Design Award for EnzymeX. Can you tell us about what EnzymeX does, hopefully in terms that the less enlightened amongst us will understand?
After our first app LabAssistant, I started working on EnzymeX. All our programs started with a problem we encountered while working in the lab, and such problems we had with the use of so-called restriction enzymes. Biologists use these enzymes in the lab as part of their toolbox to "cut and paste" DNA fragments. A restriction enzyme recognizes a specific DNA sequence and cuts it in two, and currently there are about 600 of them commercially available, all with specific properties: different recognition sequences, optimal working temperature, salt concentrations etc. Before EnzymeX came along, you had to look up all this information in the catalogs of the different manufacturers — a time-consuming task. The fact that all manufacturers all had their own way of presenting this information, and use their own terminology, didn't help either. So what we did is compile the information from all manufacturers and all available enzymes in one application, EnzymeX. Basically, we could toss all those catalogs away and it saved tons of time. Getting the right information you need before starting your experiment is now only a mouse-click away.
[MR] I can remember coming across EnzymeX several years ago, and thinking it looked great then. Recently, you released version 3.0. What is new in version 3.0, and do you think that contributed to the award, or was it just EnzymeX's time to win?
Yes, as I said, we released EnzymeX 1.0 in the beginning of 2002, but we have added many new features in the intervening three years. But there was one thing missing that everyone was asking for: We provided all information about the enzymes, but people just wanted to see where exactly they should cut in the DNA sequence they were working on. But this would mean adding a complete DNA sequence editor, like TextEdit for DNA sequences, which would be almost a completely new app in itself. I started working on it as a new feature of EnzymeX, but that rapidly became such a big project that we decided to make it a separate application. They somehow belonged together though, and we were not really happy with this solution.
Then we realized that we should not add the DNA sequence editor to EnzymeX, but that we should add EnzymeX to the new sequence editor. We literally turned the app inside out. The result is EnzymeX 3.0, an almost completely new application, which still contains all the information about restriction enzymes, but now also allows you to use them "in silico". We think we have come up with a unique user interface, much more dynamic and still very lightweight. It's especially this part that we think contributed most to the award.
[MR] What aspects of Cocoa have you used in EnzymeX? Have you got around to incorporating technologies like Bindings and Core Data?
EnzymeX is a true Cocoa app, and uses almost all aspects of this rich API. From simple — but very important — Mac features like drag and drop, to beautiful and razor sharp custom views, and even technologies like Web Kit and speech. It even uses Spotlight to find all your EnzymeX files on your hard disk and quickly give access to them without having to go to the Finder.
Spotlight functionality is dynamically loaded on Tiger machines only, which brings me to the use of Bindings and Core Data. One of the problems with new technologies is backwards compatibility. We always try to support the most current OS minus one, so EnzymeX runs on both Panther and Tiger. And of course a lot of the code was written when we still had Jaguar. This means I haven't used bindings in any of our current apps, let alone Core Data. But, we are working on a completely new app that relies heavily on both technologies; it definitely makes life much easier for a developer.
[MR] You're not a Programmer by trade, but a Scientist. I think that would be an inspiration to many out there. Many would think that it is not possible to do full-time research, and develop complete, well-rounded software applications at the same time. How do you make that happen? Can you spend time on them at your work, or are you up to all hours of the night?
This is definitely a hobby that got way out of hand. All of it is done after work, in our spare time. I guess it primarily takes time from the sleeping hours.
No, we don't do any development at work; we do profit a lot from the programs while working though. I guess we have both been lucky that our PhD studies have gone so well, which has permitted us to leave work at a reasonable time, and do something in the evening and weekend.
[MR] Given that you are a Scientist, I probably should ask the obvious questions: What sort of research do you do? Any major discoveries recently?
Tom and I are cell biologists. The lab we're working in is well-known for its cell biology expertise in the area of antigen presentation and the immune system. We use a lot of advanced microscopy and very cool techniques. By coincidence I have also been part of a collaboration with another group on our floor that works on the estrogen receptor, a nuclear hormone receptor that plays an important role in breast cancer. Again we used a lot of cool microscopic techniques to study resistance to the anti-estrogen drug tamoxifen, which is given to many women diagnosed with breast cancer. Tom works on the ubiquitin-proteasome system, the "garbage collection" system of the cell. He uses similar techniques. You can learn more about the science we do on our website: http://mekentosj.com/science
[MR] Another project I saw you speak about at WWDC is BioCocoa? Who is involved in that, and what are the objectives of the project?
BioCocoa is an open source Bioinformatics Cocoa framework. Originally, BioCocoa was started by Peter Schols from Belgium as a simple Cocoa framework for sequence IO. When I was working on the new EnzymeX, I found BioCocoa a great way to quickly add support for all those funky sequence formats out there. That's how I got involved in the project as well. Peter and I realized that there was a need for a much broader Cocoa framework for Bioinformatics, much like Java has BioJava and Perl has Bioperl etc. We tried to get more people involved in the project, and now a group of about six are working on version 2.0. Unfortunately, none of us are full-time Programmers, and some have even decided to step out of Biology, so it's hard to find time to work on the project. At the WWDC we'd hoped to bring the project to the attention of more people, and I think that worked out quite well. I hope that with more people joining the project it will get another boost, because I think the project has a lot of potential! If you want to find out more about BioCocoa, please visit its website at bioinformatics.org: http://bioinformatics.org/biococoa
[MR] You have by no means restricted yourself to Cocoa development. The mekentosj.com web site, for example, looks great, and you even have a whole page of Dashboard widgets there. Pianochords and Tigergotchi are very cool, and one that stands out for Scientists is the Xgrid widget. If I understand correctly, it monitors the jobs running on the Xgrid of Charles Parnot, but it can also be customized to monitor any Xgrid controller, right? What's involved in using the Xgrid widget for you're own grid?
Everything we do, from programs to widgets comes from ideas and problems we encounter during our daily work. And sometimes just come from a simple joke or thought we have in the lab. Disctop is such a case, and some of our Dashboard widgets as well. The Xgrid widget is a bit of an exception though. I thought of the idea during the WWDC 2004. Dashboard was introduced with Tiger that year, and Apple challenged us that week to come up with a cool Dashboard widget. I immediately thought of a widget that mimicked the Xgrid screensaver that came with the Xgrid developer preview. At WWDC, I contacted some people from Apple, but they told me there was no way to access the grid's status information for use in Dashboard.
I gave up on the idea then, but kept it in the back of my head until I ran into the website of Charles Parnot. He had setup the Xgrid@Stanford project, the biggest public Xgrid cluster out there. Interestingly, he also had the grid's status info displayed live on his webpage, so I contacted him and asked how he managed to do that. It turned out he had written a custom Xgrid plugin that extracts the status info. We decided to team up and together created the widget for his Xgrid cluster. We went one step further, however, and released an Xgrid widget SDK that allows you to create your own widget for your Xgrid cluster, and we know that several people have indeed done so. You can download the SDK, including instructions, and artwork from our website: http://mekentosj.com/widgets/xgrid.
In the final version of Xgrid, as found on your Tiger system, the screensaver is gone, but luckily there's the widget now...
[MR] You are going to graduate with a PhD in November. What is in the pipeline after that for Alex Griekspoor and mekentosj?
Yep, Tom and I will both have our graduation in mekentosj style, that is on the same day. One thing I have discovered while doing all this stuff in my spare time, is that this is what I really like to do, and I want to make it more part of my daily work. So I have decided to completely switch fields. I got interested in the way we deal with scientific literature, and how new technologies could transform this. So, in November I will move to Cambridge, UK to work in the text mining group at the European Bioinformatics Institute. Interestingly, thanks to our programs and mekentosj.com, I got involved with many exciting collaborations with people in different groups within the Netherlands Cancer Institute. I will continue one of those collaborations as a postdoctoral fellow at the EBI thanks to a Marie Curie grant we wrote and got accepted from the European Community.
Tom will probably continue with wet-lab biology, and will most likely stay in the Netherlands. So mekentosj will now be physically separated, but I don't think that will stop us for doing more fun things. The type of applications might change a bit, but we have some really cool stuff in development, and the golden team will hopefully continue to be as successful as it has been thus far.
[MR] Are you working on any new Cocoa or Dashboard software that you can tell us about, or is that a trade secret?
No comment. It's a bit to early to reveal anything yet, but I would suggest you keep an eye on our website...
[MR] Well, we certainly look forward to future releases of the current lineup of mekentosj software, and anything new that comes out. And who knows, maybe Apple Design Award number 3 is just around the corner. Thanks for talking to MacResearch, and we wish you guys the best in the years to come.
Thanks! You're welcome.