Hacker Read top | best | new | newcomments | leaders | about | bookmarklet login

> ... and frankly most indie developers can't shell out potentially several thousand dollars on OSX/iOS devices and licenses just to do some testing ...

Sounds like these so-called “indie devs” who cannot afford to build for iOS devices should not tackle projects/clients that require building for iOS. Or, if a client is in the mix, bill the client a large enough fee to cover the cost of testing on real devices. That’s not a problem Apple is responsible for solving.

I would never rely on developing, testing, and releasing an Android app on a simulator alone. I don’t want to buy a bunch of Android devices. So I don’t take on work that is meant for Android, or I hire people who can properly test on devices. Pretty simple—and it’s both my choice and a matter of professional responsibility and accountability to ship work I can stand behind.

Apple isn’t going to change any time soon. I’m so tired of the disingenuous moaning from “indie devs” who want to take on projects for and make money from iOS, but can’t be bothered to get over their own personal anti-Apple feelings to buy a device.

The ecosystem of Apple devices are hardware and software. The simulators and build tools are never enough. You wouldn’t ship an app for Apple Watch without testing it on a watch, would you? Or would you ship it relying only on having one friend with an Apple Watch test it? Sounds lazy and unprofessional—and if an indie dev can’t do the job right, they shouldn’t take on the job.



sort by: page size:

> The harsh truth is that indie devs need access to Apple’s users, not the other way around.

This is simply not true.

Instagram was the project of indie developers. Likewise many of the big apps which exist on iOS. The vast majority of software on iOS is small niche tools which are either fun to use or useful tools.

Apple knows this and they know they need indie developers supporting their platform.

I realize there are a fair number of situations where it doesn't seem that way. But there are a lot of times such as this where it's more than clear they do.


> it’s expensive to develop for iOS as you need a semi-recent Mac

I'm so tired of this bullshit argument. No it's not expensive to develop for iOS. You can get an M2 Mac Mini for $599. Upgrade it with more memory and storage and you're still well under $2k. How is that expensive? If you can't afford the $2k for a Mac then you certainly can't afford the developer who has to use it.

There are few professions that require at little investment in tools as a fraction of the salary of the professional using those tools as software development. Go ask a carpenter how much they spent on tools and how much they get paid.

"But what about people who program as a hobby" I hear you say. Again, it's one of the cheapest hobbies you can possibly have. Have you ever talked to anyone who had any kind of hobby? Ask anyone who is a hobby musician how much they spend on instruments. Ask a hobby photographer how much their equipment is worth. Ask anyone who's into arts and crafts what they spend on their hobby. Hobbies cost money, and most cost a lot more than a new Mac every couple of years.


> Apple is extremely friendly to developers targeting the Apple ecosystem.

Yeah, I don't know where the hell you get that!

Do they offer emulators for non-Mac developers to target their ecosystem?

Do they make even simple development onerous if you are on a Mac and do target their system, but have the audacity to want to share the app with someone else not in the same room with you?

You want to make a free app for your business targeting our ecosystem? Pay us bitch! Also, while we're at it, pay us every year from now on! Whoa! You also want to put it on our store, pay some more you fucking pay-pig!

> Plus, unlike Android, they actually provide tons of tooling for game development and graphics programming on iOS.

... read, we are so locked into and starved for hardware options that it is easy to release a few libraries that will work for your app ... for now! Has your business not changed at all and your app doesn't need any special privileges ... but it has been more than a few years .. haha! Go fuck yourself, sincerely Apple!

> Google tells you to clone github repository from Vulkans shaderc.

Apple makes you get into a personal relationship with them. I am not sure that is much better!


> to Linux just to support the 0.000001% of users

Because Windows users don't ever want to write iOS apps? Particularly game devs, who are primarily using Windows computers to develop games because Windows PC is their largest market? None of those people would like to develop iOS games without switching to an entirely new OS?

> Not sure what you want from Apple here

Open up their SDK to the point where communities like Linux can realistically set up their own build tools or emulators. Don't sue people who are providing iPhone emulator access[0]; instead create code/SDK licensing opportunities for companies to ship these environments to customers/developers without running afoul of copyright laws.

I lose sympathy for companies claiming "this is too hard", when they're going out of their way to make the problem harder for other people to solve.

I don't know why we're pretending that there's anyone at Apple thinking, "wow, I'd love to make it easy for Windows/Linux devs to target iOS, but it's just too hard for me to engineer." We know that's not really happening, we know that Apple's management is very happy to force developers to buy Macs, we know that's a status quo that Apple has every incentive to reinforce at every opportunity.

[0]: https://venturebeat.com/2019/08/16/apples-corellium-lawsuit-...


> Apple doesn't give a toss if your app is cross platform.

Maybe but they sure as hell don't make it easy for cross-platform software to target their platforms. As far as I'm concerned, the only feasible way to target Apple platforms at this point is to:

1. Buy a Mac so you can officially run macOS and Xcode.

2. Spend $99 every year for an Apple developer license.

3. Spend the time to learn Swift, a language which despite being touted by Apple fanboys as being cross-platform is basically useless unless you're targeting the official Apple APIs.

4. Learn and stay up-to-date with Apple's ever-changing APIs (just wait until Cocoa and Cocoa Touch are completely deprecated in favor of some other API that is only accessible via SwiftUI... calling it now)

5. Keep up with Apple's ever-changing policies around what and what is not acceptable within their walled garden.

6. Give 30% of your profits to Apple.

Fuck that shit. Look, I don't use Electron applications as a general rule and I do agree with your gripes about "web based cruft". But at least it's possible for developers to learn that cruft and use their knowledge to write software without spending a ton of money and having everything they know be limited to Apple's walled garden. As much as Hacker News loves to hate on JavaScript, guess what? It's free and accessible. Anyone in the world can learn to use web based technologies to build software and enrich themselves (and maybe even others). If you're writing software for Apple platforms, you're only working to enrich Apple's ecosystem and investing your own time and money to do so. Maybe it's just my Linux / FOSS fanaticism but this perspective toward software development just doesn't resonate with me. I want anyone who wants to use the software I write to be able to use it, not just Apple's customers.


> What possible benefit could there be to helping people who are hostile to their platforms develop for them? If you want to develop for Apple platforms, you do so from Apple platforms.

That suggests you think every developer who wants to publish iOS apps should either do so from a Mac or they are automatically hostile towards Apple. That's the point I was touching.

I personally wouldn't call Apple's choices hostile and I don't think anyone is entitled to have cross-platform tools. But you made it clear you think I'm an "enemy" as long as I'm not on a Mac, and there would be zero benefits in allowing me to publish apps to my phone.

(ps. I do own a Mac)


> Meanwhile, Apple welcomes developers from day one

That's utterly untrue. Can I ...

* run my own (i.e. unsigned) kernel extensions in OSX?

* run OSX on non-Apple hardware?

* distribute apps for iOS through means other than the App Store?

* distribute non-approved iOS apps at all?

* build apps for iOS that allow end-users to program their own devices?

Apple is actually incredibly developer-hostile, especially considering their early history with machines like the Apple 2.

This is what a developer-friendly machine looks like:

https://www.crowdsupply.com/sutajio-kosagi/novena


> I can understand the sentiment. It's not necessarily something against independent developers, it's anger about a problem that shouldn't happen in the first place to a device this expensive.

This. Apple cultivates this myth that they only release polished devices/software. When they fail to do even the littlest things like work with a design decision they made, people, rightfully, get frustrated.


> the developers that help make their platform attractive

This is where you're wrong about Apple. To Apple, it's Apple that makes the platform attractive. Developers are a dime a dozen to them. Especially indie / small scale devs.


> App developers seem to stick with apple regardless of what they are being subjected to.

Because the alternatives aren’t preferable. The indies who have been exclusively using and developing for Apple platforms for years know that Windows and Linux aren’t better¹, just a different set of annoying trade offs. Apple platforms aren’t perfect, but they are the least bad option in that context. They also used to be better in many regards, which makes the situation frustrating due to the wasted potential.

¹ At a personal preference level. There’s no judgement either way, you do you and use whatever you like best.


> Apple, if you want developers to love your platform — and you should, because good developers are your lifeblood — and if you don’t want them to flee for other platforms — and you should be worried about that, because the web is everywhere and Microsoft is coming for you — then you need to take this seriously. Adopt the mentality that has served other frameworks and languages so well: If it isn’t documented, it isn’t done.

Apple has enough rabid supporters, they can lose the occasional developer to bad docs. Apple doesn't care or need to care. They are arrogant that way. Also, what other platforms? Android? A fair portion of iOS devs are also already Android devs.

Look, this is just going to fall on deaf ears. Apple isn't listening. Their machine is output only.


> A huge majority of developers in your situation go out and buy a Mac; another hardware purchase in their pocket

Yeah, not happening. I have some users who sometimes complain about something broken in iOS on Safari, I google, and it turns out to be a known Safari bug. I just tell them that it is their device which is broken, which they agree with because it works fine on their computers. And it works fine for other users with Android phones.

The people who this hurts, are the Apple end users. There are a few bugs they just have to deal with because it's impossible for me to test a fix. Tough luck for them.

This is however for a free product. Anyone is of course welcome to buy me Apple hardware, but I don't see that happening either.


> All these crazy ideas come from people who don't work in app development, clearly.

iOS releases. Yes, and by choice.

And if they keep at it with OSX I won't continue releasing to that either.

Call me crazy but I'm not the one writing sob stories on HN about how Apple cucked my app which seems to be a HN weekly.


>Xcode development, the Apple Developer Program, and the whole experience of trying to ship your application on the Apple ecosystem is the fucking plague.

That's because you're a developer that works in different platforms ("Apple, Android, Windows, Linux"). So you probably spend most of the time working in some other platform, and doing macOS work for you is just an annoyance, having to context switch to another process, etc.

Apple tho wants macOS developers (and users prefer apps from people dedicated to macOS). That's because such vendors (e.g. Panic, BareBones, Omni, and so on) won't do lowest common denominator apps, they keep up with the platform, they understand it, they hook in to new platform-only capabilities, etc.).

>Apple's desktop market share being what it is, I cannot comprehend how they're generally getting away with this.

Apple's market share is what it is, in part because they enforce things like this. This means they can add new OS/hardware features and devs will add support for them fast (instead on relying to 1000s of half-ported apps, with shared functionality on Windows and Mac, and horrible cross-platformy UIs).

That's also why (forcing more people to use XCode, and thus the official APIs, BitCode, and so on), they can introduce a whole new architecture like AS, and have macOS apps support it from day one, or old x86 apps running smoothly translated.


>Personally I think Apple missed a bit in the marketing by positioning this so heavily on average consumer use cases

Yeah especially with bringing iOS ecosystem, it means that for (general) developers it's not interesting.

If they were demoing a shell, a code editor, etc. But if it's iOS it's just too locked down.

Developers are actually good first generation buyers. They can likely make their boss pay for.

So it's such a waste, they are excluded because iOS


> People keep having to learn that developers cannot be trusted either

The problem with this is that Apple is also a developer trying to sell you things. I would feel better if Apple's goals and the user's goals were aligned all the time instead of just some of the time.

Admittedly, Apple's real priority is just to make money on every transaction that occurs upon an idevice.


> unless you're a student and your parents bought you your phone

It's a bit tangential, but speaking for myself this actually matters. I was a student until recently, I bought my own phone, but I couldn't afford the developer programme (especially when it was two separate programmes, one for OS X and one for iOS). Now, I can build apps and only need to buy the developer programme when I want to deploy them, and then I only have to subscribe to the one programme for both OS X and iOS too. So honestly it does matter to some people.

I hear you about your concerns though. I'm hopeful, with the iPad Pro, that they're actually going to open up iOS more in future, not less. It'd be nice to do proper development on an iOS device. A BSD-like jail environment (e.g. a full sandboxed unix environment with shell access, with maybe iCloud Drive mounted in the filesystem) would be lovely. If they want to sell 'pro' iOS devices, they must be thinking about these sorts of problems.


> I guess I need to go back to doing things the hard way.

The moral of this story is clear but third-party developers for Apple devices don't want to face it. With a few exceptions, most Apple frameworks and application software are proprietary. If Apple's internal source code is deemed to be central to their business, outside developers will probably never get to see it. And if they can't see it, they can't fix and improve it.

If you write application software for Apple devices, you have made a Faustian bargain. You are at the mercy of the whims of Apple Software Engineering; Apple has you by the proverbial balls. If your own code is also proprietary then your customers are in the same vulnerable position, so stop complaining.


>Before long they could even choose to make you buy an expensive Mac Pro or iMac Pro, or even require an 'iOS dev kit' if you want to develop for their platform.

Hopefully this was sarcasm, since this is literally what is required right now to develop for iOS - you need a Mac (windows is not allowed) and a $99 developer account.

next

Legal | privacy