Monday, August 17, 2020

Apple to Cut Epic Off From iOS and Mac Developer Tools

Epic (also: MacRumors):

Apple removed Fortnite from the App Store and has informed Epic that on Friday, August 28 Apple will terminate all our developer accounts and cut Epic off from iOS and Mac development tools. We are asking the court to stop this retaliation. Details here.

Juli Clover:

Cook said that there’s competition to attract developers just like there’s competition to attract customers, likening the battle for developers to a “street fight for marketshare.”

[…]

Cook also said that Apple does not retaliate or bully app developers who do not agree to Apple’s App Store rules. “It’s strongly against company culture,” said Cook.

Josh Centers:

Honestly, good on Apple for giving Epic the boot. They’d do the same to any other developer who pulled that sort of stunt. For once, they really are treating large developers the same as small ones.

Steve Troughton-Smith:

“But this is just App Review’s normal response”

…should it be, though? None of this should be normal. We’re numb to it as developers in the ecosystem, but Apple completely cutting developers off from tooling & distribution, beyond malware reasons, is insane

Michael Love:

But I very much look forward to reading Apple’s spin on this, given that just a week ago they were suggesting they would welcome Epic back with open arms if Epic changed their mind about IAP.

Steve Streza:

Epic undoubtedly knew this would happen and I’m sure the developer program terms spell that out somewhere, but setting a precedent of “if you sue us for the App Store we will kick you out before you get a ruling” is a chilling effect.

Colin Cornaby:

Apple terminating Epic’s developer account would be purely retaliatory. Fortnite is down from the App Store, there is no ongoing violation of Apple’s policies. Terminating Epic’s developer account would also affect the Unreal game engine, and endanger other games using it.

Basically what Apple is doing is trying to force Epic to upload an iOS version of Fortnite with IAP (which again, is not currently in the App Store) or Epic’s account is taken away.

We’ve all talked about Apple keeping apps they don’t like on the App Store, but this would be the first time we’ve seen Apple basically put a gun to a developers head to force them to publish an app that’s not currently on the store with an Apple defined feature set.

Jeff Johnson:

Yes, Epic violated the rules, because they’re challenging the legality of the rules. In order to have standing to sue, you need to show harm. The only way to challenge the legality of the App Store rules was to get kicked out, which is the harm.

Bob Burrough:

Lots of folks taking the perspective that Epic got what they deserved because they violated Apple’s rules. However, a corporation cannot enforce a rule that is unlawful. It happens all the time...e.g. non-compete agreements are not enforceable in California.

Jeff Johnson:

Apple just proved today that the Mac is no longer an open platform. It’s every bit as closed as iOS now.

[…]

Apple claimed that Developer ID and notarization were only for malware.

This is proved definitively to be a lie.

Steve Troughton-Smith:

Apple threatening to cut off, stop contributing to & optimizing its hardware for Unreal Engine is 1,000% unnecessary & vindictive, and hurts every dev using Unreal on the platform. If they were trying to make Cook look like a liar to Congress, it would be hard to do a better job

John Gruber:

It’s a fascinating armchair quarterback game to speculate on what Epic anticipated from Apple as a reaction and what they didn’t. Pulling Fortnite from the App Store they obviously anticipated — Epic had both the lawsuit and 1984 ad parody ready to go. Revoking Epic’s developer account, I’m not so sure.

rsa:

Wait did Apple tell Fortnite that in a fortnight they will be deleted? Damn that’s subtle but savage.

See also: Hacker News.

Previously:

Update (2020-08-18): John Gruber:

In a court of law, Apple seems well within its rights to terminate Epic’s membership. In the court of public opinion, Apple comes off looking heavy-handed here, especially as it pertains to Unreal Engine. To be clear, Apple is not banning or even mentioning games that use Unreal Engine; what Epic is saying is that all games that use Unreal Engine will be affected as a byproduct of Epic no longer being able to work on Unreal Engine for Apple’s platforms.

Malathi Nayak and Mark Gurman, quoting Apple (tweet):

We very much want to keep the company as part of the Apple Developer Program and their apps on the Store. The problem Epic has created for itself is one that can easily be remedied if they submit an update of their app that reverts it to comply with the guidelines they agreed to and which apply to all developers. We won’t make an exception for Epic.

John Gruber:

Epic has been clear that they aren’t seeking a permanent exception to the App Store Guidelines[…] So the “exception” Apple speaks of, I think, would be allowing Fortnite to remain in the App Store with its own payment processing while the lawsuit is litigated — and perhaps allowing Epic to keep its developer program membership?

[…]

If I were a game developer who depends on Unreal Engine, I’d be irate at Epic. They’re creating drama and eroding trust over a fight that Unreal Engine licensees aren’t a part of and didn’t sign up for.

Michael Herf:

Apple called f.lux in 2015 and said they would revoke our ability to make f.lux for >5M Macs if we didn’t take down our iOS sideload. At the time these were governed by separate license agreements.

Michael Love:

Re-reading the briefs in Apple v. Pepper and this line from an Apple brief was pretty much begging for Epic to do what they just did.

Graham Lee:

People put up with this for the justifiable reason that the Apple technology platform is pleasant and easy to use, well-integrated across multiple contexts including desktop, mobile, wearable and home.

[…]

My view is that the one fact—the high-quality technology—doesn’t excuse the other—the rent-extracting business model and capricious heavy-handed application of “the rules” with anyone who tries to work with them. People try to work with them because of the good technology, and get frustrated, enervated, or shut down because of the power imbalance in business.

[…]

Through a continuum of changes, but no deliberate “OK, time to rip off the mask” conversion, Apple is now the IBM that fans booed in 1984, or the Microsoft that fans booed in 1997.

It’s OK to not like that, to not defend it, but to still want something good to come out of their great technology. We have to let go of this notion that for Apple to win, everyone else has to lose.

Benedict Evans:

The trouble is, if you have a curated, managed sandbox, where a company decides what’s safe, you have to do a good job of managing and curating, and Apple has not, always, done a good job at all.

[…]

For a lot of big companies, iPhone users are the market. When your product has a few points of market share you can make whatever choices you like, but when you dominate the market, other rules start applying. Apple isn’t the pirates anymore - it’s the navy, the port and the customs house.

John Gruber:

The pro-consumer argument is perfectly valid, but it applies every bit as much to game consoles as to app stores.

[…]

Even though Microsoft itself just got itself into an Xbox-related high-profile controversy with Apple regarding its iOS App Store policies, I suggest not holding your breath waiting for Microsoft (let alone Sony or Nintendo) to file a friend of the court brief for Epic, or even to offer Epic a word (or tweet) of encouragement. If Epic registers a significant win against Apple and Google in this fight, the game consoles are likely next.

Nick Heer:

Those rules are what is at stake here. So far, my argument that Apple was playing by the book is based on the notion that the book is accurate and can be trusted. Epic is arguing that these rules are deeply flawed and, to prove it, it is possible that it was forced to break the rules. That doesn’t absolve the company of rule-breaking; it’s just that none of the effects of the last several days should be a surprise. Epic is probably right that Apple should have changed the App Store rules. What surprises me is that a company as notoriously controlling as Apple might be required to let lawyers and judges make those changes instead of doing so of its own volition.

Benjamin Mayo:

I think the likely resolution of the standoff is that Epic relents in a couple of weeks time. They will retract the direct payments feature and Fortnite will then return to the App Store. The stunt has served its purpose as a mildly-embarrassing smear campaign against Apple, and its effect won’t be lessened by Epic backtracking. In fact, that might only serve as legal ammo: Epic could argue that Apple’s retaliatory action was so harsh that it left them no choice but to back down.

Assuming Apple sticks to its convictions, we must wait for some government body to enact change through an arduously long court and appeals process.

[…]

The money is one thing. Personally, I care more about reining in the power Apple has to deny entire categories of apps from existing.

Update (2020-08-19): Jesper:

Combined with the power in Apple’s grasp, their immense size using nearly every possible metric, and the policies used in the store today, theirs is the language of the person on the wrong side of history.

Kyle Howells:

If you got banned from Apples ecosystem, you’d rely on Google’s to exist in the modern world (and vis versa).

If you somehow got banned from both ecosystems (only 2 companies), I’m honestly not sure how you’d participate in modern life.

That’s terrifying!

Spawn Wave:

The new strategy when selling an iPhone on eBay is to mention it has Fortnite installed apparently

35 Comments RSS · Twitter

Old Unix Geek

Apple: "We're not a monopoly"

Step 1: Make the tools "free"
Step 2: Other compiler makers die because they can't compete (e.g. Metrowerks)
Step 3: Ban companies that don't let you ride rough-shot over them: "either you're with us or you're against us!" Take their Mac tools away.

Apple: "Trust us"
Apple: "We make APIs to help developers provide insanely great experiences"

To some degree I'm glad about it: it shows how rotten the Apple has become: a protection racket. They seem to have completely forgotten the early days of MacOS X when they literally were begging developers to work with them. Pride cometh before a fall.

Oh, how sad, did Epic think that it’s carefully staged hissy fit wouldn’t have consequences?

So, Apple, in the midst of being investigated by the US government for anti-competitive behavior, now brings the full force of its platform power to bear against Unreal Engine, whose maker is suing Apple over a separate issue. That seems.. fairly flagrantly abusive, to me, but I guess I'm not an expert. Do they really feel like they have nothing to fear?

Old Unix Geek

Stratechery's take is worth a read: https://stratechery.com/2020/apple-epic-and-the-app-store/

Apple is using limitations it put into the hardware you bought to control your relationship to the developer of the software/services you use, and that radiates out to other platforms such as Android. Their shakedowns, based on that control, are only part of the problem. As he says, the iPhone is not a console you play to entertain yourself, or even a PC for work: it is the foundation of modern life, and that matters.

Kevin Schumacher

What am I missing here?

Epic remote-enabled code to bypass IAP. Apple responded by removing the app from the App Store for an explicit violation of the rules. The app still exists on everybody's phone that already purchased it, and it can even still be downloaded by people who purchased it previously but deleted it. So the only current block is against new customers, and I don't think that Epic disabled the direct payment option. (If they did, they would likely have been reinstated by now.) Apple has now said Epic has 14 days to come into compliance with the contract Epic agreed to or have their developer accounts revoked, which would kill the game for everybody on iOS, to my understanding.

Setting everything else aside, it's a contract dispute. Epic may convince a court that Apple's actions should be put on hold while Epic's lawsuit works its way through the court system. But that doesn't change the fact it's still a contract dispute, and Apple is following through on its end of contract enforcement; to wit, ending their contract with Epic.

Last week, some of the same people quoted in this article were saying that if rules were applied fairly, Epic would be looking at termination of their developer accounts.

Epic now looking at termination of their developer accounts if they don't come into compliance is suddenly retaliatory, unnecessary, vindictive, unfair, "insane," and "BLACKMAIL[]".

Last week:
> Steve Troughton-Smith:
> It’s almost like Epic is baiting Apple into generating evidence for the antitrust cases 😅 Offering non-Apple IAPs, at a discount, with a remotely-enabled UI after passing App Review days ago?
> […]
> If Apple doesn’t change the rules or come to some other kind of agreement, any other developer would have their developer account revoked and be banned from the App Store for remote-enabling functionality like this 🤷‍♂️

Today:
> Steve Troughton-Smith:
> “But this is just App Review’s normal response”
> …should it be, though? None of this should be normal. We’re numb to it as developers in the ecosystem, but Apple completely cutting developers off from tooling & distribution, beyond malware reasons, is insane

This wasn't a mistake that Epic made, accidentally enabling direct payment options on iOS. It isn't malware, but in terms of rule violations, it was blatant and it was premeditated. Epic is not saying "OK, we get it, we're breaking the rules. We don't like the rules and so we're suing you over them, but in the meantime we'll stop actively violating the rules," they're continuing to violate the rules they previously agreed to. As a contract matter, what else is Apple supposed to do with someone who has shown they will intentionally put themselves in breach of a contract?

As I was composing this, Jeff Johnson has deleted the tweet calling it blackmail, since he apparently did not know that the offending version is still live for those who bought it before it was removed from the App Store. So at least that bit of hyperbole has been retracted.

People defending Apple's abusive behavior is some real Stockhom syndrome garbage. The entire "private companies can do what they want" crowd are as insufferable as they are wrong.

No one's rights are unlimited on private property, virtual or otherwise. And the more open to the public a company makes some of its property for its own benefit, the more rights it waives in favor of the rights of the public who are invited. This applies equally to public squares like Facebook & Twitter as it does to marketplaces like the duopolists' respective app stores.

Read Marsh v. Alabama if you're curious.

I don't think Apple cancelling of Epic's developer account is so much about Epic as it is about the rest of us developers. Get back in line or we will squash you like a bug. Apple is a scary, scary company.

If Apple gets through with this, it would prove to Apple that they can dictate what is allowed on Macs as they desire, just as they already do on iOS devices.

Consider you write some great new program, invest a lot of time and money into it, and then Apple decides that it finds the program objectional in whatever way. I mean, what stops Apple from adding new rules such as "no sexual content", and suddenly you're in violation. It would basically destroy you.

Until recently, this was not an issue, though. We devs were able to publish any kind of app for the Mac, no matter what Apple corporate thought of it. Perhaps not in the App Store, but outside it was still safe to distribute it.

Now, with Apple showing that they take the liberty to ban you from even signing your apps, they'd effectively break you, and all those supporting the move against Epic because Epic broke the rules - what education did you receive that told you that it's okay that a company can assume so much control over the market?

I've been a self-employed dev ever since I became an adult (over 35 years). The Apple platform has been my main base of income for the last 30. I'm invested in this platform. And suddenly Apple wants to change the rules - from being a provider of a platform and infrastructure to the one controlling who can use that platform and who can't - I feel immensely threatened by this. This is not progress, this is the opposite.

@Kevin There’s no contradiction. Apple is being consistent in applying the contract; others are consistent in believing that it isn’t just, that Apple shouldn’t have this power. Epic was trying to provoke a reaction so that it could legally challenge the contract. When Chinese apps refused to follow the rules about tipping, Apple backed down, so it’s not like the rules are set in stone. It absolutely is blackmail for Apple to threaten other products or Mac apps because of an iOS app that their own review process approved.

Kevin, the issue is this: prior to 2012 (the introduction of Gatekeeper), a contract with Apple was not required to distribute software on the Mac. Apple is now forcing Mac developers to sign a contract in order to distribute software outside the Mac App Store. In the past, it was impossible for a Mac developer to even have a contract dispute with Apple, because there was no contract to dispute.

Yes, @trent, because Epic is exactly the same as the Jehovahs Witness in Marsh v. Alabama.

Narrator: actually, no.

Old Unix Geek

There are a lot of things unconditional Apple supporters don't seem to understand.

Firstly, iOS might only have 1/12 of the smart cell phone users, but those users spend 2/3 of the money. Since software takes time to develop and expertise, it takes resources, and the market for software is not the number of users a platform has, but the number of dollars available on the platform. Think of it in an evolutionary manner: each piece of software is a creature competing for food. If there's not enough food, the creature/software will die. The iPhone world might be 1/12 the size, but it is twice as rich as the Android world. That means that the iPhone is a de-facto monopoly for many categories of software that cannot capture enough sustenance to survive in the Android world. Furthermore, Android phones have low compatibility with each other, rendering developing for Android more expensive than developing for iOS, which makes Android even less competitive.

Secondly, there are two ways to make software for iOS or Mac. One can create native apps using Apple's toolkits, or one can create cross platform apps using things like React Native, or QT. The former have some chance of providing a good experience. The latter rarely do. Users of Apple devices enjoy having better experiences, but that means the developers' entire investments in developing their software can disappear overnight. If Apple wants people to continue making such investments they must prove themselves to be credible partners. Punishing Epic and the developers who rely on its engine on the Mac is not being a credible partner, particularly since Apple hyped that same engine many times as WWDC.

Thirdly, it takes a large investment of time and effort to learn to program for a Mac/iOS machine. Apple is continuing in that tradition by destroying all cross platform APIs (e.g. OpenGL / Vulkan / OpenCL) and replacing them with their own unnecessarily different APIs (Metal). Doing so, they ensure they maintain a large number of developers who are beholden to them (or must learn a whole new ecosystem afresh, something that takes a number of years). This is totally anti-competitive.

I've noticed that many of the new apps that are being developed use React to support both Android and iOS. This trend shows there is less incentive to learn Apple's APIs today to make great software. Many senior developers I know have abandoned the Mac/iOS. There's little point in working on a platform that is becoming less and less reliable (bugwise, partnershipwise, etc). Windows (who'd have thunk?) and Linux are now better platforms on which to develop, be it groundbreaking AI, be it because they run the same x86 code as win run on must current servers, or be it because they provide reliable APIs that work year after year, instead of deprecating recent APIs every year. Frankly, developing on the Mac and iOS has become an exercise in masochism. Clever people figure out that it's a good idea to move on and cut one's losses.

One big thing nobody has picked up on yet: as of Aug 28, Epic loses the legal right to operate any Apple hardware for any purpose whatsoever. "All Apple software" means macOS and iOS period.

>Oh, how sad, did Epic think that it’s carefully staged
>hissy fit wouldn’t have consequences?

I think you're missing the whole point of all of this. The *purpose* of Epic's action was for it to have consequences.

>Epic is exactly the same as the Jehovahs Witness in
>Marsh v. Alabama

Two things don't have to be exactly the same to work as analogies. In fact, that's kind of the point, if two things were exactly the same, they couldn't be used as analogies, since they would be exactly the same, not just analogous, which literally means "comparable in certain respects."

Honestly, this kind of behavior from Apple's own customers is exactly why Apple's products have gone from "better than anything else by far" to "about the same, but mostly a bit worse than anything else." Many of Apple's customers don't care about how Apple's behavior impacts them, they only care about how Apple's behavior impacts Apple.

It's an odd kind of odd one-sided loyalty, where, instead of asking for Apple to improve, Apple's own customers will attack others who would like Apple to do better, thus providing cover fire for Apple's bad behavior.

Gruber overall did an okay job covering this, but then he had this odd commentary about how dishonest Epic was for not also attacking Sony and Microsoft's console platforms. Who cares! Why does Gruber care? Does he carry a PlayStation in his pocket? How would Epic attacking Sony improve his iPhone? How does Epic not attacking Sony make Apple's behavior more acceptable?

Who exactly does this kind of commentary help, other than Apple?

And why would you want to help Apple, when it comes at your own expense?

It's this odd situation where the Apple media, instead of covering Apple, acts as an unofficial PR arm for Apple. This enabling behavior is ultimately to the benefit of nobody.

It would have been much better fight if this was from Spotify or Hey.com

But for some reason I dont quite agree with Epic. I have no problem with Games being charged 30% on App Store.

Whelp I guess it's time to look into Windows desktop development. Been making my income with Mac desktop software for the last 15 years or so and I don't like this new(?) direction at all.

Honestly, good on Apple for giving Epic the boot. They’d do the same to any other developer who pulled that sort of stunt. For once, they really are treating large developers the same as small ones.

What’s stupid is I agree with Epic’s broad points but they’ve acted in such a way that I can’t sympathize at all.

This. They’re diluting their own message by acting in bad faith.

You can’t just slip in code on the back end to bypass code review. Hell, a lot of Linux repos would probably kick you out for that stunt.

And this.

Honestly, I don’t like that Apple has been letting this kind of behavior slide. Twitter keeps doing “A/B testing” on its users, changing the app’s feature set and UI layout depending on which user you are without any informed consent or even acknowledgment that it’s happening. Server-side feature flags make App Review largely moot, and strike me as partially user-hostile and also unnecessary. Yes, Twitter: you, too, can come up with a proper release process. Especially when your org has thousands of employees.

How would Debian feel if GNOME changed its feature set based on the phase of the moon and whether your username starts with a ‘k’? It would probably kick GNOME out.

(The discussion of whether we should have App Review at all, or whether we should have alternate stores, is a separate and interesting one.)

I think you’re missing the whole point of all of this. The purpose of Epic’s action was for it to have consequences.

So it’s in bad faith? How do you think a judge will feel about that?

Who exactly does this kind of commentary help, other than Apple?

Nuanced commentary helps everyone.

Epic isn’t the little guy fighting for the consumer. Epic also isn’t playing by the spirit of the rules regardless of the 30% payment; adding such a major feature via server-side feature flag simply shouldn’t be possible.

And why would you want to help Apple, when it comes at your own expense?

Because that premise is flawed. What Apple does isn’t automatically at the consumer’s expense, and what Epic does isn’t automatically at the consumer’s gain.

It’s this odd situation where the Apple media, instead of covering Apple, acts as an unofficial PR arm for Apple.

I really don’t think that’s fair? The takes on various podcasts seem a lot more nuanced to me than that.

>So it’s in bad faith?

That obviously depends on your definition of "bad faith." If you're asking whether Epic intentionally deceived Apple, then yes, they did, because that's the only way to test a rule like this one. Epic could have submitted an update to the app that violated the guidelines, but then Apple would have just rejected it, and Epic would have been unable to violate the rule.

>How do you think a judge will feel about that?

The legal usage of "bad faith" is different from how you used the phrase above, so I doubt they'll care too much.

>Epic isn’t the little guy fighting for the consumer

I'm pretty sure we all realize that. What I don't understand is why people think that it matters. Nobody is supporting Epic because they think Epic is a fantastic company. They're a terrible company who produce exploitative games and abuse their powerful position in the market.

Unfortunately, that knowledge doesn't provide iOS devs a way of independently distributing iOS apps, so it seems completely irrelevant to the discussion at hand.

>Epic also isn’t playing by the spirit of the rules regardless

But again, that's the whole point. They're not playing by the spirit of the rule because they don't believe that the rule should exist in the way that it does, and honestly, if you still use Apple products, then neither should you.

>Because that premise is flawed. What Apple does isn’t
>automatically at the consumer’s expense

That's not the premise of my argument. The premise of my argument is that the way Apple handles its ecosystems is ultimately user-hostile. It prevents competition and harms the people who create actual good software.

That's the fulcrum of the argument.

It doesn't matter who Epic are, it doesn't matter what else they do or don't do, it doesn't matter what Sony or Microsoft do, it doesn't matter whether Apple is also doing good things, that's all irrelevant, and ultimately, for users of Apple's products, focusing on these things is a form of self-sabotage.

A shame that the Herf tweet looks like it was deleted.

One big thing nobody has picked up on yet: as of Aug 28, Epic loses the legal right to operate any Apple hardware for any purpose whatsoever. "All Apple software" means macOS and iOS period.

Nobody? It's literally in the first paragraph of this blog post.

You can’t just slip in code on the back end to bypass code review. Hell, a lot of Linux repos would probably kick you out for that stunt.

Epic's stunt did prove – in a very public way – that Apples review process does not prevent backdoors, hidden code and malware. It's a good thing to shine a light on because Apple keep pushing that agenda.

>Nobody? It's literally in the first paragraph of this blog post.

The post's first paragraph says that Epic's developer accounts will be terminated, not that Epic loses the "legal right to operate any Apple hardware for any purpose whatsoever." It's not clear to me if it is even legally possible for Apple to do something like that to Epic.

Apple: “We’re not a monopoly”

Step 1: Make the tools “free”
Step 2: Other compiler makers die because they can’t compete (e.g. Metrowerks)

[..]

They seem to have completely forgotten the early days of MacOS X when they literally were begging developers to work with them. Pride cometh before a fall.

Weren’t the Xcode Tools (née Developer Tools) free even in the early OS X days?

In any case, I can see either side of that coin. I do think it’s a bummer that they made stuff like iWork free, and made their pro apps rather cheap. It lowers pricing expectations from consumers and makes it hard to compete.

OTOH, having to pay money for the premier IDE increases the barrier to entry (and yes, I realize this also applies to the $99/yr fee, but you can dabble with a test project for free), and seems rather out of place in 2020. (I say this as someone who pays almost five figures a year for Microsoft and third-party dev tools. I think I’d prefer the Microsoft approach here: have a free tier for small teams, but absolutely do require a high annual fee for more advanced use cases. This would help with the whole Radar situation, too…)

There’s also the aspect of not controlling your own developer platform. CodeWarrior wasn’t a terrible IDE, but Metrowerks didn’t always see eye-to-eye with Apple or third-party Mac developers.

People defending Apple’s abusive behavior is some real Stockhom syndrome garbage.

It’s a game of chicken between Apple and Epic, not a case of abusive behavior.

Consider you write some great new program, invest a lot of time and money into it, and then Apple decides that it finds the program objectional in whatever way.

But that isn’t what happened in this case. Yes, Apple has in the past shown capricious behavior where they change their interpretation of the rules in a bugfix release, but that isn’t what this case is about.

Epic’s stunt did prove – in a very public way – that Apples review process does not prevent backdoors, hidden code and malware. It’s a good thing to shine a light on because Apple keep pushing that agenda.

It also proved that Epic (and others, such as Twitter), is perfectly to content to change the software you have installed on your personal device, without your consent, against your will, and in this case, with the sole purpose of a PR stunt against another company.

>>People defending Apple’s abusive behavior is
>>some real Stockhom syndrome garbage.
>It’s a game of chicken between Apple and Epic,
>not a case of abusive behavior.

The abusive behavior is not just towards Epic (which, by the way, is definitely abusive behavior on Apple's part), it's towards Apple's developers in general, and towards Apple's customers. The Stockholm syndrome is Apple's customers defending Apple, and focusing on whataboutism, when a win for Epic against Apple would have clear positive effects for them.

If Epic wins, Apple's customers only stand to gain, yet they voluntarily do unpaid PR work on Apple's behalf against Epic.

This kind of tribal behavior was understandable in the 90s, when Apple was about to die, and we were all scared of losing our favorite platform and having to use Windows 95, but today, it's just counterproductive. Apple is not your friend.

>It also proved that Epic

Why do you care? Honestly, why does it matter in this context that Epic is also a garbage company that does garbage things? Do you run your life on an Epic phone? Do you write software for an Epic operating system? If you go to a store and buy an iPhone, will knowing that Epic is also a garbage company in any way improve that iPhone?

All you're doing is pointing out that Epic are a bunch of hypocrites. You're right, they are. How is that relevant to a discussion about Apple's behavior towards its users and developers? What point does that prove?

It's just whataboutism.

The abusive behavior is not just towards Epic (which, by the way, is definitely abusive behavior on Apple’s part)

How? Epic agrees to contract, Epic violates contract. Apple retaliates in predictable fashion. Epic already has lawsuit and ad campaign ready, because they knew it would happen. Apple then also clarifies that, oh, btw, you can’t just leave the feature that obviously violates the contract in. Take it out in the next two weeks, or we’ll retaliate further.

How is that abusive? A good argument can be made that the contract is problematic, but we already have the lawsuit for that.

If Apple had allowed Epic to leave the feature in, wouldn’t that be rather absurd of Apple to do? To say, “this is all about App Review to have quality stuff” but then also “oh, but if you find ways to circumvent App Review, we really hate that, but also, we kind of don’t care”?

The Stockholm syndrome is Apple’s customers defending Apple, and focusing on whataboutism, when a win for Epic against Apple would have clear positive effects for them.

We don’t know at all what a win looks like. And when you have a company suing another company, questioning the plaintiff’s pure intentions is not “whataboutism”. Come on. Questioning all parties is literally what lawsuits are all about.

If Epic wins, Apple’s customers only stand to gain

If the end result is that multiple companies run their own software repository, and pull their apps from Apple’s, that’s not necessarily that great for customers.

As pointed out on… Upgrade? Connected?, Epic had Fortnite on its own loader (outside the Play Store) for a year and a half, and the user experience was so bad that they had to cancel the idea.

This kind of tribal behavior was understandable in the 90s, when Apple was about to die, and we were all scared of losing our favorite platform and having to use Windows 95, but today, it’s just counterproductive. Apple is not your friend.

Apple is a corporation. They weren’t my “friend” in the 90s either; the “love Macs, but hate Apple” thing dates back to those days.

You’re painting a picture where a lot of people are defending Apple. I have no doubt René “Apple Silicon isn’t ARM even though it’s ARM and I frankly don’t know much about CPUs but it’s not ARM” Ritchie did, though.

Why do you care?

Because at the end of the day, the way the App Store works isn’t solely about extracting the most revenue for Apple. There are more complicated motivations at play. And some of them I firmly believe do benefit the average consumer.

All you’re doing is pointing out that Epic are a bunch of hypocrites. You’re right, they are. How is that relevant to a discussion about Apple’s behavior towards its users and developers? What point does that prove?

It’s just whataboutism.

How?

Country A commits human rights violations; is asked by press; points out that country B does, too.

Apple extracts absurd amounts of money from the store; is asked by press; points out that Google does it, too. That is whataboutism. You can make a case that, when they pointed to the Google Play Store also taking 30%, it was a silly deflection (especially since Google I’m sure was inspired by Apple’s 30% cut in the first place).

This isn’t that. This is Epic disagreeing with a policy, making a public stink, and some people pointing out that the policy isn’t actually that black and white, and that Epic pretending that it is serves their purposes as a plaintiff (in both the court of public opinion, and the actual court).

>Apple retaliates

That's your answer. If a two trillion company retaliates against its own developers, that's abusive. Removing the app from the App Store is predictable; it's just enforcing the rules. Terminating Epic's developer accounts is actually abusive.

>questioning the plaintiff’s pure intentions is not
>“whataboutism”. (...) Questioning all parties is
>literally what lawsuits are all about

"Pure intentions" are usually irrelevant for legal proceedings, and they're definitely irrelevant for Apple's customers and developers. It just doesn't matter what else Epic has done in the past, and it doesn't even matter if Epic intentionally violated Apple's rules.

What matters is what *Apple* is allowed to do.

>If the end result is that multiple companies run their
>own software repository, and pull their apps from Apple’s,
>that’s not necessarily that great for customers.

It actually *is* great for customers. It means that companies like Omni can have their own iOS App Store that sells their apps, which means that Apple will be forced to offer more reasonable terms to their developers, which means that there will be more of a market for actually selling good software to Apple's users, which is not just great for Apple's customers, it's downright fantastic for them.

And then maybe Omni, one of the few remaining companies that actually makes good software for Apple's devices, won't have to fire even more of their developers.

>the user experience was so bad that they had to cancel
>the idea

And that's why they're also suing Google. I'm not sure what point you're making, maybe you can elaborate.

>This is Epic disagreeing with a policy, making a public
>stink, and some people pointing out that the policy isn’t
>actually that black and white,

That's not what you did. If that's your point, then fine, I agree with that. That's a fair point to make, and we can discuss what exactly Apple should change, and what potential downsides of any change might be. That's debating the issue.

However, the point you actually made was this:

"It also proved that Epic (and others, such as Twitter), is perfectly to content to change the software you have installed on your personal device"

That's whataboutism. That's exactly the "but country B does it too" argument.

Gruber:

I suggest not holding your breath waiting for Microsoft (let alone Sony or Nintendo) to file a friend of the court brief for Epic, or even to offer Epic a word (or tweet) of encouragement.

Microsoft:

Today we filed a statement in support of Epic's request to keep access to the Apple SDK for its Unreal Engine. Ensuring that Epic has access to the latest Apple technology is the right thing for gamer developers & gamers

@Sören
While we do not always agree, I appreciate your back and forth with Lukas on this topic. If nothing else, the following will be an ever full source of mirth:

I have no doubt René “Apple Silicon isn’t ARM even though it’s ARM and I frankly don’t know much about CPUs but it’s not ARM” Ritchie did, though.

My opinion on the matter is Apple is wrong on all counts here. "What do you mean Nathan?" Simply this, the big selling point of the iOS walled garden is safety, but if any company can remotely enable code in their apps, how much safety actually exists? If the promise of safety is illusory, then all that is left is platform control so Apple can take a forced cut from ther people's work.

Apple sells developers a yearly membership, Apple sells developers hardware as well, is a mandatory 30% cut really fair in light of the fact they already make money off the developer base? If Apple wants to offer hosting, tooling, and payment processing for 30% as an optional value add, then I'm all for them competing for that cut. Otherwise, not so much. Even better, maybe each of those services could be 10% and if all three are adopted then a total of 25% (a slight discount for all three could encourage developers to go all in).

Let us be honest, developers are not necessarily flocking to the platform's tools, hosting environment, and payment processing because they are all best in class. Developers who want a slice of the iOS install base are required to adopt all of those things as a prerequisite. I honestly think if Apple lifted the walled garden app restrictions on development, you would see a sizeable amount of developers opt out of Apple's tools and services. Just a guess, take that for what it is worth, as a layman's guess is probably not worth much. Thank you.

If nothing else, the following will be an ever full source of mirth:

The funny-sad thing about that video is people would link it to make a point about Apple’s CPUs being great. Which, yes, they are! In part because they’re a custom design. But their ISA is still ARM.

And I think that’s kind of what René is trying to get to, too? That Apple’s CPUs are great, in part due to their design, and in part due to the GPU and coprocessors (e.g., Neural Engine)? But you don’t have to say something false to make that case.

Simply this, the big selling point of the iOS walled garden is safety, but if any company can remotely enable code in their apps, how much safety actually exists?

I don’t think this is talked about enough.

For both reasons: both because it makes App Review far less meaningful, and because I think app vendors being able to set feature flags on the server-side is user-hostile.

I don’t know what the answer is, but I do know the answer is neither for Apple to oversell App Review’s usefulness, nor for app makers to get away with “This update contains bug fixes and enhancements! Thank you so much for reading these completely bullshit release notes. Did you know? You can turn on auto-update so you don’t even have to think about how we keep changing the code on your device.”

Apple sells developers a yearly membership, Apple sells developers hardware as well, is a mandatory 30% cut really fair in light of the fact they already make money off the developer base?

I don’t think it is.

I think the 30% is too high, and the $99/yr is too low — or, rather, that they should go back to multiple tiers. Keep that tier around (or make it cheaper, or free, whatever), but bring back a premium one where bug reports aren’t ignored.

Let us be honest, developers are not necessarily flocking to the platform’s tools, hosting environment, and payment processing because they are all best in class.

Indeed.

(They’re not terrible, but ask a multi-platform app developer how they feel about Apple’s tools, and you’ll be hearing an earful.)

I honestly think if Apple lifted the walled garden app restrictions on development, you would see a sizeable amount of developers opt out of Apple’s tools and services.

Maybe Apple worries about that as well. And maybe their response to the worry should be to be better at competing.

If Apple allows network access, apps' behaviour can be changed by a third party, because the data the app downloads changes its behaviour: the app is an interpreter for that data. That's how web rendering works. But it's also how many games work. For instance, my understanding is that Fortnite downloads 3D models of game objects from a server. The page allowing you to buy their "vbucks" could very easily use the exact same mechanism. No "epic-vbuck" specific code need have been added: the entire flow could be done as a game interaction. Only if you tap on the Apple store "object" does it enter iOS specific code for IAP.

If Apple allows network access,

Honestly, I wish apps had to request it from the OS.

Apple probably doesn’t want to do this because it leads to alert fatigue, but… I’d say roughly a third of the apps I run shouldn’t get network access. Games, health-/activity-related things, stuff like that. Heck, even things like notetaking could be restricted: if all they use is CloudKit, they don’t need to make network requests of their own.

But, again, my guess is Apple is being conservative in rolling these out, due to alert fatigue. Which also explains the strange clipboard UI. A “Tiktok is trying to access contents of your clipboard” alert is far more frustrating than useful.

apps’ behaviour can be changed by a third party, because the data the app downloads changes its behaviour: the app is an interpreter for that data. That’s how web rendering works.

Well, yes and no. The guidelines actually restrict the extent to which downloaded data can be interpreted, and Apple’s interpretation/strictness of them have changed over the years. For a while, even stuff like running an app that uses non-Apple tooling (such as Xamarin or PhoneGap) was strictly verboten. And even today, you largely can’t ship your own JIT, which is why browsers effectively can’t ship their own rendering engines (JS would be prohibitively slow).

Apple is clearly a bit looser with it these days, what with the existence of, say, Pythonista. But there are restrictions.

But it’s also how many games work. For instance, my understanding is that Fortnite downloads 3D models of game objects from a server. The page allowing you to buy their “vbucks” could very easily use the exact same mechanism. No “epic-vbuck” specific code need have been added: the entire flow could be done as a game interaction. Only if you tap on the Apple store “object” does it enter iOS specific code for IAP.

It’s quite a different thing to download a model and render a texture on top, and to download a set of feature flags and apply them. It may be hard to prevent feature flags at a technical level, but it’s absolutely possible to restrict it at a guideline level. It’s just… where do you draw that line? Are different themes allowed? Of course. Is a special holiday theme allowed? If so, is it only allowed if it ships as a reviewed update? But then, doesn’t that ruin the surprise? And so on.

But the line being hard to draw clearly hasn’t stopped Apple before, so…

You don't need "feature flags" for what I suggested: feature flags means the behaviour is encoded in the App. It doesn't have to be. The behaviour could be specified in the iOS binary. But it could also be specified in interpreted code sent over. That could be using Javascript, using webkit, or it could be using something else entirely that would be very hard to notice, such as a custom Forth interpreter. Or it could be running on the server. In the latter two cases, that behaviour does not go through "App Store review". You're right that Apple can ban such apps based on their guidelines if they notice changes afterwards, but it puts a lie to the notion that "App Store review" somehow makes you "safe" from third party app developers changing the user's experience.

FWIW, JS only needs to be JIT'ed because people insist on using insane amounts of it.

You don’t need “feature flags” for what I suggested: feature flags means the behaviour is encoded in the App. It doesn’t have to be.

It does.

The behaviour could be specified in the iOS binary. But it could also be specified in interpreted code sent over.

Like I said, that would be a violation of 2.5.2:

2.5.2 Apps should be self-contained in their bundles, and may not read or write data outside the designated container area, nor may they download, install, or execute code which introduces or changes features or functionality of the app, including other apps. Educational apps designed to teach, develop, or allow students to test executable code may, in limited circumstances, download code provided that such code is not used for other purposes. Such apps must make the source code provided by the Application completely viewable and editable by the user.

Which makes sense, because if an app can significantly alter its nature after the fact, what is the point of reviewing it?

You’re right that Apple can ban such apps based on their guidelines if they notice changes afterwards, but it puts a lie to the notion that “App Store review” somehow makes you “safe” from third party app developers changing the user’s experience.

Whether App Review is good and/or effective is a whole other discussion.

FWIW, JS only needs to be JIT’ed because people insist on using insane amounts of it.

Well, those people might use “maybe if iOS allowed sideloading apps, we wouldn’t have to do web apps” as their defense.

You're arguing contractual agreements. I'm arguing code (reality).

2.5.2 is clearly only enforced when Apple wishes to. Using any 3rd party web-browser to run an HTML 5 game would violate it, yet Apple does not yet ban them. If you play a networked game, then the game's functionality changes when you get killed by other players. If the game runs on a server, its functionality changes all the time, as the people running the server fix bugs, change the worlds you inhabit, and so on.

My point is precisely that app review is pointless in a world in which the app can access the internet. Only if your app is independent of the rest of the world can app review actually work, but ironically that is when it is not necessary. So called "security holes" are literally cases where the Turing Machine properties of the system inadvertently leak through, and App review certainly doesn't catch those, let alone deliberate leaks. Therefore I don't believe App review can have much to do with keeping users safe, but a lot to do with granting Apple more power. In fact Apple's rejection of Microsoft's game streaming app because they can't review the games people could stream proves my point.

Arguments that rely on distinctions between "data" and "code" might convince lawyers, but they ignore the fact that every program is essentially an interpreter for the data you feed it.

You’re arguing contractual agreements. I’m arguing code (reality).

The entire App Store discussion is about agreements. Apple isn’t arguing that Epic isn’t able to do it on a technical level (clearly, they are), but that they’re not supposed to due to agreements.

The App Store also has various technical affordances to help enforce the guidelines, such as the sandbox and some static pre-review analysis, but the main part is the guidelines.

2.5.2 is clearly only enforced when Apple wishes to.

Sure.

If you play a networked game, then the game’s functionality changes when you get killed by other players. If the game runs on a server, its functionality changes all the time, as the people running the server fix bugs, change the worlds you inhabit, and so on.

I think you’re really reaching with these examples.

My point is precisely that app review is pointless in a world in which the app can access the internet.

Something isn’t pointless by virtue of being imperfect.

Leave a Comment