This week brings the release of iOS 7 from Apple. As this new version of the operating system rolls out to more and more devices we’re beginning to hear from you about what’s working and what’s not. I want to take a minute to tell you how to work around the one problem we know about, then tell you what we’re doing to fix that, then tell you what I think about all this. Since that flows from absolutely important to “who cares?”, you can stop reading as soon as your questions are answered.
“Go To Verse” on the iPad
iOS 7 removed a feature of “popover views” (the box that pops up out of the toolbar to show you our “go to verse” buttons) that allowed developers to specify the size of the contents they were putting in the view if that size changes after the initial contents are placed. As a result, after you choose a book, the view gets resized to its default size, and the chapter buttons get cut off.
There are two work-arounds for this:
- Press the button in the upper left corner to go back to the list of books and choose your book again. This little bit of magic seems to break Apple’s concentration and they quit trying to resize the view.
- Choose a different go-to method for the time being. To do this, go to the Settings menu, scroll down to Program Settings, and choose a different Bible Verse Selection method. There are two other than the book/chapter/verse buttons that are the default: The Calculator method and the Spinner method. Of the two, the spinner is the easiest to use and is less quirky. Choose the Spinner and work your way out of the Settings menu. Next time you choose Go To, you’ll see the Spinner instead of the buttons.
There are other small cosmetic issues you may or may not notice as you use the program. We don’t know of anything that affects the actual function or usability of the program beyond the one mentioned above.
What We’re Doing About It
While developers have had access to beta versions of the iOS 7 developer’s toolkit for several months, we’ve found in the past that you can waste a lot of time chasing the changing specifications of the new version of the operating system if you start your work too early. For iOS 6, many developers were stunned to discover the apps they developed and uploaded to the App Store using the final beta version (which was approved by Apple for submission to the App Store) did not function correctly on the final released version of iOS 6. They had to scramble to make changes. So with all this in mind, and after reviewing the new features in iOS 7, we decided to wait until we had a version of the developer’s toolkit that was closer to final.
We’re working on version 3.0 of PocketBible, which will be fully iOS 7 compatible. Most of the changes we have to make are user interface related. That is, tweaking colors and behavior of the UI to match the new, flat look of iOS 7. There are several new features in PocketBible 3, but these have been in beta for a few weeks now and are in pretty good shape. In particular:
- Advanced Feature Set – New Features
- Journal Notes allow you to take notes that are not associated with any particular Bible verse.
- Assign names to your highlight colors.
- Features in the Standard (Free) Version
- Autosync feature allows you to synchronize your user data (notes, highlights, bookmarks, etc.) with the Laridian cloud automatically in the background while you continue to work. Manual sync is still available if you prefer.
- Synchronization speed is improved.
- Added underline styles (underline, dotted, and dashed) to the list of highlight choices.
- Display one verse per paragraph (start each verse on a new line).
- Support iOS swipe gestures to delete notes, highlights, bookmarks, etc. from lists of those items.
- When deleting a bookmark category, the bookmarks themselves are deleted (instead of being moved to “uncategorized”
- Added “Email Passage” and “Text Passage” to the list of “Passage Actions”.
- Various speed improvements and minor bug fixes.
This version of PocketBible will be uploaded to the App Store soon. We’re still working through all the issues brought about by the release of iOS 7. In the meantime, the only thing you really need to do is change your go-to-verse method.
So What Do We Think About All This
One of the frustrations with our industry as a whole and Apple in particular is the pace at which it changes. Most of the changes in iOS 7 that affect us are cosmetic. Apple has decided that it’s their user interface, not their limited availability and high price, that negatively impacts their sales. So they spent a lot of time turning everything flat, gray, and translucent. Many of those changes are applied to programs automatically, but not all of them are implemented well.
For example, in the intrest of transparency, the system status bar (the signal strength indicator and clock across the top) is now transparent. That’s great, but our app is used to a solid status bar and would never bother to put anything behind it. Now, since that bar is transparent, the OS tells us it isn’t there and tricks us into writing under it. So when the status bar is laid over top, it just is unreadable since it’s either black or white text on top of a white page of black text. So we had to take the time to create a little colored rectangle to put under the status bar so you can see it.
While changing the look of table views (those lists of contacts, appointments, settings, etc. that you see all over iOS), they decided the headings between groups of choices should ALWAYS BE UPPER CASE. So it looks like THE PHONE IS YELLING AT YOU all the time. Furthermore, they limited the text to six lines without documenting the limit nor truncating the text. So it’s possible for text to flow over the list items. This would be fine if they provided a way to say DON’T YELL AT ME but they didn’t. So we had to implement custom text views to put in those locations.
This is all characteristic of a philosophy that has little sense of history or the importance of supporting existing apps, existing versions of the OS, or existing hardware. For example, PocketBible 3 will be compatible with iOS 5 devices, but you won’t find much, if any, mention of iOS 5 from Apple. I know people running iOS 4 and 5 who just never bother to plug their device into their PC/Mac to download updates. It’s working for them, so why bother? I’m typing this blog article on a PC running Windows XP. It works great. Why upgrade? Apple doesn’t understand this idea. They assume everyone rushes out and buys a new phone every year or two, or they at least upgrade the operating system every time an update is available.
As a result of this blindness to the past, it’s not unusual to discover that something is broken in the OS and it’s just never going to get fixed. For example, we depend on a particular method being called (viewWillDisappear:) when one of our “dialog boxes” is dismissed. I found out yesterday that iOS 7 breaks that rule (it’s been around since version 2) in certain cases. As a result, instead of one programmer at Apple fixing one bug, it creates millions of bugs in hundreds of thousands of apps, and each of those hundreds of thousands of programmers has to take an hour or two to figure out how to work around it. Apple doesn’t care because programmers who start programming new apps tomorrow will never know any differenc and will always code as if viewWillDisappear: won’t always be called, and they are the only ones who matter.
It’s as if Apple has incubation pods where they harvest new programmers. They pull them out of their drawer and they start writing code with no sense of what came before. A year later, after working 24×7 with no sleep, they are recycled to feed the next batch, which are harvested just in time to release the next unnecessary update to the operating system.
We’re still in the process of making changes, but this is just a couple little things we’ve run into in the process of moving PocketBible to iOS 7. We think you’ll like PocketBible 3 when we’re done, but it’s going to take a couple more weeks to get there. In the meantime, change your go-to-verse settings and 2.0.6 will continue to work fine.