PocketBible for Windows Progress Update #4

I apologize for the delay getting an update out. We get busy and we are always thinking that after we implement the next big thing would be a good time for an update. Next thing you know several big things have been implemented and no update.

Since the last time you heard from us:

Notes can be edited, saved, and sync’ed to the server. The note links in the text open the note in the editor.

Bookmarks can be created and lists of bookmarks in a given category displayed. You can select a bookmark to go to it in the text.

Highlights can be created but they’re not yet visible in the text. You can see a list of them and select from the list to go to the verse.

The option to sync Bibles and commentaries has been implemented, so commentaries and other Bibles will follow along as you scroll through the Bible text. There’s a separate option to sync dictionaries so that any request for one dictionary to go to an article for a word will result in all dictionaries responding, and another option for all devotionals to go to today’s reading when any one devotional goes to today’s reading. Here’s a little demonstration:

The scrollbar is implemented. As you drag the scroller up and down, there’s a tooltip that tells you where you’re at in the book. When you release the mouse button, the text goes to that location. There’s an option to scroll by pages or scroll by chapters in the Bible. Other types of books have similar options.

The program saves its display state, window size, and position between sessions. If  you have more than one monitor, it remembers which monitor it was on. If you unplug a monitor or switch to one with different resolution, it adjusts its size and position accordingly.

There are other little things that get done along the way, of which I may not have made a note.

We’re currently working on implementing searches. There are interesting technical challenges porting that code from Mac/iOS/Android to our environment in Windows. On the other platforms we launch a dozen parallel activities to perform a single search. The Electron environment is single-threaded. There is a way to create multiple processes but the communication between them is rudimentary. We’ve settled for trying to make it so the user interface (mainly mouse movement and interaction) doesn’t stutter during a search, but searching may be more of a serial, rather than a parallel, operation. I’m guessing nobody will notice. Searches will still be fast.

An interesting complication that arose during implementation of searching was being able to support finding words with the same root word as the one you are looking for. The algorithm that reduces words to their root words is written in an esoteric programming language that was created specifically for this one purpose. In order to translate that language into what we need (Java for Android, C for iOS and macOS), we have to use a custom transpiler that converts from the weird root-word language into Java or C. The new version of PocketBible is being written in JavaScript, which would require that we write a custom back-end for the transpiler. This was disappointing as we figured it would take several days, if not more, to implement. Fortunately, the next day we found that someone had already converted the code by hand to JavaScript. We added our modifications to support Early Modern English (KJV language) and we were back on schedule.

One of the things that happens during development is that you sometimes get to do things twice. We were using a very basic method of displaying lists like your list of bookmarks, notes, and highlights. This method worked fine (and is working now) but in those rare cases where you have 20,000 search results, it will get bogged down. So we’re replacing the already-working list mechanism with a new one. It’s one of those things that, once it’s done, you won’t notice the difference. But it requires careful surgery to remove one method and replace it with another. This is being done to support search results but other areas of the program will benefit. Most people don’t have 20,000 bookmarks, but for those who do, this will be a noticeable improvement (at least it would be noticeable if they had seen it before and after, which they won’t.)

As some of you know, last August our city was hit by a rare wind storm known as a derecho. Sometimes called a “land hurricane”, a derecho has straight-line winds that exceed 100 MPH. Our city experienced winds as strong as 140 MPH. And while a tornado has stronger winds, it generally only affects a narrow path, maybe a couple hundred yards wide. This derecho caused wind damage over an area 100 miles wide and 700 miles long.

The office build we were in took significant damage. The roof had to be replaced along with all the flooring, all the ceiling, and a good portion of the walls. We were able to continue working there while roof repairs were made and most of the interior was removed, but in mid-February we had to move out. We spent 3+ months working from home with some negative impact on productivity. Then in mid-May, a new office suite became available just 2 blocks from our old location. By the end of the month we’ll be in a beautifully restored 19th century building with exposed brick walls, original wood floors, and 12′ ceilings.

That’s where things stand as of today. Thank you again for your interest and support of this project.

19 Replies to “PocketBible for Windows Progress Update #4”

  1. One thing I have often wondered is the ability to underline only certain words in the text. For example, if I wanted to emphasize a certain word in my studies, the current iteration of Windows/Android (I can’t remember about IOS), all will only underline the whole verse. Also, it would be interesting to me if we could use more than one option to hi-lite, note, or underline for a particular verse. Not knowing where you are in the development, or if this is even on your radar, this may not even be in your project list.

    1. Joseph, this is a good suggestion and has been on our list for a while. There are some real challenges to doing this. I’ve written extensively on the subject here. That’s not to say we will never do it; this would be a good project to try it on. So what I usually say is that it’s on our radar but we don’t have a specific plan. We’d all like to do it; there are challenges to getting it right.

  2. Thanks be to God, who blesses us with the work He blesses at the hands of His faithful, – even as He turns a miry pit into an elegant highway for His Children. Thank you, Craig and all your colleagues with you who are implementing this work in the midst of this pandemic and the complications of life in this world. Looking forward to using the new and much improved PocketBible for Windows. God bless.

  3. Craig,
    Back on August 3, 2020 we exchanged emails about the features that might get included in the next version of Pocket Bible for Windows.
    There was one feature that I asked about in my email….it centered around the ‘Study verse’ tool (Autostudy) found in the Android version. You may have already covered this feature in one of your “Progress Updates” and I just missed it. I was just curious if this feature is still planned for the next release.
    Thanks again for all your hard work.

    1. Steven, we definitely plan to implement Autostudy in the new Windows version. This will be the first time that feature has been available for Windows. It will be a part of the Advanced Feature Set, like it is for Android.

  4. I look forward to this version of Pocket Bible. PB for win8/10 has been a pain to work with as I code new material for it. I struggled to get the current version to reconize my changes to documents. I finally found if I blew away all config files it would regenerate new ones when I restarted it and hence load my new files. Your new one will be superior in the regards…I know it. Carry on!

    1. David, for those who aren’t familiar with what you’re talking about, you’re creating new books for PocketBible using BookBuilder. The problem you’re running into is how to get PocketBible to realize that you’ve given it a new version of your book — to get it to stop using whatever cached values it might have. Have you tried deleting your book from the Device Library screen, then exit the program, copy your new book to PocketBible’s data folder, then launch PocketBible? Not sure if that’s easier but it seems like it might work.

  5. Craig,

    Thanks for your commitment to redesign PB for Windows. Will PB for Windows sync with PB on my iPhone? One frustration I have is that I make notes or highlights in one version and it doesn’t sync with the other.

    1. The current versions of PocketBible for Windows will sync notes and highlights with your iPhone. The new version will, too — already does, actually. 🙂

  6. Can I suggest that you test PocketBible for windows on both AMD and intel CPU computers.

    ((Why I ask this) I cant get Bookbuilder to work on my new AMD laptop but it works perfectly on my old INTEL machines and a new INTEL laptop my sister has and a new INTEL machine at my church.
    I realise that it is a driver or dependency issue and amd verse intel might be a red herring but I don’t have any access to other computers to try any other combinations. I was able to produce my Quiet time reading and prayer plan on an old machine so stopped trying to get my laptop to run bookbuilder after a month of most evenings spent trying different things.)

    1. What did Tech Support say when you brought this to their attention and described the error messages you received or the exact nature of the erroneous behavior you saw?

  7. Hi Craig, would is be possible to have an option for the toolbar that’s currently showing at the top of the app, to be moved to the bottom.
    When you’re sitting with a laptop doing study, it’d much easier and more natural to move your hand forward to a toolbar at the bottom of the screen (quarter of the distance), rather than lift your whole arm up to reach the toolbar at the top. Your hands are already on the keyboard much of the time, so you just slide your hand forward as apposed to lifting it to the top of the screen. It’s a small thing, but far more relaxing during study… ESPECIALLY for the fwd/back option, as it’s used constantly.
    This was a major problem in the current windows store app. Your new layout addresses that and at least brings those icons to a single tap on the main screen, but I think the next solid step in ease of use would be to have icons moved to the bottom, even if only as a user defined option.
    For me, the fwd/back icons are the most used in the whole app. In fact that feature alone, (ease of moving in/out fwd/back in my workflow) is what sets PocketBible apart from any other bible app.
    I’d love to see it at the bottom of my screen, as apposed to the top.
    Thanks for all you’re doing on this major platform upgrade.

    1. I’ve never understood touch-screens for desktop computers that have keyboards and mice. I don’t think many people make use of them. In fact, most people forget that the screen is touch-sensitive until they accidentally activate something while pointing it out to someone on their screen. But I do agree that, when used on a tablet, it might be nice to be able to move the toolbar. I’ll give that some thought.

      1. I’m sure you are right that “most” people don’t use the touch on a laptop; but I did! In fact, now that the work computer is again a Mac, I find myself when away from the desk reaching for the screen to move or click on something! I had the Dell XPS with touch screen for the last 4 years, and working with both the Dell an d iPad a lot, I was used to many touch motions. Having the tool bar movable sounds good to me!

      2. I often use my Microsoft Surface as a tablet, with the keyboard detached. And my Dell laptop folds over into a tablet, which I use on occasion. And I find myself reaching up to that touch screen even when it’s in laptop mode. Once I had one I found myself using it on a regular basis. Even on a tower-based system.

Leave a Reply

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