Hacker News new | ask | show | jobs
by bitmapbrother 3546 days ago
Facebook Messenger is 130MB. That's the very definition of "kitchen sink".
3 comments

Maybe someone can clear this up for me. I'm struggling to understand why it is that size. I'm not going to be silly and say it would it be a simple app because I don't know enough about mobile to make that assumption.

However, I see plenty of other apps that appear to have way more complexity than the Facebook app. They are all significantly smaller. I don't understand what's happening there that requires that much bloat. The UI appears fairly minimal. From an outside perspective (probably an ignorant one), it just appears to be making API calls and throwing out the data.

Genuine question. Where is this bloat coming from? Is it just a pile of thrown on band-aid fixes and kitchen sinks, or is there something that I'm missing. Even third party applications do the same job, yet treat my battery and storage with respect. They seem to be fully capable of the same things that the official app is capable of.

Part of me wants to assume it's the whole, "move fast and break things" approach.

Facebook is known for having fairly bad code standards in their mobile apps. It's mostly a product of overengineering and feature creep.

This is a good blog post about it: http://www.darkcoding.net/software/facebooks-code-quality-pr...

And Facebook's own blog post about their Dalvik hacks and how clever they are, which speaks volumes of their development culture: https://www.facebook.com/notes/facebook-engineering/under-th...

I read in ghacks that they released lite version of apps for countries with poor internet connection.

http://www.ghacks.net/2016/10/04/facebook-messenger-lite-wha...

Yep. And its web links, notification links, and bug reporting were all failing for me until I upgraded to iOS 10.

What gives?

We're dealing with linking to/from apps now - on iOS it is a HUGE mess, littered with edge cases. They basically made like 5 breaking changes from iOS 8 until 10. And nothing is compatible with the other. Some of the "link" websites (for like marketing etc) even have to have tables where it says "this link will work in this webview, but not in this app, and sometimes in that app depening on the moon position".