Why Dolphin Isn't Coming to the App Store
daringfireball.net
daringfireball.net
> That’s not unreasonable
Is Gruber paid by Apple?
Limiting it arbitrarily for an artificial advantage should be illegal.
Of course they should be able to do that. Of course they do not have an obligation to open everything to everyone at all times.
This is not like the bad old days where Microsoft used private APIs to disadvantage third party software in an operating system that literally had 95% world wide market share. I don’t know what share iOS has, but it’s a tiny fraction of the installed base of all operating systems.
This is much worse than the bad old days. If an app is in a business Apple doesn't like or uses technology Apple doesn't approve of they just ban them outright.
That doesn’t mean every device needs to be open.
That's your opinion.
There are many dimensions to “freedom”, and in the case of my phone, I want freedom from janky software that breaks when the OS gets a minor upgrade. I want the freedom of a device that almost never fails. I want freedom from malicious software that puts its fingers down my throat and rips out my private data because some alpha quality API has bugs.
In any case, you can and do have the freedom to use these private APIs on your phone, you can do it right from Xcode and install the software directly on your phone.
The only freedom you don’t have is the freedom to publish that software as a product and risk making my phone break, or worse.
Also, if you happen to use a Mac, all that same private data from your phone lives there too. I haven't heard a good argument for why this one class of device should be open while the others are locked down, especially given the availability of secure enclaves across Apple devices.
> You can and do have the freedom to use these private APIs, you can do it right from Xcode and install the software directly on your phone.
If I pay $99 a year, have access to the code, renew my certificate every week, and stay in Apple's good graces. To me — and seemingly to the EU — this is simply not acceptable.
I understood you to be arguing that the canonical App Store should allow use of private APIs.
If your argument is simply that there should exist other ways to get apps on your phone, then we agree. I wouldn’t touch an alternative App Store with your ten foot pole, but go nuts.
But you originally said,
> If an operating system feature is accessible from user space, then it should also be documented, supported and legal to use.
And it was this that I disagreed with. Apple has every right to test APIs without committing resources to documenting and supporting them.
ETA: also, as far as I know, you don’t need to pay $99 to compile and build locally. I did just that the other day and it seemed to work just fine.
Oops, I guess I should have read the rest of the thread more carefully. Yes, this is what I meant — sorry for the misunderstanding. Apple should be able to do whatever it wants in its own App Store, and I don't think that private APIs need to be documented or available to use without an entitlement. However, I don't think that I should be prevented from using those private APIs in apps outside the App Store.
That aside, if Apple's sandboxing of the OS is solid, I don't see how a JIT would be problematic.
I think most of us on HN understand that "safety" is something you just have to accept is never 100%.
As an example a team responsible for security can test the standard image libraries (libjpeg, etc.) using file-fuzzing to find any bugs around buffer overflows, etc. It's good they do this but we all know that this is still a statistical shot in the dark that may still leave a vector somewhere in the framework.
https://support.apple.com/en-us/105120
So Apple considers its own trusted JIT a security threat surface.
This means that your app can load arbitrary updates from the server and execute them, for example based on some purchase not made in the AppStore.
This is all about keeping the 30% tax and only tangentially about security.
[1]: https://daringfireball.net/linked/2024/06/15/japan-app-store...
It’s not protectionist to force Apple to open up the App Store in your country. It might be disagreeable, for some people, and that’s fine, it’s ok to have an opinion. But if you’re going to throw around big words you should know what they mean.
They didn’t, in this case, so it’s not.
You can see this with his other articles on the DMA, where he argues that the EU (or Japan in the case of the recent law they passed, see other commenter) are doing this specifically because they want to punish US big tech[1][2][3], rather than acknowledging the fact that these companies all being US giants is a mere coincidence and this would have happened regardless.
Even if the monopolist manages to mask himself behind good PR (which Apple has), they're still a monopolist. It's just that the digital age created a new type of monopoly: the platform/ecosystem monopoly, where a company that on paper has other options available in its market, is able to lock in it's business partners and make them unable to move because of the sheer size of it's existing customer network (whilst also keeping those same customers locked to the platform in a vicious cycle).
Apple is but one example (and arguably the most egregious as they exploit and enforce theirs to a degree that's pretty extreme), but most of GAFAM operate their own platform monopolies with varying degrees of abuse.
It also goes hand-in-hand with absolutely bizarre arguments and misunderstandings surrounding the GDPR[1]. In their heads the destruction of the EU digital tracking market while (US) big tech washes it's hands of the regulation presents itself as a failed anti-competitive measure rather than the clear intent which is to well, destroy the digital tracking market in the EU, which is what the GDPR is entirely about. (Since the EU considers digital tracking to be unethical and a violation of the right to privacy.)
The weird thing is that both Techdirt and Gruber are otherwise pretty clearly pro-consumer rights but have this almost absurd belief in the free market self-regulating without laws while a free market without laws (well, they're mostly unenforced or weakly enforced) is what got us here to begin with.
[0]: https://pluralistic.net/2024/02/06/spoil-the-bunch/
[1]: https://daringfireball.net/2024/04/edpb_meta_pay_or_ok
[2]: https://daringfireball.net/2024/01/apples_plans_for_the_dma
[3]: https://daringfireball.net/2024/03/ec_non_compliance_investi...
LOL. I should just take it as a fact, right?
Of course, as an end user, you need to consider third party apps and your operating system as potential attackers in your own threat model. So, from a user's point of view, allowing the OS vendor to do something that a third party app can't do, doesn't make much sense.
As far as safety is concerned, memory safe JITs are a thing. If they're worried about secret APIs, an ACL can be enforced in many different ways. If they're worried about syscalls, apps with JITs in them can be sandboxed.
From some quick Googling, it seems like JavaScriptCore is running with the JIT disabled in most apps, but surely e.g Chrome is running with JIT enabled. Convincing Apple to let you use JavaScriptCore with JIT enabled might be easier than convincing them to let one run one's own JIT.
All 3rd party browsers today use WKWebView and add their own "chrome" over the rendered page. In essence Chrome/Firefox for iOS are really just Safari with custom chrome for bookmarks etc…
If you did want to try the best approach is probably to compile Dolphin to WASM and render via WebGPU. Then you can JIT WASM. But I suspect that the overall performance will still be lower. (Although a web version of Dolphin would still be super cool.)
Dosbox-on-the-web has proved pretty popular, and a lot of old games are available on the web that way.
It absolutely is. Don't be delusional lol. Here's a video of dolphin running on android: https://www.youtube.com/watch?v=Tp-D4GvUxY4
It's about money, not technical capabilities.
So for android: One time fee of $20, yearly $0 profit
For apple: Yearly fee of $100, yearly $-100 profit
It also does not help that most users don't understand that the way the device is locked down really limits their ability to truly own their device. Even those that have some understanding of how apple is basically infringing on the owners right of exclusion by not letting them load their own boot ROM and/or OS keys to sign OSes/apps themselves or sideload. Some how think that this being prevented is a good thing cause "security". Like what? You can't trust yourself, but will trust Apple okay then...
Self respect. At some point you have to recognize that the platform is hostile and abusive towards you, and it's not healthy to continue to engage.
That's how Apple lost me as a customer, who had been a life-long user since early Macintosh days. It's an example of enshittification, death by a thousand cuts. Shame what they've done to the legacy, but the magic has been waning for a while. The elves left a long time ago, replaced by greedy sneaky humans.
Current Chrome iOS app uses Webkit and JavascriptCore. I believe Chrome uses WKWebViews and so can take advantage of JIT-enbaled JSC.
As pointed out in the article, in the EU Apple has APIs and entitlements for other browser engines, including allowances for JIT. But as it's an entitlement you apply for, you'll only get it for web browsers
https://developer.apple.com/documentation/browserenginekit
https://developer.apple.com/support/alternative-browser-engi...
Only competition law can force them to open up properly.
Lol repeating Apple marketing in plain sight.
There is no garden, its a prison.
"Garden" is marketing jargon to beautify the reality of things.
Think of the word Garden, fruits, vegetables, flowers. That word was specifically chosen by their marketing team for a reason.
The reality is that Apple has dictator-style control and the ability to ban/punish people with no oversight. "Garden"...yeah words paint prettier pictures than reality if you let them.
Also side note: I suggest you read this post/response I posted a while a ago: https://news.ycombinator.com/item?id=39349288
However, the environment in which Apple operates is defined by anti-circumvention. Yes you can legally jailbreak your phone. You can't legally run an R&D program to circumvent part-pairing, or develop a business around aftermarket modification of phones to modify or replace the boot ROM or other components. There's a reason third-party aftermarket modification of vehicles used to be a much bigger market and it's not the technological feasibility of developing modifications. The same is true of consumer electronics
So ship Dolphin with Opera for Wii and call it a web browser. :)
For now, this just allows me to play games on my phone who's gameplay is already pretty playable, like fighting games and visual novels. Except, now I can read menus, character selection screens, character dialog, stuff like that, all on my phone. Too bad Android doesn't have a screen recognition feature for TalkBack; they barely just got image descriptions that VoiceOver had for years. So, even though emulation is far better on Android, I still choose iOS. Apple could, I don't know, sure capitalize on that. I mean, even at the end of this article[1], it shows someone using what I suspect is emulation to play Metroid Prime on a Vision Pro, probably through Dolphin on a Mac. So they surely know about the need for JIT in emulation.
[1] https://nymag.com/intelligencer/article/apple-vision-pro-dis...