macOS: the storm has arrived

macOS: the storm has arrived
stormy weather over macOS catalina

After writing the post regarding Apple's walled garden, I've investigated the matter further, and the result is more frustrating than anything one could expect. What makes this particularly frustating for us, is that I had just managed to solve the problems affecting macOS 'Mojave' - right as 'Catalina' rolled out. While 'Mojave' presented some challanges, 'Catalina' is simply a non-starter (literally). The repercussions of Apple's decision are vast - extending way beyond our little startup.

I've tested a very simple application on three different (different age, installation, model, etc.) Macs:
Mac #1 ('Mojave') - worked flawlessly
Mac #2 ('Mojave') - worked even better, not even a security warning
Mac #3 ('Catalina') - didn't work at all and the error message was a blank page!

As you can see, only Mac #3 was running 'Catalina', so the culprit is obvious. Needless to say no developer can work like this: constantly wondering and adapting to new rules by Apple. At least no independent developer with a tiny budget. While other operating systems, e.g. Linux, also present their set of challanges, there is ample documentation and community support. None of this can be said for Apple. We, the developers, have to work in Apple's sandbox - and pay for the privilege - if we want to deploy our software to their precious OS. To make matters worse, we receive only a minimum of documentation pertaining to their own tools (XCode & Cocoa). To add insult to injury, with 'Catalina', you can't run anything that's 32bit anymore. That includes libraries, not just the application itself - presenting a whole new set of potential problems.

Obviously, I will stay on top of new developments. I know I'm that I'm not the only one who's experiencing problems (see below) but right now, nobody has found a reasonable way to fix (or circumvent) the notarization issues. The bottom line, as dictated by Apple, seems to be exactly what I've stated in my previous article: if you want the privilege of developing applications for macOS (and their < 15% of market-share) either you develop using the tools Apple provides, or you're left in the cold. Put simply: Apple doesn't care, or want, applications developed on other platforms (and ported or re-compiled for macOS) with tools other than their own.

Why, I wouldn't know, but that is the message they are sending. To me it makes no sense as I firmly believe that one of the reasons macOS gained market share is due to good software appealing to a wide audience (and not just professionals in certain areas such as design). That includes both applications from big companies like Adobe as well as plenty of software from independent developers, including lots of OpenSource applications. If they stick to their plans, that will all go away very fast. Although they were kind enough to retain scripting languages in the default installation of 'Catalina', they've already stated that it's only temporary (as in 'don't expect them in the next release'). And that is the least of the problems.

Keep in mind that researching, testing and - ideally - fixing such issues takes a disproportionate amount of time. At some point, it simply becomes uneconomical to do so. If there are Mac-users among you (and you're interested in affordable and innovative financial software) please let me know. Knowing how many of you are dependant (meaning you can't run our software in a Windows environment) on macOS would go a long way toward estimating how much time we should invest into getting apps authorized to work on macOS.

If Windows-licenses weren't so expensive, I would strongly recommend a virtual machine or BootCamp, but guess what? Projects like 'WINE' and 'CrossOver' are facing the same problems we are. If that's not a concerted effort to shut out everything that isn't 100% Apple-approved I don't know what is! Another solution would be renting a remote desktop - but unfortunately that's not free.

Long-term, the only solution I see is to port our apps natively to macOS, but to do that we need both your input and your support. We need to know whether there's a demand for macOS support or not, and whether you have other options (probably involving a Windows license) to run our software. We'd also love to hear what you think about this whole issue. And, needless to say: if you have any suggestions please let us know!

For those of you who are conspiracy-minded there's a simple explanation: Apple has claimed forever that Mac users don't have to worry about viruses. Turns out that's was a lie. So, instead of deploying a good antivirus software with the operating system and educating their users, they make it impossible to run anything that doesn't have their stamp of approval. Benefit: you don't have to retract your statement about Mac's being virus-free. As an Assembly programmer who wrote the very first self-replicating polymorphic code (as proof of concept) I can tell you that viruses are here to stay, notarization or not. The new policy also guarantees that no pesky independent developers (like us and many others) will write software that takes market-share from those who enjoy Apple's blessing (think Adobe). Whatever explanation(s) you have on the subject, this radical move eliminates a host of problems (there are plenty of other things which come to mind) for Apple - and ignorant users alike (which, let's be honest, are a large percentage of the people who buy Mac's). Another sad fact is that macOS has become a glorified version of iOS/iPadOS - which pretty much explains the license and notarization requirements. Unfortunately Apple has gotten away (and even profited) from similar actions in the past. However, that was when Steve Jobs was still alive - and he sure knew how to sell something. Under Tim Cook, Apple hasn't developed a single truly new product. Considering the extent of the problems 'Catalina' creates, it seems inevitable that Apple will loose market share - leaving them with the niche-markets they've had for most of their existence.

The new policies just aren't fair for developers and users alike. Having the choice, would you buy a product that actively prevents you from using the applications you want? Because I certainly wouldn't!

The reason I decided to write this sequel is because I've spent a lot of time investigating this issue. Unfortunately there's a lot more to developing software than just writing code (something that, apparently many young graduates don't realize). Deployment and testing is 50% of the work. As you can see, a lot of my time is spent doing this sort of thing. It's neither glamorous nor fun (far from it) but, as an experienced developer (old enough to remember 5.25" floppy disks) and as a startup with a vision, this kind of due diligence is necessary. I've learnt a long time ago that taking care of problems as they pop up is not a viable development path. It's both inefficient and results in other problems down the line - for developer and users alike. While this issue is just one of the areas needing my attention, I'm glad to have spent the time investigating this now rather than finding out the hard way. While new stuff necessitating investigation is bound to pop up, I'm cautiously optimistic that we've finally crossed the point where less, and less of our time has to be spent on such issues. Redirecting our resources toward the actual goals: writing financial software and articles for this website.

As far as macOS is concerned, as painful as it is, for the time being I feel our best shot is to concentrate on the Windows platform - and eventually Linux (which Mac Users can run for free as well) - until we have enough support to warrant further investments - of both time and money - into macOS development. I'm sure some people consider Apple's move justified, but from where I stand, they're shooting themselves in the foot by cutting out - or making life miserable - for countless independent developers. Make no mistake: we're not the only ones affected by their policies. Much bigger - both in terms of manpower and finances - projects are affected as well. For all these reasons, your support is crucial. If you'd like for things to move faster on our - or would like to see macOS supported from the start, as we originally intended - please consider making a donation. Your support at this early stage won't be forgotten!

Time permitting, we will investigate this matter further but, for the time being, we simply can’t afford to play by Apple’s rules. If there are any news on this front, you’ll definitely hear from us. This decision wasn’t made lightly, but Apple simply leaves us no good options.

Updated on Sunday, February 23rd, 2020: The main issues mentioned here remain unchanged, and unsolved, but - out of fairness, even when it comes to Apple - I have to make an addition. Mac #3 not displaying anything, might not have been Catalina's fault. It is too late to know for certain without testing again - something for which I have no time or inclination until the topic becomes of practical significance again. While this is potentially a good sign - that things aren't as bad as it seemed - we will focus our efforts on Windows and, later, Linux for the time being. As I've said before, please share your thoughts with us (