On Tuesday, August 29, 2023 we uploaded a new version of PocketBible for Android to Google Play (version 1.7.9, build 290). This is the first update in quite a while — we’re a little embarrassed to say it’s been about 5 years. Since the end of August we’ve uploaded several revisions — the latest being 1.7.15.
Because of the issues you’ll read about below, it was necessary to get this update released as soon as we could. As a result of jumping 5 Android versions (from version 8 to 13 — that’s “Oatmeal Cookie” to “Tiramisu” for those of you who follow Google’s cutesy naming system for their operating systems), we knew we would discover little things that would need to be fixed right away and so far that has indeed been the case. Updates are documented near the end of this article under “Phase 1”.
Why So Long?
I don’t want to make any excuses but I also want to be honest about what the situation is. You may know that the development team here is pretty small. We don’t have people assigned to each platform. We move from iOS to Windows to macOS to Android as needed. I originally developed our Android app, but pretty quickly passed it off to a more junior person. When that person left, I hired a replacement. About 5 years ago, that person left, too.
By then, the app was in pretty good shape and didn’t need a lot of updates. It had gotten to where I no longer knew my way around the code. And since I’m not an everyday user of the Android platform in the same way I am iOS, the operating system changed to where I no longer knew it either.
So when the Android app eventually needed updating I went to an Android programmer I knew who worked on it as a side gig for a few months. Eventually he took a different full-time job and couldn’t work on it any longer. So I found a really good contract developer who did a lot of the work to bring it into the 2020’s and get us almost up to Android 12.
And then this Bible thing happened…
Why Update Now?
If you’re a regular reader of this blog (that’s about 4 of you I think), you know that earlier this year we discovered a problem in the way Bibles are processed and stored for use in PocketBible. When we first wrote PocketBible, any time a new Bible was released we had to update the code in PocketBible and release a new version. This is because Bibles are very special and form the heart of how PocketBible works. That means any unique aspects of how they interact with other Bibles and with Bible reference books often has to be done directly in the PocketBible code.
So years ago we updated the Bible format PocketBible uses so that these unique aspects could be embedded into the Bible and not require PocketBible itself to be updated each time we released a new Bible. Turns out we didn’t go far enough. We have several new Bibles coming out that are just different enough that they couldn’t be published without updating every version of PocketBible. So we decided to stop what we were doing on the new Windows version of PocketBible and update every other version of the app. Then go back to the Windows version and update it, too, for this new format.
The macOS version with these changes was released a couple months ago. The iOS version is in beta.
And then this Google thing happened…
PocketBible Disabled on Google Play
Google decided late last year that if your app wasn’t built with the latest or next-to-latest version of their SDK, that you couldn’t be on Google Play. (It is more complicated than that, but that’s the net effect.) They said they were going to disable apps starting in May 2023. But they gave us the option to request an extension to August 2023, so we took it.
Then, after acknowledging we had until August, they said they changed their mind and they were going to pull the app in May.
We were right in the middle of macOS and iOS updates at the time and had been planning to get to Android before the end of August, so we have spent about 3 months explaining to people how to side-load PocketBible and bypass Google Play.
This forced us into a two-phase approach to making the Bible-format updates to the Android app. First, we needed to bring it up to date with the latest SDK. Google required version 31 compatibility, but version 33 is the latest so we went all the way to 33. Until that was done, it was pointless to start into the change for Bible files
Phase 1
Version 1.7.10 (September 2, 2023) addressed these issues:
- If you were using an SD card to store your books, they seemed to have disappeared. The method of finding your SD card changed in a recent version of Android OS and PocketBible was looking in the wrong place. It should be able to find them now.
- When using the dark UI theme, the list of books open in the active pane was displayed with gray text on a gray background. Similarly, the pop-up list of recently visited verses was similarly gray-on-gray.
- The dark mode theme was inexplicably using a dark blue color instead of a black color for the top and bottom action bars. Turns out this change was introduced as a debugging tool by a contract developer and we kind of liked it so we left it in. You did not like it. We reverted to black and very dark gray for the action bar, bottom action/tool bar, pane tabs (AFS), and go-to-verse buttons.
- An issue with viewing and saving Autostudy reports (AFS) was resolved.
- Resolved an issue that caused the app to crash when “Buy/Apply Upgrade” was selected from the navigation menu.
- Books that include the Laridian logo on the title page now use our newer blue and orange logo. In the process of doing this we fixed some previously unreported problems with displaying images.
- In the process of doing this upgrade, the minimum supported version of Android OS went from 4.1 “Jellybean” up to 4.4 “Kitkat”.
Version 1.7.11 (September 7, 2023) addressed these issues:
- We thought we had fixed Strong’s number searches but we hadn’t.
- Title page logo image was not being displayed on newly downloaded or moved books.
- Splash screen image was too tall on tablets in landscape orientation.
- Changed the image on the login screen to the new Laridian logo.
- Made internal changes related to how colors and styles are applied in the dark and light UI themes. There could be minor color changes as we seek to better organize the code in this regard.
Version 1.7.12 (September 20, 2023) addressed these issues:
- Re-architected the process of launching the app to get control over the transition from the onboarding slideshow, registration reminders, and registration/login screens to the main book view.
- Addressed a problem where deleting a book would remove it from the list but not actually delete the file.
- Added new UI color schemes for AFS subscribers.
- Minor changes to the default “Light” and “Dark” UI color schemes to improve general appearance.
- Treat the legacy AFS and AFS subscription differently, since features are now different between the two.
- Revert to “no AFS” if the user logs out of their account.
- Show logged-in customer ID, feature set, and AFS expiration date in About box.
- Get rid of boxes around bottom action bar buttons.
- Style the audio and autoscroll context menu bars with rounded corners and slightly more transparency.
- Added an option to control whether or not pane tabs show the book category (AFS). Only show the category when pane is inactive. Active panes always show abbreviation of active book.
- Removed “Exit” from the action bar menu. This is a hold-over from when mobile operating systems did a bad job of managing memory when apps were left running. It’s 2023 and nobody exits apps anymore.
- Don’t do the navigation menu animation demo. We all know there’s a slide-out menu on the left side of the app.
- Updated Help to describe tabbed panes. Include info on turning on/off categories in pane tabs. Document new AFS features.
Version 1.7.13 (September 25, 2023) addressed these issues:
- Restore “Journal” to the navigation menu for Legacy AFS owners. In 1.7.12 it accidentally required an AFS subscription.
- Make standard “Dark” and AFS “Black” themes darker based on user feedback.
- Adjust splash screen blue to match launch icon blue.
- Add an option to disable linked-to verse highlighting.
- Fixed some problems running on Android 4.4
Version 1.7.14 (September 28, 2023) addressed these issues:
- If the user deletes the Users Guide then selects “Help”, it is automatically reinstalled from the app bundle.
- Words of Christ could be unreadable or appear be displayed in the wrong color when certain highlight colors were used and “words of Christ in color” option was turned off.
Version 1.7.15 (October 6, 2023) addressed these issues:
- Resolved an issue where bottom action bar was getting partially hidden (or over-compensated for) under certain circumstances related to pixel density:
- Split screen
- Side panel open
- Note editor (or any time keyboard was showing)
- Addressed several aesthetic issues when font size was set to its largest and smallest sizes in Android Settings and when “make everything bigger/smaller” was set to its extremes:
- Pane tabs (AFS).
- Note title above editor.
- Go-to-date dialog for devotionals
- Go-to-verse spinner and book/chapter/verse picker for Bibles.
- Margin preference screens
- Splash screen
- Made the text color used for book titles on the library lists have more contrast.
- More correctly position the autoscroll and audio toolbars in more circumstances (AFS).
- Addressed further problems with saving and printing Autostudy reports (AFS).
Phase 2
The above just gets us to where we can start doing the work we came here to do. We need to port the C++ code that has already been implemented in PocketBible for macOS and iOS to Java for Android.
Beyond
Once we get this work done, we hope to more actively update the Android app. Admittedly, it has been a bit of a problem child over the years and we’ve let it get away from us. But more importantly, finishing work on this version will let us return our focus to PocketBible 3 for Windows, where we have to do it all again in yet another programming language.
Thanks for your patience.