1. Have you worked at Facebook as an engineer before? Do you first hand know that most engineers working on FB iOS app lack the experience and interest?
2. Have you reverse engineered the FB app and verified that the app lacks signs of proper system or application development?
There could be a good enough reason as to why the app re-wrote core iOS libraries - most popularly performance and missing features. Also, tens of thousands of classes don't directly translate to increased binary size - its usually the dependencies of the code that results in such large binary sizes.
Overall, if Facebook wanted to optimize its app size to be less than 491MB, they would have.
Maybe its on their roadmap, maybe they decided most of their userbase have the ability to download 491MB and it isn't impacting the growth funnel, heck maybe some of the engineers actually wanted to work on optimizing the app size but it was shot down by management. Slamming engineers who work at Facebook and calling them inexperienced is just mean.
Have you? The size of the core Facebook application binaries disagree with your statement of “tens of thousands of classes don't directly translate to increased binary size - its usually the dependencies of the code that results in such large binary sizes”.
I'm simply "speculating" that a large number of reimplemented classes might not be the reason for the increased binary size from anecdotal experience of building similar app binaries for iOS.
FWIW, I think this comment gives a pretty good reason for why the binary size is large - https://news.ycombinator.com/item?id=17996161
Legally, if you are in the USA (or some other country surrounded by water) get on a boat, take it 5-10 miles out, and start (also when on a flight over an ocean would give you some coverage).
The comment you referred to (thank you) makes perfect sense.
I have never signed a contract with Facebook. Does that mean I’m free to reverse engineer it?
I thought this was 'hacker' news not 'let us study the click through EULA and respect the terms and conditions entirely' news.
If you can't or won't reverse engineer a binary file, you're a share cropper not a computer owner.
The real answer is that Facebook does A LOT. Especially the main app. Facebook also serves A LOT of different audiences in a lot of different regions.
Just consider that there is an entire YouTube worth of functionality inside of the main Facebook app. And that's just one vector of functionality that they offer.
They're predominately right out of school and don't understand systems engineering. If single schizophrenic man can create a complete 64-bit real-time multitasking operating system that can be distributed completely in a 2MB distribution, one of the highest valued tech companies in the world can make a glorified version of their website fit in under 20MB.
Think how many lifetimes are wasted each day waiting for Facebook to load or update.
I just uninstalled it about a year ago because I was so disgusted with it. Now, I get ads begging me to come back.
The late Terry A. Davis.