Stuart Breckenridge

Introducing The FFI List v2

For the last few months I’ve been working on a significant update to The FFI List. I had three main aims with the release: migrate from Swift 2 to Swift 3, improve performance while validating saved FFIs, and add some iOS 10 specific features.

The migration from Swift 2 to Swift 3 was mostly painless. The area that required the most handholding was supporting the new NSFetchRequestResult protocol. There were so many cases where the migrator couldn’t infer the ResultType to be used.

The second improvement in v2.0 focusses on performance improvements when validating saved FFIs. In v1.x this process brought the app to a standstill if the saved list contained a significant volume. In v2.0 this is resolved — validation happens in the background and if it doesn’t complete while the app is running, it will save progress and resume when the app is reopened.

One additional new feature on the saved FFI list is when you tap on a saved FFI entry, the app will surface information relating to when the FFI was last validated.

The app has migrated to using the new core data API introduced with iOS 10. As part of this change, support for older ARMv7s devices has been dropped. Supported devices include iPhone 5s, iPad Air, iPad Mini 2, iPhone 6 (and 6 Plus), iPad Air 2, iPad Mini 3, iPad Pro, and iPhone 7 (and 7 Plus). (I also had performance concerns with older devices. When The FFI List was released, the database had ~77,000 entries while today it sits at around ~277,700 entries.)

Another iOS 10 feature that has been introduced is the new statistics widget in Notification Centre. Like all widgets, it’s an optional extra that lets you quickly see the breakup of FFI types in the FFI list.

One last thing: the app has a new website at All future updates regarding the app will be posted there unless they are of technical nature (in which case, I’ll post them here).