4 ms·
First of all, the Facebook app is literally an entire operating system unto itself, among other things. Like someone pointed out, there's an entire Craigslist,
by askafriend 8y ago
First of all, the Facebook app is literally an entire operating system unto itself, among other things. Like someone pointed out, there's an entire Craigslist, an entire Snapchat, an entire Yelp, an entire YouTube, an entire web browser and so much more stuffed into a single app. On top of that, there are probably thousands of A/B tests and divergent code paths that are running simultaneously. Even if you have a feature, you probably have the code to switch between 10 different variants of that feature. There's also complex real time user instrumentation, media storage and backup features, tons of custom animation frameworks, networking frameworks, caching frameworks and on and on and on. The level of complexity and the millions of man-hours worth of code backing that app is insane.
At this point, it shouldn't be surprising in the slightest that the app is a cool ~300megs. Could it be better? Sure, and I'm sure they're working on it. After all, look at their developing country strategy and the stuff they do with "Facebook For Every Phone" to shave off every last byte from their apps: https://code.fb.com/android/how-we-built-facebook-lite-for-every-android-phone-and-network/ https://code.fb.com/android/how-we-built-facebook-lite-for-e...
If you look at the incentives, it's NOT in their best interests to make updates hard. That's not how they make money and in developing countries it actively costs them business. It's not that they're intentionally bloating the app just to mess with you....it's just that there's really that much going on in the app, along with it maybe being a little sloppy too.
Look, I have my beef with Facebook just like everyone else does to an extent....but this whole app size argument you seem to be spending a lot of energy on just has no legs if you truly understood the problem space.
I mean this is what you said: "We’re talking about pulling existing info from a server and re-displaying it". We _are not_ talking about that. The problem space is much much much larger than that (I mean they're running machine learning models on-device, doing real time facial recognition, leveraging AR in their custom cameras, streaming real-time data, among other things). I think you are severely overestimating your knowledge of the topic and I implore you to truly take a step back and re-evaluate what people are trying to tell you here.