Latest update: January 21, 2020
This entire section of the YENCO.COM site pulling together the latest up-to-date information on the status of my macOS apps.
My current macOS apps (Archive, Finance, and iKeeper) were created using an amazing third-party developer tool called SuperCard. Unfortunately SuperCard is a 32-bit app that creates 32-bit apps and with macOS Catalina, and going forward, Apple now requires applications to be 64-bit in order to run. While the makers of SuperCard have expressed interest in developing a 64-bit version eventually, it remains unclear at this time if, or when, that will happen. It is certainly no easy task to rewrite any app, and especially one with the complexity of SuperCard which, as a developer tool, needs to be many things to many different people. While my current apps WILL NOT RUN in macOS Catalina, they continue to work exceptionally well with macOS Mojave 10.14.6 and earlier. If you rely on Archive, Finance or iKeeper, I can only recommend holding off on upgrading to macOS Catalina at this time until I can bring my apps to 64-bit.
When Apple first unveiled their new Swift programming language, out of curiosity, I took a look at it and was pleasantly surprised at how approachable and, at least for basic programming concepts, similar to SuperCard it was. I decided to explore this further. At the time, SuperCard was going through another update to fix a bunch of things that Apple had broken with a macOS update (something that was becoming a more frequent occurrence) and I figured reading some iBooks about Swift and trying out Xcode would be a cool way to pass some time as I waited. I soon realized that while there was some overlap of basic programming concepts, there were also a lot of new concepts that were unfamiliar and it would take me some time to fully wrap my head around them, but I also recognized that there was some merit in learning Swift and Xcode as a long-term goal. And then the SuperCard update became available and I was able to get back to work and release some upgrades for my apps. So a dual strategy took shape: I would continue to update my apps with SuperCard as I gradually learned Xcode and Swift as an eventual replacement. And then the aforementioned 64-bit requirement came along.
With macOS Catalina the plan changed. I stepped up the pace. I read more iBooks about Swift and Xcode. I conducted more involved experiments using Xcode and Swift. I now find myself in a race to understand Xcode and Swift enough to completely write updates to all of my macOS apps from scratch. This is still all very new to me and so I have decided to do a bit of triage. The plan is to forego some of the more advanced and secondary features in my current apps and create versions that cover the basic features starting with the app with the simplest code and working my way through to the app with the most complex code. As a result, the first project I’m working on is iKeeper 6 (and this will be followed with Finance 9 and then Archive 9).
If you must upgrade to macOS 10.15 or later, I STRONGLY RECOMMEND turning OFF password protection in my Finance and iKeeper apps (if you are using that feature) BEFORE you upgrade (you WILL NOT be able to do this after installing Catalina because my current apps WILL NOT RUN). There are two reasons for turning off the password protection: First, it will ensure that you can, at the very least, use any 64-bit SQLite database app to read the data you have entered into my apps (although it won’t be as organized or useful as a dedicated app, it will at least give you a way to access your information). Second, it will help you to move to a newer version of my apps built with Xcode and Swift. Right now it seems highly unlikely that the first new versions of my apps will have a password protection feature at all or, even if they do, that it would work in a way that is backward compatible to what I did in my SuperCard-based apps.
I am making progress writing a completely new app from scratch to cover the essential basic features of iKeeper in Xcode and Swift. There are some features that took quite a while to set up in SuperCard that have taken just a few minutes to accomplish in Xcode and Swift, while there are other features that I could accomplish in minutes with SuperCard that have taken months to figure out in Xcode and Swift. There are complicated things that are surprisingly easy to do, and simple things that are surprisingly complicated. Every time I start to think that things are going really well and maybe I’m getting the hang of this, there consistently seems to be something unexpected that pops up and completely derails that momentum. And so, at this point, I’m making no estimates on when iKeeper 6 will be finished because I don’t want to get your hopes up (or mine since I also use my apps).
That said, there have been some pretty cool moments on this journey so far. The entire application interface for iKeeper 6 has been set up. I have tried to preserve most of the look-and-feel of iKeeper 5 while at the same time taking advantage of some new options (such as retina display support and dark mode) that were just not available to me in SuperCard. The data entry window opens (for creating a new record) and displays the correct fields for the mode you are in (it can’t save yet). I have created a new calendar date picker. Links for websites work to open the default web browser and take you to the site. Links for email work to open the default email client and create a new message addressed to the proper contact. It can display large type for phone numbers in product information. Certain interface elements appear or disappear as intended based on the state of checkboxes. It can read in existing iKeeper 5 preferences or create new preferences if you are new to the app. It can read in an existing iKeeper 5 SQLite database file (without password protection) or create a new one if you are new to the app. And most recently, after something of a rollercoaster where it was working over a month ago but had a minor display problem, was changed around to fix that problem but then stopped working entirely (with no error), and then finally a very simple thing was found to have been throwing it off (which may be an Apple bug), iKeeper now displays an overview list of all password or product records in a genuine list control (which also means that the main iKeeper window can now be resized - addressing some long-standing user feedback - yes I do read user feedback and act on it when I can).
There is still much to be done. Now that the overview list is finally working (again), it still has to be connected up to the data entry window to display full record details. I can then work on making sure new and updated information is saved back to the SQLite database. Basic searching still has to be worked out. And there are a variety of other smaller details that, while seemingly insignificant, still need to be in place before the basics of the app are covered and it is ready for release as an upgrade. But it is getting there. More information will be posted here when there is news to report.
I get it. I am a Finance and Archive user too and I would love to be able to upgrade to macOS Catalina. I’m frustrated that work hasn’t even started on the new version of these apps, or has it? It is true that there is no Xcode project for a basic version of Finance or Archive yet, but, unlike iKeeper 6 where I am currently navigating my way through this uncharted programming territory for the very first time and various things are taking a long time to initially figure out, once I understand how some of this stuff works, it is transferable. Finance and Archive are going to need an entire interface with the look-and-feel of the current versions. I’ve done that in iKeeper. Finance is going to need a date picker. I’ve done that in iKeeper. Finance and Archive are going to need to be able to read in existing preferences or generate new preferences. I’ve done that in iKeeper. Finance and Archive are going to need to be able to read in existing SQLite data. I’ve done that in iKeeper. Finance is going to need to display transactions and search results in an overview list. Archive is going to need to display search results in an overview list. I’ve finally figured out how to display data in an overview list in iKeeper. The point here is that, where there is commonality, I’m learning things that should make the process faster and smoother when the iKeeper upgrade is released and I finally turn my attention to Finance and then to Archive.
That doesn’t mean that it will be entirely smooth sailing. There are many core features that do NOT overlap. iKeeper doesn’t have anything to do with currency values, or managing different bank accounts or a budget. iKeeper doesn’t have anything to do with creating catalogs of what is on removable storage media. There will still be a LOT for me to learn (and probably a good deal of frustration and delays ahead), but at least I won’t be starting entirely from square one on everything.