Topic management in BPBible
In the last few weeks, I’ve been talking about my experience speaking at BibleTech in 2010. One of the biggest problems I had was trying to cover too much. In my talk I spoke about Bible software and usability: Why we should care about personal notes and why Bible software couldn’t just replace paper.
What I want to discuss in this post is my own personal vision: What I had already implemented in BPBible, and what my future plans were. Though it was meant to be an important part of my talk, none of it ended up covered at BibleTech.
How it started
It all started with verse lists. Typically, when preparing a talk on a particular topic, I would build up a massive Word document containing every passage I might conceivably want to reference. Then, when actually constructing the talk, I would build up the argument, selecting passages to use in an appropriate order. And that was it. I would still have a copy of the verse list, but I was unlikely ever to refer to it again unless I was speaking on a similar topic. Could it be more useful if I integrated it into my Bible software?
Verse list features
One of the things I dislike about software feature lists is that they encourage developers to try and check off as many features as possible rather than taking the time to make them useful. And I felt this had happened with verse lists in Bible software. It was easy to write a quick implementation in a few days, but not one that I would actually want to use. Since I was writing the support for myself, I wasn’t going to settle for this. It might be the only feature I ever worked on, but it was going to work right.
So here are a few things I thought important:
-
Allow multi-verse passages: Many verse list implementations only allow you to create a list of individual verses. To me, this is asking for a list of out-of-context proof-texts. Not only did I allow multiple verses, I also allowed multiple verse ranges in the one passage. Not coincidentally, my talks tended to include longer quotations with more context than most - sometimes 10 or 15 verses long.
-
Permit passage notes: I have heard people talk about “letting scripture speak for itself”. However, combining passages into a list is a judgement call. For some passages, it will be obvious why they have been included in a verse list. For others, you will need to be able to say why you have included that passage.
-
Provide centralised storage: If I just wanted to maintain independent lists of verses, I could do it with Word. For Bible software to add value, it would need to keep track of all the lists I had created. It would also need to allow me to easily refer back to and extend lists I had created.
-
Support hierarchical categories: When dealing with verse lists, naming them can be hard, so I thought it would be valuable to be able to group together related topics. For example, you could have “God > Creator” and “God > Sustainer” as different lists. Or you could have “Talks > The Rich Fool” and “Talks > Jerusalem”. You could even have categories for notes from other people.
I borrowed heavily from Firefox’s bookmark management, ending up with the following topic management interface:
Better integration into BPBible
One of my biggest concerns with stand-alone verse lists was that I was never likely to look back at them. Unfortunately, even with centralised storage this was still true. To be more useful, I needed to know which verse lists an individual verse was included in. To display this, I drew inspiration from two common Bible study tools:
-
Cross-references: Cross-references show other verses related to the current verse. Often they end up linking verses covering the same topic, particularly in more extensive lists of cross-references like the Treasury of Scriptural Knowledge. These references could be added if the software supports making comments on verses, but it required duplication. In order to link passages 1, 2, 3, and 4 together, you would need to link each passage to the other three. And if you wished to add passage 5 to the list, the odds are good that you would forget to add it to each of the first four passages.
-
Highlighting: Originally, highlighting was just for emphasising special verses, but many believers use a colour scheme to show key topics a passage applies to (for example, blue could be “God” and yellow “Jesus”). Usually, though, that highlighting can only be seen when reading that passage: there is no way to list all passages which are highlighted in that colour.
Further difficulty arises when a passage is relevant to more than one topic. For example, consider “God has sent his son to be the saviour of the world”. If God, Jesus, and salvation each have their own separate colour, what do you do? Do you pick one colour for the entire passage? Do you try some kind of striping? Do you colour each significant word with its own colour and leave the rest uncoloured? From a developer point of view it’s very easy to represent these highlighted passages as a verse list, and that makes it self-documenting. It’s much better to have a topic titled “God” than to have to figure out what yellow meant.
Both of these have additional information about the current verse integrated directly into the text. And both of them have potential concerns which I wanted my topic management to address. I made it so that you could see all topics associated with the verses you were reading, and from there you could easily find all the verses for that topic. Like with highlighting, I made it so each verse list could be given a separate colour as well as a topic name. But unlike highlighting, each verse could be easily linked to multiple topics.
For an example of a paper Bible that tried to do something similar, consider Thompson’s Chain Reference Bible:
I never figured out a good way to display multi-verse highlighting, but otherwise the functionality did what I wanted it to do: linked my Bible reading back to previous studies I had done.
It’s funny, really: as I’ve commented, I disliked the “Logos model” for building up a knowledge bank of other people’s studies. And yet I was trying to do exactly the same thing with my own personal notes, so that they would be more useful over time. And to the best of my knowledge this was not being done by competing verse list functionality.
The bigger goal: Finding Bible truth
So far, I’ve talked about the retrieval side of topic management: I wanted it to be easier to find the topics related to a particular passage. But that was only one of the areas that I wanted to improve. The other area was the way these verse lists were created.
Existing software made it relatively easy to build up a verse list about a single topic. And I guess that was the usual way of doing it: When you want to know what the Bible says about love, you would start with a blank list and either add verses you already know or try to figure out the right search terms to find all the verses related to love. Software could easily handle this mode by having one active verse list which is being edited. This worked whether the verse lists were standalone or part of a centralised database.
My problem with this was that it made it much easier to read into the Bible what you already expected to see, rather than finding what scripture said on a topic. Obviously, when I was preparing a talk on a particular topic I was focused on that topic. But what I really wanted to be able to do was to read through a particular chapter, and determine which topics each verse or passage related to. Then I could over time build up a complete list of what the Bible said on every topic (in theory, anyway).
And that was what I made BPBible do. Yes, it still had the last selected topic, so that it was easy to build up a list of verses about that topic. But if you wanted to assign the current passage to a different topic, it was easy to find that topic. And if you needed to start a new topic to put that verse in, that was also easy.
As I said in an earlier post, while my methods were my own, many of my opinions on Bible study were driven by my Christadelphian upbringing and membership. Since we disagreed with mainstream Christians on many things, we knew it was very easy to present a few proof texts that either supported our view or the orthodox view. That didn’t tell us which one was right. What I wanted to do was to be able to determine the balance of the scriptural message on various topics. And I wanted to find it by reading and categorising the text as a whole rather than just looking for passages that supported my viewpoint. Sure, I was going to come into the study with preconceptions, but I wanted to give scripture the best chance of talking for itself.
So, far from being just a minor feature, this was my attempt at starting from scratch and finding truth on a grand scale. It was not something that existing Bible software had focused on, but it was something that I thought software could help with. Over the years I ended up with hundreds of topics, and I think it would have been much more difficult to manage storing and updating those individual verse lists in a paper system than it was electronically.
Did it work?
To the best of my knowledge, this functionality wasn’t particularly used in the way I planned. And it was partially my fault: I didn’t do a good job of articulating why I thought it was important or how it could be used. Perhaps I was just happy enough to have it for myself as a personal toy.
The time I used it most like how I had intended was when preparing a talk on “Proverbs for Today”. In the lead up to the talk I catalogued every single proverb into one or more categories, ending up with around 80 - 90 categories. And the categories I used show the flexibility of the structure. Some of them are exactly what you’d expect for Proverbs: Things like “laziness” or “wealth and poverty”. Others were higher-level classifications I started to see and record: Things like “Poetic Justice”, “Apt Simile”, “Idealistic”, and “Foreign Worldview”.
There’s a joke that a good software developer, given five hours to do a task, will spend 4 hours 45 minutes frantically writing a tool to allow him to do the job in 15 minutes. My Proverbs talk was very much like that: I spent years developing a tool to mark up scripture, and weeks carefully tagging every single Proverb, just so I could throw together most of the final talk in a single evening.
But this experience showed me something important about Proverbs: That the book shouldn’t be relied on as a literal, word-for-word source of doctrine or as a guide to life today. It comes from a foreign worldview, and has an idealistic notion that the righteous will be rewarded and the wicked will be punished right now (though believers sometimes assume those proverbs talk about final judgement). This does not match what we see in real life. This means that we can’t just quote verses from Proverbs and expect them to apply to today, though the principles may still apply.
Feel free to debate this thesis, but I think it shows the strength of the study method. That wasn’t what I expected to find when I began studying Proverbs, and I wouldn’t have found it if I had taken the easy way out and gone looking for examples of proverbs that were well known or sounded good. The reason I found it was because I considered every single proverb while explicitly looking for patterns.
Further improvements
Even before I got to BibleTech I had a long list of improvements I would have liked to make to BPBible. Seven years later, those changes have not been made, so I doubt they will ever be made. But I think that they are worth mentioning here because of what they show about Bible software usability:
-
Find a less intrusive way of displaying tags: Showing a tag every verse is annoying when some topics include twenty verse passages. It also makes it difficult to visualise which parts of the passage are linked to which topic.
-
Support a less structured view: The current implementation is very structured. Each topic has an overview, then a list of passages with notes on each passage. I would like to be able to switch seamlessly between a “free text” view and a “verse list” view.
-
Better export functionality: Right now, BPBible can export a verse list in simple text form. But I would like to be able to easily share verse lists with other people and other apps.
-
Better import functionality: Like the less structured view above, I would like to be able to take a chunk of text (whether that’s a sermon, a study, or a verse list), import it into BPBible, and have each verse reference in it automatically linked to the passage it was citing. This would take the personal notes functionality closer to the Logos deep referencing ideal.
-
Annotate the actual passage text: Sometimes, I think bolding key words in a passage or giving them specific colours is much more helpful than having to give a lengthy explanation of why the passage was included.
-
Statistical analysis: I would like to be able to find which books and chapters of the Bible are rarely or never referenced, as they may suggest a blind spot or an area I’ve overlooked. Similarly, I would like to know which topics and ideas are only supported by a few parts of scripture, and which ones are covered throughout scripture. I also wonder whether this would help explain differences between Christadelphian and mainstream Christian teachings: Did we come to different conclusions because we interpreted the same sections of scriptures differently? Or because we prioritised different sections of scripture?
Final thoughts
BPBible has achieved some of what I set out to achieve. Some of it will probably never be achieved. Personally, these tools are much less important to me than when I was a regular Bible reader and speaker. I still use BPBible for text lookup and searching, but have hardly used the topic management functionality in the last year.
However, I think it’s important to see that adding features to Bible software isn’t just about having a big feature list. It’s about what types of study you want to enable.
In this case, I wasn’t out to make slight improvements to existing verse list functionality. Yes, BPBible can be used to build up a collection of proof texts on a particular topic. But the goal was to allow reading a particular text and determining how it contributes to the overall message of scripture. I’m not sure how well I achieved that goal, but I was able to use the software that way, and I did (mostly) have fun building it.