WTF is up with everything using Android?
(As an aside: Because the res has improved enough where I can code, and the peak coding position is with a pants keyboard on an inversion table -- very suboptimal for a monitor)
I noticed all of them sans apple run Android.
I understand why Android has become the unfortunate standard for mobile, but it seem absurd to me that it is now taking over VR (as well as "IoT" devices, car computers and so on)
It seems like a very inelegant OS that essentially committed itself to the wrong paradigms in everything:
- Committing to JVM usage instead of supporting static compilation -- locking itself in a dead ecosystem that can't see the light of either Rust or simple scripting language - Having heavyweight security abstraction that don't really achieve much beyond a linux kernel - Dependant on a bunch of proprietary modules for <anything> - And (now) having a bunch of new features rooted in backwards compatibility hell
I can't even comprehend the monumental effort to get the sort of GPU-intensive and RT capabilities a proper VR experience requires running onto something like this (vs a minimal RT focused linux distro)
Am I just being unfair to android and missing a core benefit? Is it mass psychosis ? Am I missing an underlying reason why it's getting so popular ?
(To be clear: I assume vision OS is bad, given that it's apple, it just confuses me why e.g. meta would not develop their own OS)
14 comments
[ 3.1 ms ] story [ 44.6 ms ] threadAndroid is more open and at the core it is Linux. Yeah, I dislike JVM too.
What I don't get is that even a simple app, e.g. FB Messenger (not the whole of FB) requires an 84MB download. What on earth lurks in that massive download when the actual app could probably fit into a couple kB?
Other than the fact that an android app to has to bundle every dependency, Facebook apps also have lots of "useless" features.
For example, Messenger can show you how many Facebook notifications you have (only necessary because Meta doesn't know how to send an actual notification half the time). It also has "Stories", some "AI Studio chats" and a "Create an AI" button???
Also, I think they also have the ability to update themselves, because Meta doesn't trust google play?
And let's not talk about the main FB app bundling an entire web browser, which recently is your only option when clicking a link in Facebook.
Apks are zip files. If you pull the apk, load it a tool and see what's there. One exciting thing is the typical way to do string localization in Android results in the string resource files being in the zip file uncompressed. If your apk supports a lot of languages, that's a lot of space. FB Messenger shouldn't have a lot of uncompressed strings, they had a way to manage that when I was there (left 2019), and I think??? there is some support from Google to do better things now too. But between that and images for multiple dpis (which does also have some Google support for doing better), there's a lot of room for bloat. If you're getting a non abi specific apk, there's bloat from different binary libraries too.
FB in particular likes to have multiple ways to do the same thing, which sometimes means having libraries to do X from JVM as well as doing X from native code.
You’re not a mega company (yet), wanton get to market fast, so you want to focus on the AR/VR features, not on getting an OS, drivers and libraries for (3D) graphics up and running. You also want something (somewhat) portable, and assurance that you still can get hardware to deploy your stuff on X years from now.
You also don’t want to order a million units up front.
Given those constraints, I think you’ll find Android is your best option.
I do find everything on the desktop to be vastly more efficient, powerful, feature-full and stable than mobile (stable as in text box cache like this not vanishing with an app switch ) so I expect little from mobile except to be usable on the easy chair.
Do you really need more from mobile? Size matters!! The smaller the device, the more you pay for miniaturization.
Android supports native development in C/C++ without the JVM. Its not particularly mainstream, but it has always been an option.
https://developer.android.com/ndk
However, the odds of me buying something running Android are very low. I suppose most customers don’t care, but it’s usually a deal breaker for me. I’ve tried setting aside my biases a couple times to try and it wasn’t good.
You know what they say about assumptions
You can do things like install Termux, and compile stuff to native code right on the phone.