Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    Q

    Quellish

    quellish.tumblr.com · Personal blog · on HN since 2015

    Quellish is an iOS developer who writes on Objective-C and Cocoa, best known for analyzing why the Facebook iOS app is so large.

    Visit blogHN submissions
    Mobile & AppleSystems & Performance
    What HN says

    HN commenters cite his post on the Facebook iOS app, with its roughly 18,000 classes, as evidence of bloated app engineering at Facebook.

    Stats for nerds
    17HN people shared it
    3linked in comments
    80story points
    Jul 2025last shared
    2016people per year2025

    Top posts on HN

    1. 1
      Why the Facebook iOS Application is so large
      15 people · 51 points · first shared 2015 · 52 comments on HN
    2. 2
      Q: Why Is the Facebook App So Large? A: iOS Can’t Handle Facebook Scale
      1 person · 28 points · first shared 2015 · 19 comments on HN
    3. 3
      Quellish: Objective-C and Cocoa Answers
      1 person · 1 points · first shared 2015 · Discussion on HN

    What HN people wrote when they linked it

    • mschuster91Jul 2025

      I've seen that shit happen on devices with >4GB of RAM. The fact that opening the bank's 2FA app can be enough to destroy the session of the app requesting payment is telling a few things:

      a) phone manufacturers play ridiculous games when it comes to hiding that their SoCs are dogshit

      b) so. many. apps. just outright suck at testing because they test their apps in emulators where there isn't Facebook and tons of other background crap running and thus never test their implementation of the "application is about to be killed off for lack of resources, save state to persistent storage" code path.

      c) Facebook plain sucks. Their iOS app [1] and their android app [2] are both ridiculously bloated and that has led to problems well over a decade ago, and it hasn't gotten better.

      d) Advertising, tracking, data mining and other spyware SDKs are just as bad as Facebook. The amount of code and RAM that each application carries just for this crap is insane, partially made worse by neither iOS nor Android supporting code deduplication and shared libraries.

      [1] https://quellish.tumblr.com/post/126712999812/how-on-earth-the-facebook-ios-application-is-so

      [2] https://news.ycombinator.com/item?id=28533119

    • zo7Mar 2017

      Some of FB's ~18,000 Obj-C header files from a post linked in the article: [1]

      * FBFeedAwesomizerProfileListCardViewControllerListenerAnnouncer.h

      * FBBoostedComponentCreateInputDataCreativeObjectStorySpecLinkDataCallToActionValue.h

      * FBEventUpdateNotificationSubscriptionLevelMutationOptimisticPayloadFactoryProtocol-Protocol.h

      * FBGroupUpdateRequestToJoinSubscriptionLevelMutationOptimisticPayloadFactoryProtocol-Protocol.h

      * FBMemReactionAcornSportsContentSettingsSetShouldNotPushNotificationsResponsePayloadBuilder.h

      * FBProfileSetEventsCalendarSubscriptionStatusInputDataContextEventActionHistory.h

      * FBReactionUnitUserSettingsDisableUnitTypeMutationOptimisticPayloadFactoryProtocol-Protocol.h

      oh my god

      [1]: http://quellish.tumblr.com/post/126712999812/how-on-earth-the-facebook-ios-application-is-so

    • saagarjhaMay 2020

      Remember when reached the limit for __TEXT and had to put code in sections that weren’t really meant for it: https://blog.timac.org/2016/1018-analysis-of-the-facebook-app-for-ios/?

      Remember when they were taking to long to start up that they pulled stuff into a separate framework just so they could meet launch deadlines: https://blog.timac.org/2017/0410-analysis-of-the-facebook-app-for-ios-v-87-0/?

      Remember when the app had 18,000 Objective-C classes: https://quellish.tumblr.com/post/126712999812/how-on-earth-the-facebook-ios-application-is-so?

      Facebook’s teams somehow cannot manage their bloat and they keep hiring people to hack the platform they're running on rather than fixing the actual underlying problem.

    • CrystalCuckooFeb 2016

      This is the company that bragged about having 18,000 classes for their iOS app [1] and having to patch the Dalvik Virtual Machine to support new features in their Android app [2]; they are not infallible.

      [1] http://quellish.tumblr.com/post/126712999812/how-on-earth-the-facebook-ios-application-is-so

      [2] https://www.facebook.com/notes/facebook-engineering/under-the-hood-dalvik-patch-for-facebook-for-android/10151345597798920/

    • graemepDec 2024

      > I’m skeptical of the value in doing this.

      Its Meta. They have enough money to spare not to need to worry too much about whether there is a good RoI on rewriting some mobile apps.

      I very much doubt FB's mobile apps are written for any sort of efficiency, (either in engineering or financial terms) - 18,000 classes in the apple one! https://quellish.tumblr.com/post/126712999812/how-on-earth-the-facebook-ios-application-is-so

    • akerroJan 2017

      I think Facebook has very poor engineering culture. They built their iOS app with 18k classes, then claim that iOS and Git can't handle their 'scale'.

      Let's avoid putting here obvious companies and companies who over-engineer, maybe?

      http://quellish.tumblr.com/post/126712999812/how-on-earth-the-facebook-ios-application-is-so

      https://www.reddit.com/r/programming/comments/3m5n2n/facebook_engineer_ios_cant_handle_our_scale/

    Related

    Greg Parkersealiesoftware.com31 people

    An Illustrated History of objc_msgSend

    Greg Parker
    Personal · last shared 2026
    Christian Tietzechristiantietze.de17 people

    Atkinson Hyperlegible Font

    Christian Tietze
    Personal · last shared 2026
    Saagar Jhasaagarjha.com40 people

    We at $Famous_company switched to $Hyped_technology

    Saagar Jha
    Personal · last shared 2026
    Soroush Khanloukhanlou.com26 people

    Regexes vs. Combinatorial Parsing (2019)

    Soroush Khanlou
    Personal · last shared 2025
    Saar Amarsaaramar.github.io18 people

    Introduction to Firebloom (iBoot)

    Saar Amar
    Personal · last shared 2026
    Cocoa with Lovecocoawithlove.com69 people

    Objective-C's niche: why it survives in a world of alternatives

    Cocoa with Love
    Personal · last shared 2026
    Landon Curt Nollisthe.com19 people

    On becoming an expert C programmer

    Landon Curt Noll
    Personal · last shared 2021
    Ole Begemannoleb.net77 people

    Understanding the iPhone 6 Plus Screen

    Ole Begemann
    Personal · last shared 2025