❌

Reading view

Banktivity Document Model and Rewrite

Ian Gillespie (2025):

Banktivity has traditionally been what’s known as a document-based app. It lets you create and open independent files (or documents), each with its own data. In contrast, many modern appsβ€”Music, Calendar, Photosβ€”are library-based. These apps typically have a single window and a unified data set.

We’ve long appreciated the flexibility our document model provides. But in practice, most of our customers use only a single file. And more critically, this architecture makes it much harder to integrate Banktivity with the broader Apple ecosystem.

[…]

The shift from a document-based model to the new Organizer framework marks a major step forward for Banktivity. It simplifies how users interact with their data while laying the foundation for deeper system integration, background syncing, and a more seamless multi-device experience.

This follows MoneyWell also getting rid of the document model. From my perspective, it’s a shame. I prefer the flexibility of being able to have different accounts in different documents, choosing where to store the documents, and even splitting the same account across multiple documents for performance reasons.

Ian Gillespie (2025):

Ledgers contain an entire, independent set of accounts, categories, investments, goals, budget and so on. Many customers will only have one Ledger for the finances they manage. But we also know there is a good number of customers out there that manage finances across family members, non-profits and small businesses – for these customers, support for multiple Ledgers is crucial.

[…]

While UI is what you see, most of the hard work has been in the architecture. The Library framework β€” the backbone that replaces our old document system β€” is in place. That means we can now reliably connect your Banktivity User Account with all of your Ledgers, whether local or synced to the cloud.

Ian Gillespie:

Refactoring Banktivity from a document-based app into a library-style app was a significant undertaking. It changed some very fundamental assumptions in the code. Ledgers can now be opened and closed in the background, multiple windows and scenes can be active at once, and the Organizer has to coordinate local files, cloud sync, user accounts and application state in ways the old document architecture never had to.

Banktivity 10.0 laid the foundation for that transition. With Banktivity 10.1, a major focus has been strengthening that foundation. We’ve spent a lot of time simplifying the underlying architecture, eliminating race conditions and threading issues, and improving how ledgers are opened, closed and managed.

Previously:

  •  

Unforgetful 1.0

Marco Arment:

Unforgetful isn’t a new productivity system to learn.

[…]

This is designed for a small number of short-term tasks. What do you need to do today, tomorrow, this week, or this month?

[…]

If you want tagging, folders, archives, or other ways to organize or file away tasks, this isn’t the app you’re looking for.

Unforgetful is for people who know that if they file away a task, it never gets done.

I’m an OmniFocus person. I love tagging, folders, and archives; I never want to see a notification for a to-do item. I prefer pull to push. So this is absolutely not the right tool for me. But I like the fresh thinking behind this app and how the various design choices interact to make it an opinionated tool for the right type of person.

Marco Arment:

Calendar alarms changed my life. Events without alarms don’t happen.

[…]

Most of my Reminders interaction has always been via Siri and notifications. And that fits me very well, with three major exceptions:

  1. If I say β€œRemind me to buy milk,” but I forget to specify a time (or Siri misses it), Reminders will never notify me, and I’ll never check the app, so it’ll be lost.
  2. If I inadvertently dismiss a Reminders notification without snoozing it, Reminders will never notify me about it again, so it’ll be lost.
  3. When I do snooze a Reminders notification, which I do a lot, the snooze options suck.

He has good solutions to these and other problems. I’m tempted to try out Unforgetful just for the purported quick capture of dictated reminders, however there’s no watch app.

Listen to Accidental Tech Podcast to hear about unfortunate limitations of EventKit. Reminders itself is interesting to me in that the (private) data model is now so rich, but I’m put off by the UI, the lack of export, and the limited support for driving it from the keyboard.

Previously:

  •  
❌