I’ve seen a few threads recently commenting about the failings of Electron apps. I decided to think things through as a recovering software developer considering the economics of app development.
My logic is on basis of building software that is largely sold to consumer. With business oriented software, it is easier to charge large enough sums of money that the equation is less clear.
Looking at the installed base for computers worldwide, I see numbers like Windows 75-80%, Mac 10-15% and Linux 2-3%. So if I’m developing a new application from scratch, unless there is a compelling reason I will want to target Windows users.
Cross platform code - where possible I want all features to appear on all platforms at the same time with a minimum of extra effort.
Native MacOS development - Swift the programming language itself appears to be mature enough for regular use. SwiftUI for all the stories I hear is a couple of years away from being easy to develop in. (SwiftUI is going in the right direction as long as you want build a very narrow class of application that fits inside Apple’s ideas of what apps do.)
One more reason I can imagine, I’ve built an iPad app and port to the Mac with Catalyst. However again that limits me to smaller market share.
Where does this leave us? Pester the people who do build applications to make them look native, proper menus and support iOS/MacOS Shortcuts.
Even in the world of business applications, there would need to compelling reason to build a native application.
The Question for me would be, is this telling the whole story!?
How many of those Windows Computers are running a contemporary OS, and how many of them are in an environment, where they even could be of interest for a independent software developer?
Also I would ask myself, what kind of software I want to develop? Do I have a certain target with the software, is it maybe something I need too, or is it just any random kind of software, with no specific target, than to develop and sell some software…!?
I’m not really sure what you’re getting at here. This breakdown of market share has been largely the same for a long time.
But the failing on Apple’s side in recent years was never about technological capabilities or market share. The big companies were always using unholy messes of cross platform code for things like Photoshop and Microsoft Office. The problem is that there used to be an identity to Mac applications, an ethos to using it’s software which has slowly eroded as Apple’s eyes have shifted towards it’s other, more profitable, platforms.
I think John Gruber coined the term “Mac-Assed Mac Apps” as a name for these kinds of apps. They still exist and seem to be still profitable but I think there’s increasingly less appeal to become one. Also, the massive VC market of the last 15 years has exploded the “need” to grow and grow a lot. See About software funding and "organic software" for very interesting conversation about the influence of funding software on it’s creation
You have to love the software you want to build, to do a thorough job!
That is not dependent on the OS you are building for…
There are a lot of developers on the App Stores that are offering a two digit number of apps, but most of them are just some random kind of software, written without any love or heart, and therefore are more or less useless for their customer…
I think you are using some sound logic in your post, and almost wanted to reply with a gif of someone eating popcorn. Because this logic (as you can already begin to see in the replies) does not often land well in Mac-centric groups. Basically, what you just said is sacrilege because it’s Mac native or bust for many people.
I tend to think as Electron apps get better, we will see more Mac-native UI elements and improvements in performance (as in using fewer resources). I sometimes chuckle at the argument of Electron apps being resource hogs made by the same people who tout Apple Silicon as having so much power they can do anything.
I think in reality we will have a bit of both. Indie developers who are passionate about a platform are happy to develop toward that platform. Or if that is where the bulk of their users are. Or if they don’t want to deal with multi-platform. Or, or, or (there are many reasons). But there are just as many who will start working more toward cross-platform applications because they see that’s their best growth potential. Some of these cross-platform applications will be junk, while others will be great.
I think you are missing the point of my and others replies. The argument presented is that there is no reason to make macOS native apps. That has not be shown to be true by the argument presented.
The reason to develop macOS native apps is that there are people who will pay for such apps.
I’ve said nothing about worthiness of electron or any other non-native frameworks.
I agree that there will be different motivations for different developers. For the reasons you note. But the tired old simplistic bean counter argument is just that. I don’t recall the exact quote, but it was along the line that for any problem there is a solution the is obvious, simple, and wrong. This is one such.
I never said in my post that everything will or should move toward multi-platform development. It wouldn’t surprise me if some continue down that path (like 1Password has done). Nor will it surprise me that developers will remain on their platform of choice (Marco Arment and Overcast, for example).
I think there are more reasons that what the OP listed as reasons to develop native Mac apps. But I do think there will be plenty who choose to develop cross-platform.
indeed (but a fun topic!) I would think that the skill and experience of your team would matter more than the theoretical market size. Lots of companies should just go wide because they don’t have the skill and taste to make a great Mac app. Likewise, with a strong Mac/iOS engineering background I probably wouldn’t start with something requiring complex and performant backend services. There is software positioned for all volumes of demand for multiple reasons, too.
@MevetS and @Ulli My point is that native MacOS development will die completely.
Background: I see people complaining about Electron apps in general and Evernote in particular. I put on my small business person’s hat and I consider what would I do build an app from scratch. (FWIW the first 20 yrs of my career was building applications).
I briefly considered building an app for a need my wife’s business clients wanted last year. Scan your receipts, match them against credit card and banking data. The goal make credit card reconciliation easy every month. Bonus goal: give you an easy way to track spending.
In surveying the potential audience:
a local app is key (I don’t want to host your financial data)
most users were on Windows
I didn’t build it because the there isn’t a standard interface in the credit card/banking world to request data. (Unlike the EU). Also I think being a consultant is more fun.
I started this thread with the hope that people might reflect on why frameworks like Electron are slowly taking over with newer apps.
Haha, obviously in this example you would not build a macOS app for a mostly Windows base. But if those are your only bullet points about them, you can build anything you want. Either they’re desperate enough that they can’t express any preferences, or you don’t know what they would actually stick with and evangelize to other potential customers yet.
On the underlying question – why build native Mac apps? – it’s misleading to just look at installed base.
Consider Android vs. iOS. There are many more android devices out there…
But are you sure you’d rather write apps for Android than iOS?
Why cater to iOS users? For the same reason Dillinger ostensibly robbed banks: It’s where the money is.
I don’t have the data, but I suspect for most categories of apps, Mac users spend more than Windows or Linux users.
From there, I’ll point to the arguments others have made about luxury markets.
(Of course, if you can get All the Users by writing your apps in Electron or equivalent, then that’s an even bigger value proposition, as the original post suggests. But my point isn’t that the original premise was entirely wrong, just that installed user base is a wildly imprecise way of considering the size of a market.)