Most active commenters
  • user-the-name(3)
  • the_other(3)
  • saagarjha(3)
  • coder543(3)

←back to thread

830 points todsacerdoti | 32 comments | | HN request time: 1.008s | source | bottom
Show context
gtsteve ◴[] No.25135526[source]
Looks nice but it doesn't solve my fundamental problem:

1. I invest loads of time and effort developing an app

2. Apple rejects it

-or-

2. Apple approves it

3. I ship a new update

4. Apple rejects the update and now decides my app should have been rejected retroactively.

I'm especially concerned about what happened to Hey and others but my customers are demanding smartphone apps and there are still limits to what can be done with a mobile web browser.

replies(11): >>25135538 #>>25135628 #>>25135644 #>>25135672 #>>25135968 #>>25135975 #>>25136030 #>>25136106 #>>25136507 #>>25137973 #>>25139367 #
1. user-the-name ◴[] No.25135538[source]
This really isn't a problem in practice, unless you are going out of your way to try to bend the rules set in place, especially about sales.
replies(6): >>25135567 #>>25135586 #>>25135624 #>>25135693 #>>25135898 #>>25141783 #
2. jamil7 ◴[] No.25135567[source]
It can be a problem in practise since the rules aren't fairly or consistently enforced. Look to recent issues with iSH being approved and rejected.

Edit: as others have pointed out iSH isn't the best example of this.

replies(2): >>25135616 #>>25135620 #
3. nguyenkien ◴[] No.25135586[source]
Apple can change it rules. eg: https://www.theverge.com/2019/4/27/18519888/apple-screen-tim...
4. spijdar ◴[] No.25135616[source]
While I agree the rules are often inconsistently enforced, and I'm a fan of iSH, I think the real surprise is it was ever approved in the first place, as it seems to clearly be violating the "spirit of the law" regarding Apple being pretty clear they don't want apps that allow arbitrary binary execution.

iSH tried to circumvent this with a technicality, and it seems to have initially "worked", but I think it's a poor example of an app unfairly/inconsistently targeted.

replies(2): >>25135727 #>>25135853 #
5. Closi ◴[] No.25135620[source]
iSH is definitely in the “pushing the boundaries of the rules” area of apps (x86 emulation) and probably shouldn’t have been allowed if you took a strict interpretation of the rules.

OP is just saying 99% of apps being developed are clearly within the rules, rather than really pushing against the boundaries of what is allowed.

replies(1): >>25135894 #
6. gtsteve ◴[] No.25135624[source]
Unless you're competing with something Apple is planning to bring out (parental control apps before screen time stats, etc).

I don't think I'm competing with Apple at all today, but who knows what they're planning for their next features?

replies(3): >>25135647 #>>25135739 #>>25136279 #
7. varispeed ◴[] No.25135647[source]
Exactly, nothing stops them to pull "Amazon", that is once they see your app is successful, they could request all data they need and either buy it off the company that developed it for you or commission their own app based on the documentation you had to provide and then block you. There is currently nothing you could do about it.
8. richardARPANET ◴[] No.25135693[source]
Except it is https://en.wikipedia.org/wiki/Censorship_by_Apple#App_Store
9. jamil7 ◴[] No.25135727{3}[source]
OK fair enough perhaps it wasn't the most cut and dry example. But it was the most recent I could think of.
replies(1): >>25135918 #
10. the_other ◴[] No.25135739[source]
Surely this is true for all developers, at any size? And also just about any product, or service, in any industry?

As counterexamples: Apple sell Logic, yet it has numerous competitors, also all fairly successful: ProTools, Live, Cubase, Reaper, Ardour, FruityLoops. Apple give their customers Notes, Reminders and Mail for free, on all their devices (i.e. you don't even need to get hold of apps for these functions), and yet we also have Evernote, Notion, Airmail, Spark etc etc.

Does the App Store monopoly significantly change the nature of app competition? I'm not convinced, but I'm open to learning about it.

replies(4): >>25135892 #>>25136060 #>>25136304 #>>25141776 #
11. saagarjha ◴[] No.25135853{3}[source]
I worked on the iSH appeal, and have of course watched this space for years, so I've gotten very familiar with the "spirit of the law" to the point that the conversation with Apple ended up really being a confirmation that our interpretation of the law was correct and that iSH was fine under the rules that Apple enforces. Your characterization isn't quite right. Apple doesn't want to not have apps that allow users to execute code, in fact they themselves write apps that let the user execute code they write and demo them at WWDC (Swift Playgrounds? Shortcuts?). Some of the best apps on the App Store let you write code and run it. Saying iSH is in violation of those rules would require pulling down those apps too.

What Apple is really trying to do is prevent apps from changing their behavior after they review them in a silent way to bypass the usual process. The real issue here is that their guidelines don't reflect this and this confuses the reviewers (and evidently commenters here on Hacker News). What needs to happen here is Apple clarifies their guidelines so that we don't have rules that can be inconsistently enforced.

(If you need more to convince you, I'll point you at the stuff I wrote when that was going on: https://saagarjha.com/blog/2020/11/08/fixing-section-2-5-2/).

replies(1): >>25138067 #
12. afandian ◴[] No.25135892{3}[source]
Surely the fundamental difference here is whether "the market" decides, giving you a fighting chance, or whether the Deity decides, with no recourse but supplication?
13. saagarjha ◴[] No.25135894{3}[source]
Well, that is the crux of the matter: the rules are not written correctly because they allow iSH to be inconsistently judged if you take "a strict interpretation"; there should not be a strict interpretation; it should just be "this app is reasonable" and "this app is not" and not "hey this looks like it's running code…does that make it a security risk?" which reviewers are not equipped to answer.

When we made the appeal for iSH we correctly surmised that the point of the rule that was cited was to prevent apps from bypassing App Store review, which iSH does not do in the slightest. Taken from the real perspective from which the app should have been judged, iSH is not at the boundary at all; instead it's the apps that do things like undisclosed A/B testing and feature flags to hide things from review. So what happens is developers like us who are actually clearly within the rules as they are meant to be applied get caught in limbo at the whim of reviewers who misunderstand the guidelines because they aren't written as they are supposed to be enforced.

14. adanto6840 ◴[] No.25135898[source]
I recently was in contact with someone who has written a menu-bar app to monitor Tesla Powerwall status. It's in the Mac App Store already -- but NOT the latest version, because Apple suddenly decided that they wanted written proof that accessing the Powerwall APIs was allowed (from whom?! It's MY hardware!). Apple will not allow the dev to update his Mac App in the MAS; yet they approved & continue to leave the original older version [with known bugs] up, available for purchase.

So now the developer is stuck -- he can't update his app on the Mac App Store, and what recourse does he have as a 1-man-shop vs Apple?! =|

As a developer I find it absurd, as a consumer [who bought the app on MAS and wondered why I had the non-latest version], I find it absolutely baffling & anti-consumer.

replies(1): >>25136003 #
15. saagarjha ◴[] No.25135918{4}[source]
I think the fact that the guidelines are written as such to make people think it wasn't a cut and dry example is really what makes it better example than you might have even though it was at the beginning. The rule Apple would like to enforce is very clear, and we know what it was and the review team didn't, because the guidelines didn't reflect the rule that Apple wanted to enforce (and thus ended up enforcing it inconsistently). A situation where developers have to tell the review team how the guidelines work because they're not written down explicitly is a very untenable position and one that needs to change.
16. sunshinerag ◴[] No.25136003[source]
he cannot withdraw the older version of the software from the app store? that is weird.
replies(1): >>25136696 #
17. dannyw ◴[] No.25136060{3}[source]
When Apple added Screen Time, they banned other competing apps.
replies(2): >>25136160 #>>25136467 #
18. the_other ◴[] No.25136160{4}[source]
I see how that does affect the competition. Fair point.
19. philjohn ◴[] No.25136279[source]
Didn't those apps get around lack of OS integration by essentially installing an always-on VPN ... something that could be a huge privacy issue?
20. swebs ◴[] No.25136304{3}[source]
>Surely this is true for all developers, at any size? And also just about any product, or service, in any industry?

No, this is very unique to Apple, and only on iOS. Its the reason why iPhone web browsers have to use Safari under the hood.

replies(1): >>25149067 #
21. danaris ◴[] No.25136467{4}[source]
If I recall correctly, the apps they banned were doing things like abusing the VPN function to capture all traffic from the phone, and using that as their mechanism for blocking certain websites (or maybe it was MDM they were abusing...?).

It wasn't a simple matter of "Apple releases product that does X, then bans all products that do X from the App Store;" the products they banned had to use some seriously sketchy tactics to monitor and restrict other apps on the iPhone without system-level access.

replies(2): >>25136728 #>>25137596 #
22. ◴[] No.25136696{3}[source]
23. coder543 ◴[] No.25136728{5}[source]
And, instead of providing APIs to help make those apps less sketchy... Apple decided it would be easier to just ban them.

Apple clearly thought they were valuable enough to customers to keep around before the release of Screen Time, even with the sketchy method they had to use.

replies(1): >>25136873 #
24. user-the-name ◴[] No.25136873{6}[source]
Because those APIs can be used for extremely sketchy activity.
replies(1): >>25137291 #
25. coder543 ◴[] No.25137291{7}[source]
Many APIs can be used for sketchy things. Supposedly, that’s one thing the App Store review process is meant to catch.
replies(1): >>25138325 #
26. dannyw ◴[] No.25137596{5}[source]
But it’s not possible to replicate Screen Time without using VPNs.
27. spijdar ◴[] No.25138067{4}[source]
Hmm, that's fair. I don't use iOS much myself, so I'm not very familiar with what's available on the App Store. It does appear that at least Swift Playgrounds allows for projects (including code, which is interpreted) to be downloaded off the Internet, extending the runtime beyond what is available "at time of review".

That said, briefly looking over some scripting/IDE environments not from Apple, it looks like most of them ship "batteries included" and don't allow for content to be pulled from online.

It seems to me the equivalent of iSH shouldn't be, say, a Python interpreter/IDE, but a Python runtime including pip and the ability to pull modules from pypi.org.

OTOH, Python itself is so reflective, I imagine there's probably some way to self-inject modules within a script, if you have any sort of web access. And since you can tunnel TCP over DNS, even a hostname lookup is enough. So I'll conceded the point, since most scripting runtimes probably have some kind of EVAL routine to invoke the interpreter, or a porthole into the interpreter's bytecode.

That said, my own original point was about developers/businesses feeling uncertainty about Apple's rules, and worrying if an app would even be accepted. I feel like almost any developer would instinctively thing iSH's premise of being a program interpreter for the Linux ABI would be rejected by Apple.

Whether or not the underlying rule is fairly applied aside, it's clearly something Apple wants to prohibit. Albeit, I'm kind of baffled myself at why, especially in iSH's case where the emulated runtime is completely separate from the "real program text", with no escape hatches out IIRC. Seems utterly ridiculous to me, especially when you can accomplish something similar in WebKit/JSC I'm sure, just not offline. :-/

28. user-the-name ◴[] No.25138325{8}[source]
You can't detect everything in review.

iOS has always been designed as not to offer APIs that can be used for particularly harmful purposes.

replies(1): >>25138893 #
29. coder543 ◴[] No.25138893{9}[source]
I agree completely.

I'm still not a fan of Apple sherlocking popular apps and then proceeding to ban those apps that carved out the market for them... that's a very anticompetitive move.

30. xinsight ◴[] No.25141776{3}[source]
Years ago, Apple banned Camera+ for allowing to take a photo with the volume switch (instead of using an onscreen button). It was "too confusing" and against their Human Interface Guidelines. Then they added that exact feature to the default iOS camera app.
31. gnicholas ◴[] No.25141783[source]
Absolutely untrue. Many well-meaning devs who paint entirely within the lines end up in review purgatory due to capricious interpretations of Apple's broad/vague rules.
32. the_other ◴[] No.25149067{4}[source]
That particular case sees Apple setting the rules of the market, not acting anti-competitively.

All the browser-makers successfully compete on features, as proved by the continued existence of multiple browsers on the App Store. Hell, Firefox can even afford to cannibalise its own market with two versions of Firefox (FF, and FF Focus).

Furthermore all the big name browser makers sell their offering at "free". In my view, this makes browsers an outlier in any discussion of Apple's anti-competitive behaviour. It doesn't shut down the conversation, just takes browsers out of it.