We started work on 4.55 in mid-December to continue optimizing, fixing, and all around polishing Informant for iOS up. 6 weeks later we were ready to submit it as 4.55 and we realized that we had done enough new builds that our third segment of the version number had gone over 100 and we’ve never done that before. Due to how TestFlight Beta’s work with version numbers, we decided to make it a 4.60 release. Weird.

A lot of what we’ve been doing with the new 4.60 was working on performance issues and just basic polish. You’ll notice that the Settings in 4.60 has gotten a complete overhaul in organization. Its one page on the root screen:

4.60 Settings

and the Help/Feedback tab is now gone and instead is part of the settings page. We’ve also taken a lot of internal feedback and done some user-research to put certain settings in better places which should overall make Informant feel more streamlined.

With performance we found that a lot of issues only showed up with very specific settings that we just don’t normally put together in our own testing; I have some thoughts on that, but that’s another post. Armed with that knowledge we got a variety of different settings from customers and started to run metrics on startup and use of Informant. We found a few interesting tidbits that have now been resolved in 4.55 4.60:

  1. On iOS 8, the image loading routine no longer seems to cache common images that we use. In some areas we found huge performance delays or jittering in scrolling as the image would get reloaded over and over and over again from disk. Run it on iOS 7 – its fine. Checking a few resources found others seeing the same thing. So we do a better job reusing the images ourselves instead of relying on the OS to do so (even though the docs say we can rely on it…). Overall even if Apple fixed this bug or changed the docs, we will be in a better position.
  2. On iOS 8 we moved to a shared settings architecture so that our Widgets and Extensions would be able to read the settings. We also found that this was extremely slow. We actually fixed this in 4.54, but in 4.60 we made some more improvements.
  3. In iOS 4-6 we saw issues with trying to load iOS event data at startup without waiting for change notifications (i.e. the end result was loading the data twice, causing startup to be twice as long). In iOS 8 we noticed that at least in specific cases, those issues seem to be resolved. We can’t say 100% for sure, but it seems so and we’ve been testing now for about 3 weeks with our new assumptions. The end result however was a near 50% cut in startup time for users with iOS events and reminders.

Ultimately you should see scrolling performance in Focus, Tasks, and Notes views greatly improved – if not vastly in some cases. You should see startup performance greatly improved in a lot of cases. I’m not claiming that its perfect, but I think a lot of you will be very happy.

4.60 is being submitted to Apple very very shortly. We are doing final QA and then its about a week to ten days before Apple approves it.