Running the Windows App on a Windows PC
We spent some time this month bringing the program up on a Windows machine to see how it’s working. This may seem odd, since it is a Windows app, after all. But the fact is that we’ve been doing all our development and testing on our Macs. We can do this because even though the app is being developed for a single platform (Windows) it’s being done with tools that support Windows, macOS, and Linux. That works great for us since we’re 100% Mac-based here.
One of the things we wanted to verify was that the application menu was functioning correctly on Windows. As you may know, app menus on macOS are “disconnected” from the application’s window. And every application has a special menu identified by the name of the app. So PocketBible for macOS has a “PocketBible” menu that is where you’ll find “About PocketBible”, “PocketBible Preferences”, “Check for Updates” and other application-level commands. Windows is different. There is no standard place for some of these items. So we spent some time organizing the way the menu appears on Windows.
Windows also handles “keyboard shortcuts” differently. These are the key combinations that are assigned to certain operations of the app, like Ctrl+C to copy and F10 to activate the menu. On the Mac, you define these by associating them with menu items. The operating system allows you to redefine which shortcut keys go with which operations in any of your apps. Not so in Windows. So we spent some time verifying that we could handle keyboard shortcuts correctly and coming up with simple ways to route these commands through the app.
Back-End Server Updates
When we release PocketBible for a new operating system (what we generally refer to as a new “platform”), we have to populate a database on our server with all the books and Bibles that will be available for it. It’s a bit of a milestone to have created those new database records, which has happened since we last met. Prior to this, the new Windows app had been pretending to be the macOS app every time it talked to the server to either shop in the in-app store or view a list of all the books owned by the currently logged-in user. With this database update, the new app can drop the charade and just be itself.
Highlights
Basic highlight functionality was already working. We took some time to take a close look at the highlights study panel pane to make sure everything was there that we needed. We added functionality to remove all the highlights of a selected color, and to change highlights in one color to another color. While removing highlights of a selected color, we also added a way to remove all your highlights from the entire Bible. I don’t think we’ve implemented these features on other platforms.
In the right-click or context menu, we added a “most-recently used colors” list to the top of the menu to make it easy to get to the colors you use most often. This is something we implemented first in PocketBible for iOS. Again in keeping with the iOS version of PocketBible, we moved the highlight eraser to the top of the list of colors to make it easier to find and get to.
If you own the Advanced Feature Set, you’ll be able to rename your colors. Even though we’re delaying AFS features to the end of the project, we went ahead and implemented that one while we were working on highlights.
Bookmarks
We also reviewed the status of bookmarks. We implemented “create a bookmark category” from the bookmarks pane in the study panel and will have it implemented from the context menu by the time you read this.
We added a feature to move bookmarks from one category to another. I don’t believe this feature exists in any other version of PocketBible. We also added a feature to remove all your bookmarks. This is something we have had to do for people on the server before; it will be much easier if you can do it yourself.
Menus and Toolbar
While we were looking at menus, we also looked at the toolbar, since toolbar buttons and menu items are handled similarly in the app. We compared the new Windows app to the current macOS app to make sure we had thought of everything and added some menu items and toolbar buttons we hadn’t yet implemented.
Among these were the following. Unless otherwise noted, we added a keyboard shortcut, a toolbar button, and implemented the functionality:
- About This Book – Shows information about the active book.
- Toggle Word Attributes (Strong’s Numbers) – Implemented and also added a “toast” — a brief message that is shown to indicate the state of this option (on or off).
- Sync Bibles/Commentaries to Active Bible – When the global setting is turned off, this menu item/toolbar button will allow you to tell your Bibles and commentaries to sync up to the current verse in the active Bible.
- Sync Now – Sync your data with the server manually whether automatic sync is on or off at the time. Also added a progress bar on the Account Preferences screen and an indicator on the toolbar to show this activity is happening.
- About PocketBible — Version, build date, copyright and other info about the app.
- Help — Show the User’s Guide (either open it or make it active if it’s already open).
- Help on the Web — Related to opening the User’s Guide, this option takes you to the FAQ on our website.
- Start Each Verse on New Line
- Hide Verse Numbers
- Toggle Sync Bibles/Commentaries
- Footnote Style — control whether you want to display just asterisks in the place of footnotes, show the entire note, or hide footnotes entirely.
- Toggle Words of Christ in Color
- Copy Passage — Added a toolbar button. This was already implemented and connected to the menu and context (right-click) menu.
- Mark Current Reading as Complete
- Go To Today’s Reading — This was already implemented as a button on the Go To… pane. In addition to adding the toolbar button and menu item, we implemented the feature that allows you to go to today’s reading in all your open devotionals when you go to today’s reading in the active devotional.
On the subject of the toolbar, we made some adjustments so that right-click on the toolbar allows you to customize it, and turned the Preferences (or Settings) button into a “Close Preferences” button when you are in the Preferences screens.
On the subject of menus, we created a way for menus to be adjusted when your Advanced Feature Set subscription is enabled or disabled. The AFS features themselves haven’t been implemented yet but we need to support the mechanisms you use to activate those features.
Other Miscellaneous Features
- Implemented a way to choose “preferred books” so that when you select a Bible link with no Bibles visible, we know which Bible to try to use. Similar behavior happens with commentaries and dictionaries.
- The “expand pane to fullscreen” feature was temporarily removed. I think it’s going to end up being an AFS feature and will be implemented similar to how we do it on the Mac. The way we were planning to do it for Windows just won’t work.
- Made links to Web pages and email addresses open the appropriate external app.
- When opening a book in a pane where that book is already open, we just activate the existing tab instead of creating a second one. Similarly, if you drag a tab from one pane to another, if the book is already open in the target pane we remove it and replace it with the dragged tab.
Just a normal “We did seventeen thousand things, and made it look easy” update.
Again, thanks for everything you all are doing. And I’m glad some of the updates (remove all bookmarks) helps lighten your load. That’s stuff we never see, and so don’t know you’re carrying that load.
Looks pretty good. Will there be any tweaks to adjusting the Devotional Reading plan dates? I try to do that now w/ PocketBible, but can never seem to get things right. Sometimes I just want to “catch up” by marking everything read to a certain point and then start at that point. Sometimes I want to reset. Sometimes I just want to adjust the current date. But no matter what, I always seem to do the wrong thing and messing up my reading plan. 🙂
I’m hoping for the ability to sync commentaries without syncing Bibles. My main use would be to keep commentaries synced with the active Bible pane, but have other Bible panes keep their current location. For example, having the primary pane open to John 13, where Jesus predicts Peter’s denial, with commentaries syncing, while also having a parallel passage, say Luke 22, open, without syncing. Then if I make the Luke window active, the commentaries sync to that without affecting the John 13 pane. Is that a possibility?
Thanks for the update! I’d enjoy working with you on this project but, alas, it would be difficult to work in an “all Apple” environment. I’d feel alone! (jk)
Yeah on the “sync groups” — that wouldn’t be complicated for Windows users. (just a small dig on Apple users, ah, I’ll relent.) But srsly, a top-level general option to allow sync groups or not (default: No sync groups), and then a sync groups tab under options (however you decided to implement options) that allows one to /name/ a sync group, and /assign/ books to a sync group.
I’d go a step further and allow a panel/book into “Sync group A” and another panel/SAME BOOK into “Sync group B”, thus my NKJV in group A will sync together with everything else in ‘A’ and my NKJV (different panel) will sybc together with everything else in ‘B’.
Too much? I’ve always felt if it can be done then it should be done. I want options.
But ignore me. I’m just really happy you are doing this as much as I like the current PocketBible version for Windows. There are several things I see which could be improved.
Please just fix how PocketBible forgets all my window settings and I have to start over creating panels and sizing them correctly.
Thanks so much for all your work!!
Ed
More great progress…thanks
When ready to roll out, will the upgrade be automatic or will we have the option to delay upgrading and stay on the current Win. Version?
Are there features that will be Win11 but not Win10?
Not a Windows version specific question, but:
I use the reading plans (which I like a lot), but I seldom read a single day’s set of passages per day. Sometimes, I read less, sometimes more. I’d like an easy way to track my progress via passage, rather then day. For example, in Horner’s there are 10 passages for “today” (Aug 9, 2022). I’ve read those, and a few of the passages for tomorrow. I’ve marked today as “read”, but I’d also like to mark the first few passages in tomorrow’s section as “read” also. This would make keeping track MUCH easier (I control the dates using the “Catch Up / Mark First Unread Tomorrow” function).
Thanks for considering this for the future! AFTER the new Windows version is released! 🙂
I notice in you highlight color window, above, the font used in the names of the colors is universally black. There is a color of deep red used as a highlight color that basically masks the text it highlights. The solution is when highlighting with this deep red color to switch the text color to white. This is what you do on the iPhone version. Just want to make sure that’s what you intend for this version.
Also, currently when The New Testament for Everyone is open in a sync’ed pane, there are several verse locations that cause the app to crash, unlike on the iPhone (Allen has confirmed this). Perhaps the NTFE would be, therefore, good test data.
I would like a way of moving books up or down the list of open books. Can you do this in the new Windows version (and other platforms too)? That way I can put the open books in order by my preference. When I currently have the list built up in the order I like it, sometimes I delete one of the books by mistake. When I reopen that book, it goes to the bottom of the list and I have to scroll down to find it, rather than it being at or near the top of the list. It would be a great help to be able to move books up or down in the open books list. Thank you in advance for considering adding this feature.
Good reply Craig!
Craig, actually the fact that you developed a Windows application without touching a Windows PC is fantastic (of course, testing a Windows application in Windows is also important). That means you have chosen a cross platform development environment which can lead to a very productive future for the many platforms you support. Some of the best applications out there are doing this, with tremendous benefits (and headaches in the transition from the old siloed development environments). Keep up the excellent work. I’m eager to give it a test drive! Best to you and your team for so much faithfulness in the Kingdom of God for decades!
Any new updates? Kinda struggling with Fruit of the Spirit #4. 🙂
Good morning Craig,
I just checked the Windows update status. Believe it or not, I use both the Windows and the iOS (iPad) versions of PocketBible, often simultaneously. So I really look forward to updating the Windows version to something closer to the iOS version.
So, my question, what is the eta for the launch of the new PB for Windows?
Thanks,
Rick