Hi, this is Ian checking in again to give you an update on what we’ve been working on since our last post this past spring.

Since I last wrote, Apple held WWDC (World Wide Developers Conference) and unveiled some of their new technologies and features like Passkeys, Stage Manager, WeatherKit and more. Unsurprisingly, they also announced iOS 16, iPadOS 16 and macOS 13 Ventura. We’ve been watching these operating systems closely and we want to make sure Banktivity plays nice with them once they are officially released.

Behind the scenes here our engineers have been hard at work on three major areas: iOS reports, scheduled transactions and something we haven’t talked about previously, push notifications.

iOS report update

We’ve made great strides in bringing reports to iOS. While we’ve had the contents of supported reports looking good on iOS for a while, we’ve spent the last several months implementing editing functionality. On Mac, this is the little popover you get where you can edit the report title, which accounts to include, the date range and so on. Despite its small size, there is a lot of UI complexity there and you can see it looks great on iOS now. (For those interested, this UI was built with SwiftUI, Apple’s latest framework for making user interfaces.) Check out these screenshots:

Report editor when it first appears. Tapping the different sections expands them in place to reveal additional options.
Report editor showing a subset of date range options and the account rules.
Report editor showing the screen where you can manually select which accounts to include/exclude in the report.

We have the editor done for the net worth report, but there is more work to do to get it playing nice with some of the other supported report types. If you didn’t notice it, there are still a few cosmetic issues to address, but I don’t anticipate those taking too much time.

Scheduled transactions update

The hardest work of implementing more flexible scheduled transactions is done. With a build of the app I have, I can schedule for dates like this:

  • Last Friday of the month
  • Every Tuesday of each week
  • First Monday of each month
  • Last Wednesday of each month
  • Second Sunday of June each year

We put in this new flexibility without breaking existing scheduled transactions in your Banktivity documents (and there was much rejoicing). Here is what the UI looks like on Mac, notice the “Custom” checkbox:

New scheduled transaction options for what we often refer to internally as “fuzzy date” support.

Importantly, this feature is being rolled out on Mac and iOS simultaneously – including support for editing the new “custom” date options on iOS.

We still need to implement the UI for these new options in the scheduled transaction editor assistant on Mac. Once that is done, this feature will be complete.

Push Notifications

One of the features we’ve been working on that we haven’t yet talked about is push notifications. Supporting push notifications is something we’ve thought about a lot over the years but it never made it above the cut list when it came time to commit to features. Fortunately, with our move to subscription and our continued investment in our end-to-end encrypted cloud sync, some use cases percolated to the top and it’s finally time to make it happen.

Push notifications for a better cloud sync experience

Ironically, one of the first push notification we are going live with is one you won’t actually see 🙂 I know that sounds, funny, but Apple’s push notification system allows for “background notifications” that are never presented to a customer to interact with. We are using this type of notification to improve the customer experience with cloud sync. For a refresher on how our end-to-end encrypted cloud sync works, check out this page.

I’ll now dive into how we will use these background notifications to improve our cloud sync service. When a Banktivity cloud sync occurs on any device, our app will send a message to our server saying, “hey, I just pushed some new data up.” The other devices will then receive a background notification that says, “hey, if document ‘A’ is open, you should do a sync, because we just got notified that there are new changes waiting for you.” From a customer standpoint, all of this boils down to a better experience because it means that if you leave your document open, the next time you look at it, you’ll have the most recent data from the sync server. No need to do another network call and refresh. Boom! It will just be there.

There are some limitations with this. For example, if the app isn’t running, it won’t launch in the background and update. Or if you have push notifications disabled entirely, this obviously won’t work either.

Push notifications for a better subscription experience

When you rely on Banktivity to manage your finances, no one likes an interruption in service because of a subscription lapse. (However, I will point out that if you pay once and let your subscription lapse, the app keeps working in “manual mode”, just the connected services like bank downloads and cloud sync stop working.) We try hard to make sure that your account is in good standing if you plan on renewing. We send emails, update information in the app to indicate the state of your subscription. And now, we will also send a push notification letting you know if there is a problem.

With our push notification framework now built out, it will be easier to implement new notifications in the future. We haven’t committed to anymore now, but potential is high. What sort of notifications would you like to see arriving on your devices?

Document pruning

In my last post, I talked about a feature we want to build that will essentially allow you to slim down your existing Banktivity document. We haven’t started to dive into this code yet so I don’t have much to report except that we are still planning on implementing it for Banktivity 9.

Conclusions

I hope you all find this behind-the-scenes look at the development of Banktivity helpful and insightful. I’m getting pretty excited for our next release. We seem to be at the point in the development cycle when the last 20% feels like it is taking 80% of the time!

Hope you all have been having a nice summer (or if you are in the Southern Hemisphere, a nice winter!)

Follow IGG
Latest posts by Ian Gillespie (see all)

11 comments on “Let’s look at the reports

  • Thanks for the update. Looking forward to the new features especially reports on iOS. I primarily use the iPad version so that will be good to have. Gotta say, the iPad version has been very stable and performing nicely as of late… seems the “views” (and other) issues have been straightened out. Keep up the good work!

  • Thanks for the update Ian. I look forward to the more detailed reporting and scheduled transactions. However, I seriously wish that more was being done about all the DA2 issues. My primary financial institution has been unable to get connected for over 8 months now, and another used to work but now has serious problems. The only response I ever get is that the problems “are being worked on”. Does the connection team never attempt to remote to someone’s computer in order to experience the actual problem? At times, I don’t think there is a complete understanding of my issues.

  • Looking good.

    I’d like to see things like account groups on iOS syncing from the macOS version. It would also be nice to have a bit more colour in the ledger & sidebar so scanning transactions/account balances is easier (eg. red for debits/negative, green for credits/positive). I see that deposits ARE green on the iOS version of Banktivity which is interesting.

    • Ditto would love to see more colour in the ledger as an option. I know the product wants to support colour-blind customers but an option would be the best compromise.

      Would like to see notifications of transactions posted in the background.

      Hoping for a calendar option that allows you to start the week on a Monday

      Hoping new scheduling will support first and last day of the month.

  • Per some earlier posts, I completely endorse the need for account groups syncing between MacOS and iOS.

    Also, the single most valuable improvement I can request – other than better syncing between MacOS and iOS – is the option of scheduling ‘Only Once’.

    • Yes, this should be simple (but perhaps not behind-the-scenes?) as you can already do this by creating a schedule and then setting it to ‘stop after 1 time’.

      But if that’s possible, this behaviour should be able to be implemented with a simple check box on the initial dialog box, without having to go into the scheduling ‘details’ page.

Leave a Reply

Your email address will not be published. Required fields are marked *