25 Reasons We’re Still Going Strong: Development Philosophy
When Accordance 1.0 was released 25 years ago, there were seemingly dozens of Bible software programs to choose from. Today, only a small handful are still in operation. So how has Accordance managed to keep going strong after all these years?
In this series of posts, I'll consider 25 reasons I think we've managed to defy the odds. In my previous post, we looked at 5 motivational reasons. In this post, I'll cover the next six reasons, which all have to do with our development philosophy.
6. We Focus on Developing Real World Solutions. Computer programmers don’t always think like regular human beings. Consequently, they sometimes come up with “solutions” which are so obscure or arcane as to be nearly unusable—unless of course you happen to think like an engineer. Programmers can also fall into the trap of applying a technology they understand to a task they may not completely understand, such as biblical studies. When that happens, you end up with whiz bang features that may look cool but which don’t actually do anything useful. Accordance has tended to avoid these problems because our development team has as much biblical studies expertise as it does technical expertise. That means they understand the fundamental challenges to studying the Bible, so they are focused on developing real world solutions to those challenges.
7. We Value Efficiency. Accordance is known for its speed. It manages to complete searches in the blink of an eye without subjecting users to extended periods of indexing. I’ve known our programmers to rework portions of the program because some feature just didn’t seem fast enough. In most cases, no users had complained about the speed of that feature; our programming team just felt it was not quite where it should be. On those rare occasions when a user actually has complained about something being slow, I have never once seen our developers blame the problem on the user’s hardware or the way they were using the program. They simply resolved to find a way to fix it.
At Accordance, we are committed to developing clean, streamlined, efficient software. And that pays dividends in more than just speed.
8. We Started on the Mac. When Accordance was first released, Macintosh computers made up about 10% of the personal computer market, and people said we were crazy for focusing on such a narrow market. A few years later, Apple was in major trouble, its market share had dropped to around 5%, and people really thought we were crazy.
We certainly had our challenges, and we sometimes had to spend as much time touting the Mac’s advantages as we did the advantages of Accordance. Yet staying focused on the Mac market helped us in a number of ways. In the early days when we had a single programmer working part time, we were able to develop new features faster and more efficiently than we could have for other platforms. Because Apple developed both the hardware and the operating system, we had fewer tech support issues than most PC developers, which meant lower costs and fewer distractions.
Finally, in those days, many Bible and book publishers chose to license their materials to just one Bible software program rather than to several, which meant that PC Bible software developers were all competing for licenses to important content. Users then had to choose a Bible program not on the merits of the software itself, but for the books it happened to offer. If you wanted three different resources which were each licensed to a different program, you had to buy and use three separate programs!
Since we offered a Mac product, publishers were still willing to license to us even if they had an exclusive relationship with a given PC product. Accordance users were therefore able to access books which Windows users could only get by purchasing multiple programs.
For all these reasons, our early focus on the Mac enabled us to rapidly develop a full-featured product with an extensive library.
9. We Leverage Our Efforts. When we chose to go beyond the Mac to support other platforms like iOS, Windows, and Android, we made a fundamental decision to maintain a common codebase. This essentially means that we leverage our development efforts so that new features can be deployed across our various platforms as quickly as possible. When we add a new feature, we don't develop it for Mac first, then reinvent that feature for Windows and each of our mobile platforms. That would result in four distinct sets of code which would each have to be upgraded and debugged separately. Instead, our use of common code enables us to release improvements quickly, achieve a high level of parity among platforms, and avoid a lot of duplicated effort.
This does not mean that we somehow gloss over the differences among the various platforms we support. New features are tailored to the unique interface conventions and system technologies of each platform. Our focus on maintaining as much common code as possible simply means that we are careful not to become fragmented and inefficient in our support for multiple platforms.
10. We Adapt to Changing Technologies. The computer industry is constantly changing, and if you want to stick around, you have to adapt to those changes. Over time, we’ve had to support major computer processor changes: from 68K to PowerPC, from PowerPC to Intel, from 32-bit to 64-bit. We also had to make the jump from the classic Mac operating system to Mac OS X, and of course, we have since added support for Windows, iOS, and Android. All of those presented serious challenges, and we had to have a clear strategy for how we would adapt to the new while continuing to support the old for as long as possible.
Lots of solid Bible programs have disappeared simply because their developers were not willing or able to adapt to the next big shift. Some were slow to support PowerPC, or Mac OS X, or mobile devices, and they suddenly found themselves unable to attract new users and eventually, to hold on to existing ones. While it can admittedly be frustrating to have to put cool new features on hold just so you can stay up to date with hardware and operating system changes, our ability to adapt has been a key reason why we’re still going strong after 25 years.
11. We Are Careful Not to Chase Every New Technology. Big companies like Apple, Microsoft, and Intel have a tendency to introduce their next big thing with great fanfare and then push developers to jump on the bandwagon as soon as possible. They promise all kinds of sophisticated new capabilities “for free” if you’ll only adopt their latest technology. But of course, nothing is really free. The developer is being asked to commit precious resources to adopt a technology which may or may not pan out, or which may end up having a poor cost-to-benefit ratio. Many developers have invested heavily in supporting some new technology only to see it scrapped by the very companies that promoted it.
At Accordance, we’ve always evaluated technological changes with a healthy dose of skepticism. Is this really the next big thing? Will it really deliver on its promises? Even if it does deliver on all its promises, will those “free” capabilities be worth all the effort required to implement the technology? Would our efforts be better spent developing new features that don’t depend on the latest buzzword technology? Is there a middle way which moves us closer to compliance with this technology while we wait to see if it really pans out? Will that middle way offer us benefits even if that technology doesn’t ultimately pan out?
By taking this approach, we have been able to navigate the turbulent waters of technological change without finding ourselves shipwrecked.
That’s 6 aspects of our development philosophy which have enabled Accordance to keep going strong after 25 years. In my next post, we’ll look at reasons related to our design philosophy.