Your Power Supply is Smarter than You Think

I recently purchased an Apple Vision Pro. I’ll eventually have some thoughts about this platform and its potential for Bible software, but right now I want to talk about that boring little brick you plug your iOS device into when you charge it.

I’ve owned an iPhone since the day it was introduced, an iPad since its launch date, too, and now a Vision Pro 1.0. Just like many of you, I have drawers and computer bags full of those little USB power supply bricks and a variety of the bigger ones that come with MacBooks. I figured out a long time ago that I can plug any device with a USB charger into any USB power supply even if it’s intended for a different device. So I charge my iPhone and Watch with my MacBook charger and have been known to plug my MacBook into an iPad charger just for grins.

When I got the Vision Pro, I saw someone on YouTube put a meter inline with the charging cable and note that it would draw up to 60 watts when connected to his MacBook power supply, even though it ships with a 30 W power supply.

I have just a little bit of experience with electronics, having learned Ohm’s Law for my ham radio license 50 years ago (!) and having built a number of transceivers and other electronic gizmos. I’ve been assuming that all these devices needed 5V at some number of amps — 1.5 A for iPhones and 2.1 A for iPads and many more amps for my MacBook. They are all interchangeable, so they must all use the same voltage, right? Maybe just limit the current?

Wrong.

Turns out these little power supply bricks are smart. They talk to your device and negotiate a voltage the device can use and the current limit the supply might have at that voltage. Between your device and the power supply, they work out the optimum arrangement for operating your device and charging the battery. Voltage ranges from about 5V to about 20V and current is adjusted so as not to exceed the limits of either the power supply or the device.

I guess they’ve been doing this since about 2012. Who knew? Not me.


Image by ChatGPT/DALL•E, of course.

PocketBible for Windows Progress Update #15

Sometimes the things we think are obvious to the outside world aren’t.

In our last update, we explained in detail a problem we had encountered in the way that we encode Bibles for use in PocketBible. The TL;DR version is that we found it necessary to update every version of PocketBible, plus update the BookBuilder app, in order to accommodate necessary changes to the way we deliver Bibles.

As you know, PocketBible runs on four platforms: iOS, macOS, Android, and Windows. One of our points of pride is that PocketBible is a native app on each of those platforms. That is, we didn’t use a special tool that might allow us to create one app and run it on all platforms — we created separate apps for each. So when something like this comes up, we have to update PocketBible on all 4 platforms, and in this case, we also had to update our BookBuilder app.

We have a very small team of developers. We don’t have people assigned full time to each platform. So to work on one we pretty much have to stop work on others. That has meant that while we’ve been focusing on Windows, we haven’t been able to do much/anything on other platforms. It also means that if we need to work on iOS, macOS, or Android, we aren’t able to do much on Windows.

We kind of thought you guys all understood that, so we’ve been keeping you updated on our progress on the other platforms with the understanding that we would get back to Windows when these were done. Turns out that wasn’t clear. Hopefully now it is. Here’s where we stand on each of the other platforms with respect to this Bible format update.

BookBuilder and PocketBible for macOS

Because BookBuilder needed to be updated (of course) due to the Bible encoding changes, and because BookBuilder and PocketBible for macOS share so much code, we tackled both of these together. We did all the necessary changes to BookBuilder, then tested the output in PocketBible on the Mac.

While we were in the code, we did some necessary bug fixes and a few enhancements. We released PocketBible 1.4.2 on June 7, 2023 and it’s been pretty stable.

We did not release a new version of BookBuilder to the public because it’s possible we’ll discover problems related to the new format while working on all the PocketBible releases, and we’ll want to go back and make changes.

PocketBible for iOS

Version 4.16.0 went to a small group of beta testers about a month ago. Problems have been minimal and I anticipate we’ll approve it for the App Store soon. It incorporates the new Bible encoding changes and has a small number of improvements and quite a few little bug fixes.

PocketBible for Android

Android has been a challenge for a variety of reasons. Google changed the rules on us and required that we rebuild the app with the latest version of their tools for basically no reason. The app was working fine, but after telling us we had until August to upload a new version to Google Play, they decided to invalidate the app in May. This fell right in the middle of what we were working on for the other platforms. We opted to continue on our original plan of updating the Android app by the end of August. In the meantime, Android users were given instructions to side-load the app from our website and that worked fine.

PocketBible for Android has not been updated since 2018 and the changes required to get it compatible with the latest OS have been challenging. We released a build with minimal new features on August 29th and updates to fix some bugs on September 2 and 7. We anticipate at least one more small release to fix some additional issues; probably two more.

Once we get Android up to speed with Google’s new requirements, we’ll need some time to do the Bible encoding changes. This will involve porting a lot of code from the macOS/iOS apps and making sure it works. The Android app handles Bibles slightly differently from the other apps, so it’s not just a line-for-line translation from one language to the other, but rather it’s a concept-by-concept implementation using methods consistent with the way Android does things.

I’d like to tell you how long I think that’s going to take but I know I’ll just be wrong. Shouldn’t be too long, though.

PocketBible for Windows

Remember PocketBible for Windows? This is an article about PocketBible for Windows.

Once we get back to the Windows app I want to do a couple of things. First, I obviously need to port the Bible encoding changes from macOS/iOS into Windows. The JavaScript code in the Windows version follows the way the C++ code in macOS/iOS works pretty closely, so this should be easier than doing it in Android and Java. Second, while we’ve been working on getting the program finished, new versions of both Electron and VueJS have been released. We should refactor the app to use the new code so we’re not starting out already in need of an update.

We’re actually fairly close to having at least the standard features of the Windows app finished once we’re able to get back to it. There are some Advanced Feature Set features that haven’t been touched yet (Autostudy comes to mind).

Moving Forward with the “Native Apps on All Platforms” Plan in 2024

I want to take advantage of the fact that we’ve had to do recent re-releases of PocketBible on every platform and make it a goal to do some kind of small update to PocketBible on each platform every year. It’s easier to keep up with frequent, small changes than to have to absorb a massive number of changes to how to build and release apps when you do it every 4-5 years.

So that’s the status of PocketBible for Windows, told in terms of everything else that’s going on here. Anytime you see a blog article about any of the other platforms, count it as progress on the Windows app. 🙂


Photo by Arif Riyanto on Unsplash

PocketBible 1.4.x for macOS Released

This is the original 1.4.0 announcement updated to mention features in 1.4.1 (released on May 26) and 1.4.2 (June 6). Updates are highlighted. If you downloaded 1.4.0 immediately after release, you’ll want to select Check for Updates from the PocketBible menu and follow the instructions to update.

As mentioned a while back, we had to make some changes to our Bible format that required PocketBible on all platforms to be updated. The macOS version is the first of these, mainly since it shares a lot of code with the macOS version of BookBuilder, which also had to be updated, and was the easiest version of PocketBible to test the BookBuilder changes with.

While we were editing the code, we took a look at the to-do list and made a number of other changes. Here’s what’s new.

Bug Fixes

When macOS is updated, there are inevitable little changes to various behaviors that affect apps in unexpected ways. We resolved some unintended horizontal scrolling in Study Panel, Open Book, and Cloud Library lists and adjusted the height of some message windows to accommodate text that was being drawn a little differently and getting cut off. We also made some changes to a toolbar button that wasn’t being drawn correctly. These still may be problematic in macOS 10, but they work a lot better in macOS 13.

When right-clicking on a Bible link, the Autostudy option on the context menu would sometimes do a word autostudy rather than a verse autostudy. We were able to fix that.

The third-party automatic update component we were using to install updates has always been flaky. We took this opportunity to remove it and replace it something simpler. Now you’ll be informed when an update is available and given the opportunity to download it, but you’ll have to exit PocketBible and complete the installation yourself. This amounts to opening the update and dragging an icon about 3 inches into your Applications folder. Much more reliable. It was only working about half the time before.

Enhancements

A few features were enhanced. The toolbar will look a little different due to changes in the way macOS handles toolbars. Because of those changes, 1.4.2 added an option (Settings > General) to control whether you’d like to adopt the new “unified” toolbar or stick with the “expanded” view from earlier versions. If you’re still using macOS X (version 10), you won’t see this option since the unified view isn’t available in that version of macOS.

Link preview pop-ups now use the same text size as your books, which will make them easier for some users to read. In version 1.4.2 we added a small gap to the right of the link, between the link and the pop-up, to make it easier to move off the link and dismiss the pop-up.

We also built this version as a “Universal App” to support both Intel- and Apple Silicon-based Macs. Newer Macs may notice a performance improvement.

New Features

We didn’t tackle anything huge because we have a lot of work to do on all the various versions of PocketBible, but we managed to squeeze in some new features.

Obviously, we implemented book reader engine 1.078 to support newer Bibles. You won’t see any benefit from that for a while, but it’s in there.

We expanded the types of links that will show a preview when hovering in both books and user notes. Previously, you would only see a link preview when hovering over a linked Bible reference. Now more types of links, including footnote links, will show pop-up previews. In 1.4.2 we added a half-second delay before popping up these previews so that you wouldn’t be inundated by pop-ups as you move your mouse across the screen.

Added menu items and toolbar buttons to toggle the “Sync Bibles/Commentaries” feature and to do a one-time sync to the current verse in the active Bible. This allows you to assign a short-cut key to that function and turn off the automatic feature so that you have the flexibility to scroll your Bibles independently but to sync them all up when you want to. We also added that one-time sync feature to the right-click context menu when you click on a verse.

We added the ability to hide the “Note” link that appears at the start of a verse that has a note. You can also turn off your highlights, or only highlight the verse number. This is similar to how the iOS version currently works.

Many users are confused by the way PocketBible applies a light highlight to a verse or passage that is the target of a hyperlink. You now have the option of turning that feature off. (You might find it unnecessary now that the hover feature works on more types of links.)

Links to document fragments were added to notes. If you know what you’re doing, you can add a tag of the form <a href="#name">see name</a> to link to a tag with its id value set to “name”. This is only implemented in the Mac version, so the links won’t do anything in the other versions of PocketBible until/unless it gets implemented there, too.

Controlling Location Sync

This is perhaps the biggest change, and was rolled out in 1.4.2. Users who have an active Advanced Feature Set subscription will have the option to control which of their Bibles and commentaries respond to changes in the active Bible. This will let you keep your commentary on the primary passage while exploring other passages with other Bibles.

Devotionals participate in a slightly different form of location sync. It’s always been the case that when you tell any one devotional to go to today’s reading that you can have all your other devotionals do the same. 1.4.2 added “first unread reading” to “today’s reading” with respect to this behavior. If you ask any one devotional to go to its first unread reading, you can ask other devotionals to follow. This is handy if you’re reading from more than one devotional book or reading plan each day. And if you have an active AFS subscription, you can control this on a pane or book level.

Dictionary sync didn’t change, but 1.4.2 added the option to exclude particular panes or dictionaries from normal dictionary sync. Again, you need an active AFS subscription to take advantage of this feature.

Advanced Feature Set Enhancement

The changes to location sync, described above, apply if you own the AFS subscription. This is the first new feature we’ve added to the AFS since it switched to a subscription, so if you own the “permanent subscription to the legacy AFS” you will not be able to take advantage of this feature. You need a subscription to do that.

How to Upgrade

If you’re running a version before 1.4.0, select Check for Updates in the PocketBible menu and choose the option to install and relaunch. If you have trouble with that, just go here and select the Download button. Download the file, find it in your Downloads folder, open it, and drag PocketBible into your Applications folder.

If you’ve already downloaded 1.4.0 or 1.4.1, select Check for Updates in the PocketBible menu and follow the instructions.

        

Make Your Daily Bible Reading More Pleasant with “Autostudy Today”

I have used the devotional features of PocketBible off and on over the last 20 years in my personal Bible reading. This year I’m using our free Old Testament in a Year and New Testament in a Year reading plans simultaneously to create a custom plan that will give me readings from both the Old and New Testaments each day.

One of the challenges of this approach is that I have to open the Old Testament plan, select the link to the passage, read the passage in the Bible (which may or may not default to the version I want to read from, depending on what else I’ve been doing in PocketBible since I last did my reading), then open the New Testament plan, select the link for the day’s reading, then read the New Testament passage from my preferred Bible. That’s a lot of jumping around just to read 3-4 chapters.

I’m going to take a slightly different approach to it to make the viewing of the text more pleasant and to make it easier to simply read the OT and NT passages without any jumping back and forth between the two devotionals and my Bible. I’ll have two-click access to each day’s text in my desired Bible regardless of what Bibles are open or active in PocketBible at the time. To accomplish this, I’m taking advantage of the “Autostudy Today” feature of the Advanced Feature Set.

Autostudy Today lets you collect the Bible passages and devotional passages you want to read for the day in an HTML or PDF file that can be viewed either within PocketBible or externally. It also lets you customize the styles that are used in the Autostudy output according to your preferences. Most people don’t bother with this, but I’m not most people. 🙂

If you don’t already own the Advanced Feature Set, it can be purchased as a subscription for $9.99/year. This particular feature is only available in the iOS, Android, and Mac OS versions of PocketBible. I’ll be using the Mac OS version to read from and to demonstrate these features, but the iOS and Android versions are similar.

To make it easier to do this every day, I right-click on the toolbar, choose Customize Toolbar, then drag the Today Study button onto the toolbar. That will give me one-touch access to my reading each day.

Drag Today Study to the toolbar.

On the Autostudy Today screen I can select which books to include in the Autostudy report each day. Since the particular devotional book I’m using is just a reading plan and doesn’t itself contain any text I need to read, I’m going to un-check the Devotionals checkbox and make sure Bibles is checked.

Deselect Devotionals; select Bibles.

Then I click on Devotionals (not the checkbox, but on the word “Devotionals” so that it is selected. This causes a list of all my installed devotionals to be displayed on the right. I choose the None button under that list to deselect all the devotionals, then find my Old Testament in 1 Year and New Testament in 1 Year reading plans and select their check boxes to include them in the Autostudy output.

Since I want my Old Testament reading to come first each day, I drag the Old Testement in 1 Year plan up above the New Testament in 1 Year plan. It doesn’t matter if there are other books in between, since they won’t be included. I just want to make sure the OT comes before the NT.

Drag the Old Testament devotional to a position above the New Testament devotional.

Now I select Bibles from the list on the left, causing my list of installed Bibles to be displayed on the right. Again I choose None to deselect all Bibles, then find the Bible I want to read from and select its checkbox. I’ll be reading from the Christian Standard Bible this year, so I select that one.

Select the Bible from which you want to read and deselect all others.

At this point I can test my output by selecting View. I’ll get the scheduled readings for whatever day happened to be selected on the calendar. The output looks just as I would expect, but I’m not entirely happy with it. I’m going to make a few changes to enhance the appearance of the text.

Take a look at the output so far: Autostudy January 1, 2019

Back on the Autostudy Today screen, I have an option to edit the “style sheet” for the Autostudy report. Don’t be embarrassed if this looks intimidating. Most people don’t know anything about editing Cascading Style Sheets. At the same time,  don’t be afraid to try this at home. You can always reset it to defaults and start over if you mess something up.

The style sheet controls how every element of the Autostudy report is formatted. I want to make a number of changes to what my text looks like:

  • Change the color of the Bible reference headings above each passage, and put them on a line of their own above the text instead of inline with the text.
  • Add some additional leading between the lines of text.
  • Make adjustments to how poetry is displayed.
  • Suppress verse numbers in the Bible text.

To change the color of the Bible reference headings, I need to locate the line that looks like this:

div.bibleref {margin:0px 1em 0px 0px; padding:0; display:inline; float:left; color:#00c; font-weight:bold; font-size:100%;}

This line controls the Bible reference headings. By default, the text in a div element appears on its own line. PocketBible overrides this behavior by including display:inline in the style definition for Bible references. So I want to delete display:inline and the semicolon that follows it. I also delete float:left and the semicolon that follows that.

I’m not fond of the light shade of blue that PocketBible uses for Bible reference headings, so I change color:00c to color:008. This is a slightly darker shade of blue. I could instead change it to color:000 (or remove the color:00c attribute entirely) to make it black.

Next, I want to add some additional space between the lines (sometimes referred to as line leading). This is done by editing the entry that looks like this:

p {margin:0px 0px 0.5em 0px}

CSS style sheets use the line-height attribute to control line leading. A value of 100% is supposed to be “normal height”, and back in 2003 when I wrote my own HTML rendering engine, I made it work that way. But because the programmers who created the Web are not as smart as I, you actually need to set it to about 120% to get natural spacing for most fonts. I want a little extra space, so I’m going to set it to 150% by changing this line to read as follows:

p {margin:0px 0px 0.5em 0px; line-height:150%}

The p element is used for normal paragraphs in the Bible text. We also have poetry sections, for which PocketBible (arguably incorrectly) uses the blockquote tag to create extra margin on the left and right. There is no style specified for the blockquote tag in the default Autostudy style sheet (don’t ask me why; I don’t have an answer), so we just add the following line anywhere in the style sheet. I added it below the line for the p element, above.

blockquote {margin:0.5em 1em 1em 2em; line-height:120%}

This tightens up the line spacing a little bit in the poetry sections, and indents it a little more than normal paragraphs (about the width of one character).

Finally, we want to suppress verse numbers in the text. I happen to know that PocketBible uses the sup and small tags to superscript the verse numbers. Adding the following line to the CSS file (I added it below blockquote) causes superscripted text to be ignored:

sup {display:none}

That’s it! Once I save my changes to the CSS I’m ready to view the output.

Take a look at the final output: Autostudy January 1, 2019 – Formatted

All I need to do each day is choose the Today Study button from the toolbar, then press View to view my text for the day. I like to choose Print, then PDF, then Open in Preview to get a full-screen, PDF view of the text to read.

When I’m done reading, I mark today’s reading as complete in each of the OT and NT devotional books in PocketBible.

 

PocketBible for Mac OS: Design Principles

PocketBible for Mac OSWhile it may not be evident from the outside, there are certain philosophies, both of Bible study and software design, that strongly influence each of our Bible study apps regardless of platform. While we’re not at a point where we can give a concrete demonstration of PocketBible for Mac OS, we can talk about how those philosophies will influence our work.

In no particular order:

You should spend most of your time in PocketBible wrestling with the Bible text, not with your Bible software. This means that frequently accessed functionality should be immediately available, and that you shouldn’t have to deal with overlapping windows that obscure the text you’re trying to read. You shouldn’t be thinking about how to arrange things on the screen or how to access basic functions like navigating to a verse or creating a note, but instead be thinking about what you’re reading and how it applies to your life.

While we should consider specific use cases and how they are served by our design, we shouldn’t design around the use cases. We think a lot about all the things you might want to do with your Bible software, like search for a word, compare Bible translations, and view a commentary on a passage. This list of ways that you use our software defines a set of “use cases” (or “user stories”).

Informally, a “use case” or “user story” is a combination of a specific goal (“User must be able to search the text for a given word or phrase”) and a description of the steps or interactions with the program necessary to meet that goal. Programmers use these use cases as part of validating that their solution meets the user’s requirements.

Some Bible software companies make the mistake of creating new user interface elements for every use case. In these programs, when you’re in “search mode” the program looks and behaves differently than it does while just browsing through the text. When you want to compare two translations of the Bible, the second one pops up in a window that may obscure a portion of what you’re reading, and which doesn’t have all the functionality you have in your “main” Bible. And the only way to view a commentary might be to split your Bible window to show a commentary beneath it, with no consideration given to how you might open a second commentary or that you might not want to lose space for Bible text when viewing a commentary. And while you might consider “commentaries” and “dictionaries” to be just “reference books” and expect them to work similarly, the program might display dictionaries in the form of pop-up windows when activated for a particular word, covering other text and behaving differently than commentaries, devotionals and other reference books.

We will try to create a flexible user interface where, for example, search results, bookmark lists, lists of notes, and other “lists of verses” share a common user interface component or pattern, and where opening a Bible to compare to the current one is no different than opening a dictionary, commentary, devotional, or any other book. There’s less to learn and there are fewer surprises.

PocketBible for Mac OS should not necessarily look like PocketBible for Windows, PocketBible for Android, or even PocketBible for iOS. While it should share a lot of design, algorithms, and even code with those platforms, it should look and feel like a Mac app, not a Windows app ported to the Mac or even an iOS app ported to the Mac. We like to take the best features of all our previous apps and combine them with fixes to the mistakes we made in previous apps and wrap them in a user interface that is consistent with the other apps on the target platform.

Mac users should not feel like they are being accommodated, but rather that Laridian considers Mac to be a primary platform for its products, and PocketBible for Mac a flagship product. We confess that we treat certain platforms as second-class citizens. For example, both our BlackBerry and webOS apps were “Bible only” apps, and neither shared the LBK file format used by our other apps. BlackBerry was primarily an enterprise (business) platform, and the future of webOS was always doubtful. This made it difficult to commit the time and money to those platforms that would’ve been necessary to really do them right. Mac OS is different. It is our intention to make it difficult to tell if we’re “Mac people” or “Windows people” because of our level of commitment to both platforms.

PocketBible for Mac OS will focus on the needs of the 99% of Christians who are neither “clergy” nor “Bible scholars”. Most of our customers occupy the pews on Sunday morning and work in secular jobs during the week. While many are Sunday School teachers or Bible study leaders and a few are pastors, most are simply everyday Christians with a love of the Bible. Some have some experience with Greek or Hebrew, but most don’t do their daily devotional reading from the Greek New Testament. PocketBible for Mac OS may include resources like the Greek New Testament and meaty, scholarly commentaries, but its focus will be on concise, accessible works that help the average Christian understand and apply the teachings of the Bible in their daily walk. It’s not that we have a disdain for the original languages, but rather that, as Bible software users and everyday Christians ourselves, we understand there are people out there who understand those languages significantly better than we do, and it’s better, faster, and easier for us to read what they’ve written in English about the Bible than to depend on our own spotty and questionable original language knowledge.

Of course, the 1% of you who dream in Greek will want a different Bible study app. PocketBible may not be for you. We understand that; you’re not our target user.

Given a choice, we will take functionality over complexity; usability over displays of our technical prowess, and simplicity over beauty. We’re not trying to solve every problem in the field of computerized Bible study, but instead we’re trying to provide a tool that can help you solve the most common problems you encounter in your everyday study of the BIble. We’re not trying to flex our programming muscles to win your admiration, but instead give you something you can be expected to use and understand with minimal learning time. We feel that beauty is often only skin-deep; that simplicity and elegance are beautiful in their own way. You may find another girl who looks prettier, but PocketBible is the girl you want to take home to meet your parents and be with forever.

We hope this helps you understand more about how we think about Bible software, how we try to focus on the way you study the Bible, and that you can see how that is implemented in PocketBible for Mac OS X.