APIs themselves are hard to make, but why is a camera one especially so? The language is well understood, the math and science are well understood. There are only a few ways that cameras themselves work, and even few ways that cell phone cameras work.
Why is it hard?
In advance -- No, Sony/Panasonic/Toshiba/Apple/Whoever locking functions behind magic numbers and proprietary blobs and other 'un-Gentlemanly' things shouldn't count as difficulty in making a Camera API; that's just shit companies being shit to people, not an API problem.
Have an infrared camera that augments the image from a normal camera?
Have a rotationally pop up camera that allows using the same 3 cameras for back and selfie, but also use it to take panoramas. (I miss my Asus ZenPhone flip)
Create photos that allow users to change focus when viewing?
Have two cameras back to back and allow capturing simultaneously to create 360 photos/videos?
Have two cameras side by side and allow stereo vision?
If you have a 0.7x, 1x, and 4x camera, and the user is zooming at 3, use the 1x to fill the frame, but the 5x to have better image quality at the center?
Use the optical stabilizer to take several shots with micro shifts and do super resolution?
We can go on and on. Cameras and even smartphone cameras allow a lot of possibilities. Some of them are already explored by some manufacturers.
The Daylight Computer doesn't ship with Google applications like this from what I can remember, and I noticed it doesn't actually mention Android on their home page, just that it can "run your favorite apps". It only mentions Android on the specs page under software. I wonder if they did that because of this.
i.e. a given manufacturer would not be able to sell Google based Android devices and separate non-Google based Android devices.
It's as if being able to bundle Windows OEM licenses was reliant on not selling any models with Linux.
The action was based partially on the Anti-Fragmentation Agreements (AFAs) mentioned above: https://www.clearyantitrustwatch.com/2022/09/the-general-cou...
IMO there should be mechanisms that prevent this kind of thing from ever occurring, but regulating this in a way that doesn't meaningfully impede other (benign) certification programs is a complex design space indeed!
Huawei sell both. Not in the same market, but they sell both.
Back around the Nexus 6P they probably got an exception as Google tried to promote more competition for what was rapidly turning into a Samsungopoly. Samsung later themselves negotiated a position where they could make other changes in ways Google didn't approve of, and that was by leveraging the threat of going all-in on Tizen.
Google have slid back on this from day one. A pure-AOSP build of Android is borderline unusable, to the point that the dialer UI, various essential apps such as contacts and the like are now proprietary Google code, stripped out of AOSP. Additionally, AOSP has gone to a source-dump release pattern, rather than an open build. Last I knew, even basic things like the Camera and clock app had been made Google-Properietary.
You have to go to a completely independent distribution like LineageOS, which has maintained a step by step fork of Android, in order to have a "google free" environment that is vaguely useful.
However, the thing the courts have gotten very angry with is that in order to use the Android trademark, you have to get certification, which requires you to exclusively ship a series of Google applications (Chrome, Gmail, Youtube, the Google Photos app, etc) even if you have your own replacement (e.g. Samsung's browser, a native photo app, email client, etc.) and you Must ship with the Google account system up front.
> Install apps from any source on Android vs. total restriction on iOS
Going with the previous one: The apps you install then are going to require the Google services that may or may not have been shipped with your phone. Additionally, the hoops that an application must go through to get the same level privileges as a Google application -- even for things on the local phone -- are far and above what most people would be willing to go through: Since Google apps are installed on the system software end, they are given privileges that no other application could have.
> Switch default app for browser (and many other things!) vs. No choice but Safari tech on iOS
See previous: If you want to ship with Google's blessed market, you must ship with Chrome and it must be the default. The power of defaults is strong here.