Hacker News new | ask | show | jobs
by GianFabien 266 days ago
There are only two choices in mobile OS: Android vs iOS.

Android 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?

6 comments

> 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?

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.

> 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.

Right, I'm saying for a VR devices, no a mobile phone. It makes perfect sense why android would be the choice for a mobile phone. I'm rather confused what you are replying to.
VR devices are basically mobile phones with better screens and more precise accelerometer/gyroscopes in them.
Expand? The design constraints seem very dissimilar: - weight is important, form factor isn't - any app is either doing 3d rendering or integrated into a windowing system ala a trad desktop - they are not constantly-on, they are used for long periods with breaks - they are limited by processing power not by UX - the peripherals are very complex - to the extent of complex requiring access to hand and/or controller movement at a very fine level

If anything they are similar to laptops, but overall they are their own device class.

If "similar to mobile phones" means "similar chips and batteries"... sure, but so are laptops build after 2020, besides that I don't quite understand the comparison.

> Yeah, I dislike JVM too.

A lot of the apps these days are built either with React native or NDK. The former is for web like apps, the latter is for performant apps.

It has an integrated web browser.