Q & A with Sarah Reichelt of Genesearch

Welcome to revTalk, our Q&A column featuring members of the Revolution developer community. Here's where we pelt our guests with questions about real-world Rev development. This month, our featured guest is Sarah Reichelt of Queensland, Australia. Sarah works for Genesearch, and her Revolution web page can be found at http://www.troz.net/Rev/.
revJournal: Sarah, welcome to revTalk. First thing's first: what is Genesearch, and what do you do for them?
SR: Genesearch is a privately-owned biotechnology company - not a software company. We specialize in bacterial fermentation as well as importing biochemicals for genetic research and retailing them to research institutions around Australia. We realized early in our development as a company that many of our software needs could not be filled satisfactorily by any commercial software, so we started to write our own. This gives us fast response time for any new features that need to be added, as well as great flexibility in equipment design, as we know that we can adapt the software to suit.
My job is extremely varied as is inevitable in a small company like ours, but officially I am the IT Manager. I do programming, run fermenters, build machines - whatever needs doing. It makes for an interesting life.
revJournal: Tell us a little about your programming background.
SR: My first computer was a VIC 20, with 3.5 K of RAM! In those days, every computer had Basic as an integral part of it's system, so I started teaching myself to program, mostly by typing in programs I found in magazines and books. After that I tried quite a few things before someone insisted that I have a look at HyperCard. After a few days of that, I was hooked and I have been using that type of development environment ever since.
revJournal: How did you come to Revolution?
SR: HyperCard was a terrific program and I still use it, but it gradually became clear that Apple just didn't get it, and we were never going to get all the new features that we needed. So I started looking for alternatives: there were quite a few that would do what I wanted, but I just didn't feel comfortable with them. Then a friend told me to check out Revolution, and here I am :-)
revJournal: What do you like about it?
SR: The speed with which you can produce a working application and the ease of the write-test-debug cycle are crucial, but the user interface had to fit the way I wanted to work. The way each object contains it's own script makes it very easy to go back to a project and make changes, while the layout tools make sure that the finished windows will look exactly as you want it.
revJournal: Any dislikes?
SR: Well, there are still a few glitches that need to be worked out. I have to say, I don't like the way navigating between sections of the Inspector requires using a popup menu - I would much rather use tabs or buttons.
revJournal: How do you use Revolution in your work?
SR: All my work-related software is for in-house use and is highly customized for our hardware as well as to connect to other software. I guess my use of Revolution falls into two categories: applications that anyone can use and stacks that I use from within the IDE. The applications that I have running at the moment are used for mailing lists, packing, searching for purchases, emailing and testing electronics. In the IDE, I use Revolution for all those little jobs that you may only need to do once, but are really hard to do manually, e.g., text formatting, extracting certain segments of data from a file, checking data. I also have more permanent data stacks and various utilities.
revJournal: Any major projects in the works that you think you?ll be tackling with Revolution?
SR: Yes! Genesearch has developed a freezer vending machine for selling small packets of frozen research enzymes. The software that currently runs them is written in HyperCard and AppleScript under OS 9. I am starting to re-write the software in Revolution, which will be a major job as they are complicated machines where the computer has to interact with various electronic circuits as well as communicating with us and the customers via email.
In parallel with that, I will be working on more process control software, for monitoring instruments, temperature controlled areas and fermenters, as well as controlling outputs: pumps, valves, etc. Basically our own version of LabView.
[Ed. Note: LabView is process control software that connects to instruments (pumps, valves, heaters, etc.), reads their values, and modifies outputs accordingly.]
revJournal: Do you use any other programming languages/development platforms? If so, why? In other words, what can you achieve in other environments that can?t be handled in Revolution?
SR: I still use HyperCard. There is nothing it can do that Rev can't but I just haven't got all my software across yet. I also use AppleScript a lot, but Rev is reducing the number of tasks that I have to use AppleScript for, as well as making it easier to integrate AppleScript into my stacks.
revJournal: Have you switched over to Revolution 2.0? What, if anything, is your favorite feature?
SR: Definitely! I tried all the various alphas, pre-betas, betas, release candidates, and now I have the real thing. As a Mac addict, I love the way Rev is now much more attuned to OS X in it's look and feel, as well as in the way it builds applications. The new database integration is also very neat.
revJournal: Do you have a wish list of things you?d like to see in future versions of Revolution?
SR: Two features that I really need and that are not working properly to date are serial communications under OS X, and the "send to program" command for inter-application communications. Better print handling and a more spreadsheet-like table object would be great, too.
revJournal: One of the most interesting threads on the Revolution mailing lists had to do with the Revolution object model. While Revolution isn?t based on what has become the traditional OOP paradigm, its object-based paradigm supports some OOP-like features. You had some interesting things to say about this on the lists ? can you tell us more about your thoughts on the OOP-like aspects of the Rev object model?
SR: It has always appeared to me that Revolution IS object-oriented, but it provides you with a pre-defined range of objects to use instead of letting you create them from scratch. Imagine a button: that button inherits features from a template button, and it can contain it's own scripts & data. The data includes it's own set of properties as well as any custom properties you want to add. To me, that is very similar to the C++ definition of an object - it's just easier to create and manage. If you want to go beyond the pre-defined objects, that can be done too. Base your object on any of the existing objects, edit it to your specs, and then use "clone" to create other objects from that template. The message-passing hierarchy is also a part of this as every object can inherit scripts from further up the chain: groups, cards, stacks, and so on.
Where Revolution differs from the strict OOP is allowing other objects to interact directly with the data in a different object. As far as I know, if you wanted to get data from a field in a traditional OOP environment, you would have to trigger a routine in the field that could get the data and send it out. In Rev, any object can manipulate the data in any other object. This may be less-OOP, but it is certainly a lot easier.
revJournal: If you were playing "Geek Survivor," which technology book would be your luxury item?
SR: If I said my iBook, would that be cheating?
revJournal: Yes, but I admire your thinking!
If you were in charge of marketing Revolution, is there any market in particular you?d go after?
SR: A recent survey showed that about 90% of software is developed for in-house use. I think Revolution should be pushed at people who know that the commercially available software doesn't do what they want, but don't know that there is a way that they can write their own software, to their own specifications.
Programming seems to have become so complicated that most people assume they can't do it and instead pay big money for something that someone else has written that never quite fits. An environment like Revolution turns this around (no pun intended) and gives the programming power back to the people who actually use the programs. I would be trying to convince small to medium businesses, that having in-house programmers using a tool like Revolution will actually save money in the long term.
revJournal: What?s your favorite third-party plug-in/stack for Revolution?
SR: I wrote a plugin that allows me to assign scripts to the function keys. Sorry for the shameless plug, but I find it really useful. After that, Frederic Rinaldi's SmartSave plugin is my next favorite.
revJournal: What does Revolution need most in order to succeed as a leading development platform?
SR: Users!
revJournal: Are you working on any Revolution projects for your own use, simply because it?s fun and simply because you can?
SR: Yes, several. The one most nearly finished is a calculator where people can design it yourself to include as few or as many functional groups as you need, laid out in any arrangement they want. I'm a calculator fanatic who has never managed to find one that is just right.
revJournal: Sarah, thanks so much for being our first guest for the premiere issue of revJournal. It's been a pleasure chatting with you. Before signing off, is there anything you'd like to say to the readership?
SR: I am really looking forward to seeing how the revJournal turns out and would like to thank Alan for the opportunity to be the first to contribute.
revJournal: The pleasure's been all ours!
|