Codebook Free Trials Replaces Codebook Lite

2018-11-01 08:00:00 -0400

Codebook Lite was originally introduced alongside Codebook to allow users a free option to try Codebook for iOS before they purchased. Now with the release of Codebook 3.6.0 we’ve introduced a 14-Day Free Trial option within Codebook. Because this functionality is now built into Codebook, we’re planning on discontinuing Codebook Lite development, so we can focus all our ongoing efforts on standard Codebook.

Similarly, standard Codebook has been a universal app (which works on both iPhone and iPad) now for a while and we’ve been phasing out Codebook for iPad (Legacy) for about a year, so we’re planning on pulling the plug at the same time as Codebook Lite.

Codebook Lite and Codebook for iPad Legacy will be fully removed from the App Store on January 1st, 2019. Please make sure to migrate your data to Codebook prior to this date or data loss could occur.

Migration Steps

Codebook Lite

Codebook for iPad Legacy

  1. Download the Codebook universal app
  2. Use the Codebook sync feature to sync your data from Codebook for iPad Legacy to a cloud service or a Desktop copy of Codebook.
  3. During the setup process for Codebook, you’ll be given the opportunity to use the sync feature to restore from the service or Desktop you synced with in step 2
  4. Once you’ve verified the data from Codebook for iPad legacy synced over to the new Codebook for iOS installation, feel free to delete the Codebook for iPad Legacy app

Codebook Password AutoFill and Free Trials on iOS

2018-09-18 20:00:00 -0400

Big news, folks! Codebook for iOS version 3.6.0 is available now in the App Store with support for the AutoFill Passwords feature in iOS 12. Here’s a quick demo video we made to show you how it works.

This feature requires iOS 12; if you can’t upgrade your version of iOS just yet check out Find in Codebook, which is quite similar if not as convenient.

Another big change in this version is that we are making Codebook free to download. Don’t freak out, we are not switching to a “freemium” model! Instead, Codebook will be free to try before you buy, and everyone who’s already bought the app is grandfathered in.

Until now Codebook for iOS has been available for an up-front, one time purchase of $9.99. Starting with the version 3.6.0, we’ll be making the app free to download, and free to use for two weeks, after which an In-App Purchase of Codebook Pro is required to unlock the editing and sync capabilities. Codebook Pro is a one-time purchase of $9.99, additional purchases are not required to use it with more than one device as long as you are using the same Apple ID in the App Store.

If you purchased Codebook for iOS before version 3.6.0, you are exempt from our use of In-App Purchases, because you paid up-front for the app, sight unseen, cash on the barrel, without even being able to try it first! We remain deeply grateful for your support. You will not be prompted to make an In-App Purchase, but you can see your grandfathered license status on the Settings view.

There are a few other minor changes to round out this release posted over on our discussion forum. Drop on by and let us know what you think!

Codebook Search Scopes

2018-04-24 11:00:00 -0400

The recent releases of Codebook for Windows and Codebook for macOS include a new search scope feature. Previously, searching within Codebook compared the search value against Entry names and Field values, which works great if you’re quickly trying to locate a record or specific data (i.e. Amazon, Chase Visa, records with a specific email address etc.).

We’ve run into situations ourselves and had users ask about searching over specific Label names as well (i.e. any record that has a “Password” label, or “Email” label). Some common usage scenarios we’ve come across related to this are:

  1. Your bank issues you a new card and you need to replace all records that contain the old credit card number (Search over “Credit Card” Label).
  2. You’re searching for data that you may not know the value of but you know the label name for (i.e. SSN, Bank Account #, License keys, Secret Question)

Codebook Search Scope from Zetetic on Vimeo.

The search scope feature also allows you to search over just Entry names or Field values (without having to search over both). For example, maybe you have an Entry named “Mike Gmail Account”, but you have many other entries that have email field values that contain your email address “”, if you search for “mike” it will return every single entry that contains your email, along with the actual one you’re searching for “Mike Gmail Account”. But if you only check “Entries” under search scope, it will only search for entries that contain “mike” in the entry name.

Report from Teki Con

2018-03-22 07:00:00 -0400

Last week two of our developers, Micah Moore and Billy Gray, attended Teki Con, a three-day, single-track iOS development conference in Atlanta, Georgia hosted by Catamaran, LLC. Getting into WWDC can be tough these days so we’ve had our eye out for a focused and advanced discussion of iOS development and we sure got it! Among the speakers were a number of developers we already follow, and some seriously big names discussing application architecture and code design (did you know MVC stands for “Massive View Controller”? 😜). There were also quite a few speaking who were new to us and taught us a lot. Every session was fantastic, whether it was on the trials and travails of running a viral app, category theory (“a monad is just a monoid in the category of endofunctors”), accessibility, developer tools and debugging, or philosophy and approaches to common development patterns.

The tiki theme of the event wasn’t just a name—it kicked off with a wonderful hula dance performance and Mike Lee’s talk, “We’re Doing It Wrong,” which was chockfull of interesting facts about Hawai’i and how its culture evolved over time in his discussion of how we can better approach our work and the world around us.

Many of the speakers, including Michael Ayers, Krzysztof Zabłocki, and Dave DeLong (yep, a UIKit engineer!) focused on app architecture, in particular on coordinators and composition, as well as diving into how to use either delegation or dependency injection to keep an app true to its design pattern, whether that’s MVC or MVVM.

Among the more elucidating observations was perhaps the nut of Dave DeLong’s talk:

UIViewController is not a controller, it’s a view!”

He put this gif up on his slide right then, it ably demonstrates the profound affect this had on us. The name of this UIKit component has tended to suggest we use it in a way we should not, and over the years the documentation from Apple has also suggested it, creating a perceived conflict between what’s being advised and staying faithful to an MVC or MVVM design pattern. This perspective frees us from some concerns that have made us wary of experimentation.

The third day of the conference was set aside for labs, two awesome workshops run by Big Nerd Ranch. We had the choice between labs on advanced auto layout and advanced iOS performance; we chose the latter as it was of particular interest for some new things we are looking into. The lab was an abbreviated form of BNR’s day-long training classes on the same topic, and included a course book in PDF form along with before-and-after Xcode projects for each of the problems we worked on. The course instructors did a great job taking us though advanced uses of operation queues, Grand Central Dispatch, and layer transformations and animations. It was a bit of a crash course for both of us in Swift (we’re still new to the language, we seemed to be among the few primarily obj-c attendees who understand retain/release and what a zombie object is!) but it was quite a lot of fun and pretty easy for us to follow along.

Long story short: we highly recommend attending Teki Con assuming they hold it again next year! Kudos to Jonathan Crockett and Stephen Elliot for putting together such a great speaker line-up and conference.

SQLCipher 3.4.2 Release

2017-12-22 07:00:00 -0500

We are happy to announce SQLCipher 3.4.2 has been released. This release includes integration of the upstream SQLite release 3.20.1. Along with the many improvements included in SQLite, several of our client libraries included some nice additions with this release.

More details and instructions for accessing the latest version can be found in our official release announcement here.