PocketBible for Windows Progress Update #3

Today we want to talk about our progress so far on PocketBible for Windows. At this point in the project, it’s difficult to show everything we’ve been working on because a lot of it is “under the hood” or “behind the scenes”. It’s related to how PocketBible accesses its files, or the server, or the database where your user data is stored. These are all hard to demonstrate.

But we’re at the point where there are a few things we can demonstrate, and you can see them in the video above. I’ll also briefly describe them here for those of you who, like me, don’t like to watch videos.

We’re trying to make PocketBible more tablet and touch friendly. We’ve taken ideas from our iOS and Android apps. You’ll notice in PocketBible for Windows that the toolbar buttons are a little bigger than they might be in a typical app. This is to accommodate the touch/tablet environment.

The toolbar at the top of the screen is reconfigurable. You can drag buttons onto and off the toolbar from the Preferences screen.

The toolbar on the left side controls the features of the Study Panel. This is where we display your bookmarks, highlights, notes, search results, etc. In particular today, we demo the note editor. We can style text and paragraphs as you might expect, though your edits are not yet saved to the database. You can edit your notes in a plain-text editor if you’re comfortable working around the HTML tags that control the appearance of your notes.

We have a lot of the features related to display books implemented. There’s no “navigation” features yet, but you can scroll through them and see both text and images.

We’ve been doing a lot of work on the Library functions. This is how you download and open books. You can view a list of books installed on the device or books that you own (your Cloud Library account). You can view the lists in a “gallery” format or in a “list” format.

Clicking on a book in the Cloud Library causes it to be downloaded. Clicking on books in your Device Library opens them. You’ll see a progress indicator as you download books, and you can select multiple books to download them all at the same time.

You can choose to see only Bibles, only dictionaries, only commentaries, etc. You can also search for a book by typing a portion of its name in the search field.

There are a limited number of display format preferences implemented. You can currently choose a font, font size, line spacing, and some other options. You can choose from one of several color schemes, including a “dark mode” scheme, and you can create a custom color scheme by choosing colors for each of a couple dozen different elements of the display.

There’s more going on behind the scenes that are hard to demonstrate, and there a lot of things visible on the screen that are really just placeholders. Anything you see on the screen currently could change at any point before release.

About Our Development Tool Set β€” Electron

I’ve been talking about our innovative, new development environment since before we started coding on the project. I want to explain that in more detail at this point. If you’re not interested in the technical side of what we do, you can probably just jump to the end at this point. πŸ™‚

We’re using a tool called Electron to develop the Windows version of PocketBible. Electron is a framework for creating native applications using Web technologies like JavaScript, HTML, and CSS. It combines node.js (a JavaScript run-time environment) and the Chromium engine (the guts of the Chrome browser built into the app). This allows us to write our code in JavaScript and create our user interface using HTML and CSS just like we would on a website. It wouldn’t be incorrect to describe this as a website running on an embedded Web server inside a Windows executable.

A lot of programs you are already familiar with are implemented using Electron, like VS Code, Facebook Messenger, WhatsApp, Twitch, and Microsoft Teams. We’re encouraged by the fact that Microsoft seems to be committed to this tool set.

This lets us leverage what we know about website design as we design the user interface and write the app.

We can actually use the Chrome developer tools just like you would in your browser to debug the app. We can explore the user interface, set breakpoints in our code, and examine the values of variables β€” all using tools we’re familiar with from Web development.

Using Electron allows us to use our Macs for Windows development. The video above was shot on a Mac. That’s why you don’t see a menu bar in the app β€” on a Mac the menu for the active app is displayed at the top of the screen, not in the app’s window. Being able to run the app on a Mac is a real benefit to us since we’re 100% Mac OS here. We use it for Android, iOS, and Mac development. When necessary, we have Windows running on our Macs under Parallels so that we can use Windows apps. But we try to avoid it as much as we can. πŸ™‚

So that’s where things stand as of early February. You can post questions below or send them to support@laridian.com and they’ll make sure I see them and can respond.


Brief demo of multiple panes. See comments below.

8 Replies to “PocketBible for Windows Progress Update #3”

  1. Thank you for the update! I was just wondering about the progress! Like what I’m seeing thus far. Can’t wait to be trying it out! I’ve beta tested iOS ABS and Android, hoping to help on Windows too! Sermon prep on the full computer keyboard will be much easier when this app is ready.

  2. Great update. I like the look of the user interface, and appreciate the touch friendliness. So excited for the chance to try this out when you’ve got this done.

  3. Upon watching this video again, I noticed my use of the colloquial and non-standard “alls you need to do…”. With apologies to the grammar Nazis out there, I would argue that “alls” is a commonly used word in some regions and/or dialects of English. It’s a contraction of “all as”, where “as” is standing in for “that”. Using “as” for “that” was fairly common in early middle English and it survives in contractions like “alls” (or “all’s”).

  4. Craig, this is really good news. The interface looks fantastic. I am especially thrilled that the toolbar is user-configurable! I’ve been waiting for that for a long time (hopefully that makes it to the other platforms, too). The UI is so clean and un-cluttered. It makes sense if you are used to PocketBible on iOS and Android. There is so much that looks so good and easily functional.

    Glad to hear that you are developing using Electron. It seems to be a development environment that can get a lot done efficiently.

    Keep up the good work. I’ve been praying all along the journey!

  5. Thank you for the peek at the progress. The UI looks great, both visually and functionally. I’m eager to try it when it is available.

    One aspect of the current application that I really like is the ability to have multiple panes open at the same time. I typically use six panes together; two bible panes, a search, a dictionary, a commentary, and a devotional pane, each with multiple books. In the demo above, I see two panes available, each with multiple books. Are you expecting to be able to have more than two panes?

    1. You can open as many panes as you’d like to, and as many books in each pane as you can manage. I added a short video at the end of the article above to show those features in action. It is artificially accelerated about 2.5x just to make it go more quickly. πŸ™‚

  6. Craig, that looks fantastic! Opening new panes looks much easier in this version than the one I currently use. It is great to see that you are keeping the same elements, just making it more user-friendly.

    An item you could add to the backlog is an option for the dividers in adjacent panes to snap to the same location. For example, in two adjacent vertical panes that are both divided horizontally, when moving the divider up or down on the left side, it would be nice to have the divider snap to the position of the divider in the pane on the right side. I hope that makes sense. I don’t think it makes sense to move one when moving the other, but having them snap to the same position when close would make it easier to align panes.

    I know you are far down the development path, but the idea of horizontal or vertical “tab stops” along rulers could be interesting. Panes could snap to the “tabs”, and moving the “tab stop” would move any panes snapped to the “tab stop”. No… I have no idea how to do that in practice … πŸ™‚

    Thank you for the labor of love. I’ll be one of the first to get in line to purchase the new version when it goes on sale!

    1. Thanks for the suggestions. The feature you describe is more difficult than you might imagine. Consider a layout that has a column with 2 panes adjacent to one with 4 panes. Which divider in the second column is linked to the divider in the first? When the when one of the 3 dividers in the second column moves, what do the other 2 dividers do? What if another column is inserted between the two that has just one tall pane. Does that break the link between the original two columns?

      There are endless scenarios that can be imagined and the answer to what seems “natural” is going to be different for each user. We’ll wait and see if there’s any kind of consensus about it before we make any changes. πŸ™‚

Leave a Reply

Your email address will not be published. Required fields are marked *