More than a decade ago, I started a side job developing modules for Accordance Bible Software. At that point, I had been an enthusiastic Mac user for several years, but beyond that, I had absolutely no experience in software development. Back then, we only did Bible modules. Other kinds of modules, such as tools, parallels, map backgrounds, etc., came along later. My first project was the New Jerusalem Bible, and I did my work on an already-aging Performa 600 with a 33 MHz 68030 chip! (Anybody remember that far back?)
Because OakTree Software is a small company, I've gotten to wear several different hats over the years, but the bulk of what I do is still module development. My wife kidded me once when looking over my shoulder that what I do looks a little boring, but I actually find it to be a lot of fun.
Okay, so what's involved in developing an Accordance module? Well, it starts with an e-text. This may be supplied by a publisher, something we find freely available on the web, or occasionally something we actually have e-texted ourselves. The e-texts we get may come in a variety of forms and formats, from Word documents and PDFs to (preferably) various iterations of HTML, XML, etc. My job is to take those e-texts and convert them into the format required by our in-house module building software, compile those modules, and then make sure they're up to Accordance standards.
This isn't always as easy as it sounds. There's a lot to think about, especially when developing the Tool modules which now make up the bulk of our new module development. The first thing we do is evaluate the resource to see what category of tool it should be, what logical search "fields" it should be divided into, what kinds of hypertext links it should have, etc. Our focus is never on creating mere electronic versions of printed works, but on developing resources which are as seamless to use as possible.
Next we begin the process of converting the existing e-text into the form we need. We do this using some third-party text editors which have macro or script writing capabilities. Writing macros or scripts to prepare an e-text is always a bit like trying to solve a puzzle, and it's that mental challenge which makes the work fun.
Once we've got the e-text into a form which is good enough to run through our module-building software, we'll go ahead and build an alpha version of the module and check it out within Accordance. Does the browser look right? Are the fields set up properly? Are there any bad hypertext links or other things which don't work as expected? If so, we've got to fix it, re-run the module, and test it again.
Once we're convinced that we've fixed all known problems, the modules are then beta-tested, and the process of refining the them continues. While few modules are ever really error-free, we do our best to ensure that they are as error-free as possible before we release them.
It's hard to talk about our quality control without looking a little like we're breaking our arms trying to pat ourselves on the back, but I am personally very proud of the lengths to which our little company goes to make sure every module is up to our standards. I'm pretty passionate and perfectionistic about the modules I produce, yet when I present those modules to my employers for final review, they tend to be even more discriminating. It is certainly not unusual for them to spot some little issues that I have to go back and fix. And this is true no matter how behind-schedule that module's release happens to be. For an example of that, check out this post from my long-neglected personal blog.
While the work of developing Accordance modules can at time be difficult and even frustrating, it is work which I personally find very rewarding. First there's the puzzle of trying to convert an e-text from some other format to ours, and the sense of accomplishment when a macro actually works! Then there's the excitement of seeing a new resource in Accordance for the first time. And there's the anticipation of how you, our users, will react to all the cool new stuff that's coming. While right now I'm in the thick of finishing up new modules for Library 7, I can't wait to get them into your hands. That's a lot of what keeps me going. :-)