3 ms·
You seem to be convinced that there is any way in hell an application that is a client for an existing web service that is little more than a glorified RESTful
by lostgame 8y ago
You seem to be convinced that there is any way in hell an application that is a client for an existing web service that is little more than a glorified RESTful client needs to be more than 300MB.
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?
- softawre 8y agoI would expect that the FB client app does a lot more than you would expect it does. There are probably features in there for gamers, businesses, marketers, sellers, etc. 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.
- woolvalley 8y agoYou obviously have the experience level to get a job at facebook. Go do that (or some other big tech co) and you will understand why their apps are so large. 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!
- askafriend 8y agoFirst 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.