If you're ignoring optimization in favour of hiring more people, you, as a software company, have your priorities so out of whack I'm not sure how to even offer a suggestion onto how to move forward.
I'll repeat: the application needs to have value. If I had Facebook installed, it would be by at least 100MB the largest application on my iPhone, next to GarageBand.
tl;dr: if optimization is not part of your development process, your development process is not good. This isn't something that can be argued.
I can assure you that's not the case.
You’re either not aware how these kinds of applications are constructed, or you’re perhaps not familiar with just how simple putting an application together like this is. The other response to this comment says a very similar thing.
Yes. I can confidently say as an iOS developer of 8+ years if I was given a chance to manage this application I would certainly be doing the hell of a better job.
If you don’t think you could, that’s cool, but I’ve made my living developing these types of applications since the App Store’s beta, and similar to when I hear an absolutely shitty pop song with mysogonistic or materialistic lyrics funded by some multi-million-dollar artist I say ‘I can do better,’ because, frankly, most musicians worth their salt could.
It doesn’t matter how successful a company is, how much talent they have, if there are too many voices talking over each other nobody is heard. And poor decision making is affecting the app’s bottom line of usage at this point.
When I say I can do better, it’s not coming from arrogance, the Facebook app is actually just that poor that any other direction that it’s current one would be an improvement. The statistic that OP posted alone proves that.
If Facebook has even 25-30 people on their iPhone app, on the client side, they have way too many. We’re talking about pulling existing info from a server and re-displaying it. At what point, other than the tiny shell required to display that information, maybe about 100-150MB at most, is that extra 150-200MB coming from?
If Facebook’s API were open for third-party FB applications, I’m sure I’d not be the first to whip up a minimalistic, small-sized, easy-to-use, far more intuitive application in a month or two of casual dev time. I did a similar thing for Twitter. It’s not hard.
Is it so much more likely that whole extra let’s say 150MB needs to be there than it’s likely that there’s simply too many cooks in the kitchen and optimization is being completely ignored?
Yes you could build out 90% of the app that most people use in a smaller download in a couple months, that's not really noteworthy though.
Some other candidates: linked in, twitter, uber, lyft, youtube, snapchat, gmail. Binary size is a problem issue at all of them and they would appreciate an expert such as yourself to solve it. You could get a staff engineer position and make half a million a year!
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-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.
You and parent are probably both right. They obviously could make the client 30MB or even 3MB, but choose not to because they find other things more important.