Hacker News new | ask | show | jobs
by rollcat 1133 days ago
It's a very fast moving target. Apple keeps rewriting and deprecating stuff faster than they can write the documentation. As a newcomer to native macOS development, I'm sometimes struggling to even find working examples.
4 comments

I am convinced this is by design. Apple has leaned heavily into service based revenue. This means recurring revenue. So in their App Store, they heavily incentivise subscriptions over one-time purchases. One of their tools is frequent and rapid API deprecation. This breaks older apps which aren't maintained. Developers must therefore spend much more effort on maintaining software on iOS and macOS (I can still run software on Windows from 20 years ago). This makes the value proposition of selling one-time purchase software poorer. It also means that older software has a much shorter lifespan, so users are forced to purchase software more frequently. I think this is one of the reasons revenue on iOS is so much higher than Android.
Which IMHO has made the AppStore a cesspool of awfulness.

Buying a one time app for a few quid used to be a normal and a good deal all round (I say this as a customer and iOS developer)

But now EVERYTHING is a monthly subscription. Even for apps that really shouldn’t need any updates - but like you say, they do need constant updates just to remain functions.

It’s created a broken AppStore and I just never pay for anything anymore.

Ripe for disruption ...
I’m in the UK and it’s looking from the rumours 3rd part AppStore’s are gonna be EU only so we’ll be missing out.

Another fabulous consequence of brexit.

> This breaks older apps which aren't maintained.

This does suck when you find an "old" app that works well, but there is an upside-- the 99% of other garbage apps from 15+ years ago don't pollute ongoing search results forever. Eventually, old apps that aren't maintained get popped from the stack.

The other upside is that new developers don't have to compete with ghost apps from the past continuing to leech new interest because they're ranked higher due to cumulative downloads over time. Nobody can compete with Time.

As an example of an app store that doesn't do this-- I don't know if ticalc.org is still around or still works this way, but their catalog grew endlessly with every generation of bored students uploading new redundant renditions of Drugwars (et al.). If you want to play Drugwars, which of the 500 versions of it are the best? Maybe the 1998 version is the best, or maybe the 2020 version is-- who can tell?

It made it very difficult to figure out what to bother with unless you were using a brand new TI-83+++ Extended APU Platinum Edition with bespoke hardware specs that forced a new backwards-incompatible platform category that instantly excluded all the old cruft.

Isn't that what metrics like DAU is meant to capture?

Making DAU & avg active time per day in addition to user reviews/ratings would be a pretty strong signal.

I really like how impartial and matter-of-factly your comment is in contrast with dystopian picture it paints. Or maybe there are positive aspects of this process that I don't see?
Not that it's any relief, but this is also the case with Windows too. MS often introduces breaking changes in the Windows API and rarely adds/updates examples.

Unfortunately, it's the norm in most massive closed source ecosystems like these.

On the one hand, it makes being a developer on these platforms pretty painful at times, and on the other hand, it also increases the value in having expertise with them.

"MS often introduces breaking changes in the Windows API"

Can you give an example? I have also plenty of Windows development experience, but can't think of anything. More like, Microsoft seems to be pretty careful making sure APIs don't break.

NTAPI doesn't count, because it's undocumented in the first place and you're not supposed to use it in the userland at all. Yeah, we all do, but...

(Many APIs are pretty bad in the first place, but that's another matter.)

> NTAPI doesn't count, because it's undocumented in the first place and you're not supposed to use it in the userland at all. Yeah, we all do, but...

In the context of developing something like Wine that is irrelevant - you need to deal with what people use.

That may be true in Swift, which is a relatively new language that was evolving rapidly in the early years. For objective-C the rate of change has been much slower.
Agree. This is why WWDC videos can be immensely useful to get inside information about how things actually work and the shape of things to come.
I cannot express how frustrating and unprofessional Apple comes across, that you have to sit and watch YouTube videos, to try and find some documentation for iOS development.

> WWDC videos can be immensely useful to get inside information about how things actually work

Imagine if we could have proper text based documentation on how things actually work? I don't know why this isn't the case. I'm sure they can afford it. Maybe it's just lack of respect for developers? "They seem to figure it out anyways"?

Jobs made it clear in the 1997 WWDC speech[1] that Apple's priority is never the developers, but solely the customer experience and the final product, and if programing languages, frameworks or developers will be casualties along the way, then so be it. His words, not mine.

[1] https://www.youtube.com/watch?v=oeqPrUmVz-o

Without developers there would be no customer experience. But developers keep prostituting themselves and become the victims that you mention.
I didn't mention this, Jobs is the one who called it way back when.
I'm not sure those two are incongruent. Surely, the customer experience and final product includes software written for the platform? And, if developers make apple development an afterthought, or more poorly tested because CI/CD is tedious and cumbersome... how does Apple benefit? Of course, this is a comment on the what seems to be lack of insight on the comment made by Jobs, and not your comment. Thanks for sharing that. It does give some insight into the state where developers seem to be treated as second class citizens, even though they rely on their work.

In any case, Apple sure has convinced the masses, and can rarely do no wrong. So, I suppose I'll just keep yelling at the clouds.

Yes, but it's unclear how having a proper documentation detracts from customer experience or the final product.
It's not that it detracts from the customer UX, it's simply that they don't care about the developers.

They know developers will walk on glass for the privilege of accessing a large high value consumer market.

It's exactly what Jobs said and it paid off for them as you can see in Apple's current valuation. Why is that still unclear to you?

This makes sense in a company with limited. Apple can obviously both care about customer UX and have a good development documentation, have a good public bug tracker, pay out bug bounties, etc.

If they hire 20 people for this and give them a few offices in their precious mothership, it won't affect customer UX in the slightest. They may continue to give it the top-most priority, which is the right choice to make.

That's why it's unclear to me. Apple's valuation is a poor argument. It could have been even higher, since there are areas where Apple is failing precisely thanks to poor developer relations. E.g. serious gaming on Macs/Apple TV, even though the hardware is amazing.