dark clouds gathering over macOS

dark clouds are gathering over macOS
cloudy day in Cupertino


Porting applications written on one platform to another has never been a trivial matter. Countless languages are supposed to be cross-platform, but the ugly truth is that none of them are in the true sense of the word. Almost every language I can think of requires some degree of manual adaptation before it runs flawlessly on more than one platform. And that doesn't even begin to cover a lot of trivial but time-consuming tasks related to making it distributable to end-users.

Starting with macOS `Mojave’ (which, being old, I insist calling Mac OS X), Apple introduced more stringent rules for application developers. In practice, without spending $99 on an Apple Developer License, your apps will refuse to work (at least with the default security settings) and, adding insult to injury, a popup window warns you that this application is not trusted. To be fair, that isn’t so different from what Microsoft has done with Windows. The devil, as always, is in the details: apart from involving money (which, at this point, we sorely lack), Apple’s security system creates all kinds of problems for developers. Getting any non-trivial application to work is, at best, a debugging nightmare and at worst a complete waste of time.

While the above can be dealt with - given enough dedication and resources - the new macOS ‘Catalina’ takes this to a whole new level. Now, every application and, crucially, every library, will need to be signed and ‘notarized’ - which involves uploading it to Apple’s servers. We’ll obviously wait and see what it means in practice when 'Cataline' gets released, but from what I’ve read so far, the heightened security makes cross-platform development a de-facto impossibility for independent developers and startups like us.

At this point, the million dollar questions for you are: are you using macOS and are interested in using (our upcoming) financial applications? Do you have the option to run them in a Windows environment (virtual machine or otherwise)? If the answer to one of those questions is yes, we'd like to hear from you! Just go to the "contact" page and shoot us an email.

Your input (and support) on this matter is crucial and will determine how we deal with this matter. We'd hate losing macOS users, and there might come a time when we can actually deal with such problems the same way bigger companies do: by throwing time and money after it. However, for the time being, we are reliant on doing things as efficiently as possible, and spending days (and money) just because Apple decided to close-up its walled garden isn’t efficient.

As far as the bigger picture is concerned, there are two possibilities: either this issue will somehow resolve itself (either by an unlike Apple-retreat, or by clever macOS software developers) or, invevitably, less and less independent developers will port their applications to macOS (investing 30% of the time to capture 10% of the market just doesn't work out). Unfortunately, from my point of view, the latter option seems a lot more likely.

On a side note, one of the things that made macOS very attractive to programmers (and helped it gain market share) was the inclusion of several high-level languages such as Python and Ruby. That too will end with ‘Catalina’. It seems clear that Apple wants developers to use exclusively the tools they provide. In other words, you can either develop for macOS and follow Apple's dictates, or forget about it. The message I'm getting is "we don't need - and don't care about - independent developers". Honestly, I'm dumbfounded by that kind of thinking since a platform can only thrive if there's an abundant supply of good (and affordable) software.

Still, if everything works out for our project, at some point this will become a trivial problem, but right now it throws a needless obstacle in our way and makes macOS versions of our applications look unlikely at best.

Share your thoughts with us and hope for the best!