Quite a bit of progress since the last report. Some of it (note editor) was re-implementing something we thought was already done, but that has to happen every once in a while.
Copy Passage
One of the major accomplishments of the last month has been what we call the “Copy Passage” feature. It allows you to enter a verse or passage reference and select a number of options for how you would like the text to appear, then press a button to copy it all to the clipboard with all your options.
With this feature in place, you can use Ctrl+C to just copy the selected text, Shift+Ctrl+C to go to the Copy Passage dialog to choose options, or, once you have the options configured the way you like them, Shift+Alt+Ctrl+C to immediately copy the selected verses with all the formatting options you’ve chosen.
Both the current Windows versions have some limited implementation of this feature. The implementation in the new Windows version is based on the macOS and iOS implementations, which have more features.
Note Editor
Writing a rich text editor for notes is not easy. Back when we were at Parsons Technology doing something similar for QuickVerse 5, we paid someone $200,000 just to implement this one feature.
A few years ago, the people who define how the Web works created technology that is present now in every browser that does a lot of this work for us. It’s far from perfect, but it’s pretty good. Since we use HTML (the “language” of the Web) throughout PocketBible and render it with built-in HTML functionality that is part of the underlying operating system, it wasn’t hard to integrate this functionality into PocketBible for Android, iOS, and macOS.
When we originally started looking into re-writing PocketBible for Windows, this was one of our concerns — would we be able to use this built-in feature for editing notes? We discovered that Microsoft’s development environment was sadly deficient in this area and it became one of our main reasons for going with the Electron system I talked about in update #3. Electron includes Chromium, the guts of the Chrome browser, to provide HTML rendering in every Electron app.
The HTML editing that is built into Chromium can be difficult to use. So initially, we implemented the note editor using a free component we found called TipTap. TipTap is endlessly reconfigurable and seemed like it would meet all of our needs. We even reported that note editing was complete back in update #4. But after we got digging into this, I realized that there were little things that weren’t working at all. For example, if you copied Bible text with superscripted verse numbers into a note, TipTap would remove the superscript. If you had a note that included a table, the row and column information about the table would be removed and you’d only see the text, all run together in a blob.
Turns out TipTap was “easily reconfigurable” but required custom programming to support every single HTML feature. So there was a custom plug in required to make text bold, another one for italics, one for superscript, and another one for tables. But on closer inspection it turned out that they were sorely lacking. For example, you could create a table, but you couldn’t put borders around the table cells. And TipTap would intercept all our Bible verse links, launch a browser, and try to direct you to a site like “http://John 3:16”, which of course didn’t work. Further, if you were reading a note that you created on another platform, like PocketBible for Android or iOS, anything that TipTap didn’t recognize would be stripped from your note.
At first it looked like we just needed to update TipTap from version 1 to version 2, but that didn’t fix anything. So we bit the bullet, removed TipTap entirely, and wrote our own HTML editor based on what we’d done for other platforms. This ended up working fairly well. It’s done except for wringing out the bugs at this point.
One of the little things we noticed that turns out is a problem no matter what platform you’re on is that if you use the note editor to change the color of your notes then choose a color scheme that causes the note editor to have a dark background instead of the traditional white background with black text, you may not be able to see your notes. So the new version has an easy way to switch to a light or dark background color in case you need it to accurately view your notes.
Registration
In update #6 I said we had implemented the ability to log into your account, which is true. But we didn’t prompt you to register when you first launched the app. So that’s been implemented. You can now log into an existing account or create a new one. And the account screen in PocketBible settings/preferences will show you your Advanced Feature Set subscription status and give you options for synchronizing your notes, highlights, and bookmarks.
Current Tasks
We’re currently working on some polishing of the bookmark feature. We previously had implemented the ability to set and clear bookmarks, but not create new categories, remove categories, or rename categories. We’re well into that now. We need to do similar work with respect to highlights.
We’re also testing and tweaking the features mentioned above. While doing one thing we often discover better ways to do things that affect other parts of the program. For example, over the last couple of days I’ve revisited the “go to” pane and significantly streamlined the way it works based on work we did while implementing the note editor. This has made it more reliable by removing a couple hundred lines of code that just gave it more places it could go wrong.
We’ll soon move from the note editor to implement note searches. We have the basic user interface in place; we just need to implement the actual searching.
One behind-the-scenes task that is happening is getting us positioned to be able to create what we call a “release build”. When we build the app in its current state, it’s really suitable only for development use. It has additional panes and windows that show our developers the internal workings of the code for debugging purposes. The version you get (the “release build”) won’t have those features, of course. I want to be able to create a release build sooner rather than later so that we have time to work the bugs out of that process and get set up for beta testing.
Construction Project
I see it’s been over 3 months since I updated you on the view out our front windows. As you recall the city completely shut down and rebuilt the main street through town, which passes in front of our building. At the same time, the strip mall across the street was torn down and a new combination retail/residential building is going up in its place. Our entertainment for the last 9 months has been watching (and listening to) the construction.
The street re-opened around Thanksgiving. Work on the building continues. The exterior appears to be completely framed. Windows are being installed and bricking has begun. Something is happening on the roof but we can’t see it well enough to tell what it is — perhaps an insulation layer that goes down under what I assume will be a rubber membrane style roof. On the inside we can see electrical work being done and also fiberglass tub/shower inserts in each apartment.
A similar build is being behind this one, which will have parking underneath and 2-3 floors of apartments. We won’t be able to see that one being built
So – we can still get to that new functionality without needing a keyboard if we use a touchscreen device like a Surface? I like the look – just wasn’t quite sure (especially after seeing Ctrl+Alt+Shift+C as a shortcut 🙂 ).
Looking forward to whatever we get to use once it’s ready and do appreciate these updates along the way.
Absolutely amazing. Seems y’all have been hard at work & it is likely continuing. From the ‘sample’ screenshots here, it will likely be an exciting learning process using the new PocketBible.
Thanks for all you do for us, and God bless.
Thanks for the detailed update update! One feature that I would be interested in for your future backlog is something for sermon notes or bible study notes. The use case is that I often use the notes functionality on a verse by verse basis (btw, I love it!) but what I’d also like to do inside of Laridian is to have a way to attach an entire passage (like a chapter) and have notes that are specific for a particular study or sermon for that passage (rather than having to go through my verse by verse notes. I accomplish something similar to that by just attaching my study notes to the first verse in the chapter but it’s obviously not ideal. I think what would be better is to be able to create a study or sermon in a Laridian notes editor and then somehow link it to a passage or perhaps passages if you’re doing a topical study. Still interested in being able to apply multiple highlights to a verse or even a subsection of the verse but I’ve called that one out before. Have a blessed day and thank you for your work…I enjoy it daily!
Good stuff, Craig! Thanks for the updates. As you know, users are never satisfied ;), So:
.) In the definition of the clipboard formatting, it would be nice for me to have the scripture reference at the end of the verse/passage, on the same line as the verse, and in brackets. It is likely possible, but thought I would mention…
.) I use the AutoStudy feature of the AFS a big lot. It is really useful when you (as I do) have a lot of bibles and commentaries. One thing that would be very useful is to be able to leave the autostudy page to look up something that the autostudy has pointed out, and to be able to come back to the autostudy later
Greatly looking forward to the first release!
All the best!
Craig, I was excited to see you mention Parson’s Technology and QuickVerse. Until that software gem was passed along to other owners, it was an amazing program. I was a beta tester and worked with you and Jeff Wheeler back in the day. I’ve followed your journey away from Parson’s with great interest over the years. I’m really glad to see the Windows version getting some focused attention. Old guys like me still love using the desktop form factor.
Thanks for your commitment to the Word.
How do we enrol for beta testing?