Huge Frameworks Ripping Into Tiny Innocent Apps

Discussion in 'Mac Programming' started by robbieduncan, Jul 9, 2006.

  1. Moderator emeritus

    robbieduncan

    Joined:
    Jul 24, 2002
    Location:
    London
    #1
    Ok, this is a serious thread despite a title you probably received in your spam this morning!

    Where do you stand on including a framework larger than the app it's being included in just to gain a single feature? There are few cool frameworks out there that give you nice features more or less for free but they are often huge.

    OK enough of the abstract stuff: a concrete example. I've been putting off finishing the next version of Poster Paint to write a small app to monitor web sites for changes (as requested in this thread).

    Before I release 0.0.0 I want to include an auto-update feature as I may well release a number of small updates over the next few weeks. I could use my own framework which is not too massive but it only informs a user when a new version is available, then it's up to the user to download the new version and install it. So I looked into using Sparkle which is super cool. But it's huge:

    World Wide Watcher (my app, without any Frameworks): 164KB
    Sparkle (with lots of localisations): 1.7MB ( :eek: )
    Sparkle (with just English and some file trimmed from nibs): 636KB.

    So the question is: is it worth making my app 5 times as big just for some cool functionality?
     
  2. Guest

    caveman_uk

    Joined:
    Feb 17, 2003
    Location:
    Hitchin, Herts, UK
    #2
    That does seem a bit mad!

    There are alternatives to Sparkle. You could use something similar to UKNiftyFeatures on this page. It's nowhere near as cool as Sparkle but then again it's a fraction of the size.
     
  3. thread starter Moderator emeritus

    robbieduncan

    Joined:
    Jul 24, 2002
    Location:
    London
    #3
    That's the real problem. I have my own code that is much smaller but no where near as cool. I am leaning towards using Sparkle as I intend using it in other apps as well. Whilst it will be making up a huge portion of the download in these days of super-fast broadband the size (especially when we are talking in KB) is not all that worrying.
     
  4. macrumors 6502

    Joined:
    Sep 19, 2002
    Location:
    Auburn, AL
    #4
    How the heck is Sparkle so big? Especially the localisations? Are they localising images like Apple has been (stupidly) doing for the iWeb and iPhoto and iWork? I'll have to look at their source code (I'm on a Windows for the month) but it seems odd that something that just does a fancy update check would be multiple times larger than entire other apps.
     
  5. macrumors 601

    HiRez

    Joined:
    Jan 6, 2004
    Location:
    Western US
    #5
    I agree it's strange it should add so much, but what's a couple hundred K nowadays? Go for it, make it good.
     
  6. macrumors 68040

    mduser63

    Joined:
    Nov 9, 2004
    Location:
    Salt Lake City, UT
    #6
    As a percentage of your total app size it will be gargantuan, but in absolute terms, even 1.7 MB is not at all bad for a shareware app.
     
  7. thread starter Moderator emeritus

    robbieduncan

    Joined:
    Jul 24, 2002
    Location:
    London
    #7
    I give my stuff away for free :D

    I've decided to strip away all the non-English languages as the app is not localised. Current size is under 800K all in. Once that's compressed it should be a reasonable size...
     
  8. macrumors 68030

    Catfish_Man

    Joined:
    Sep 13, 2001
    Location:
    Portland, OR
    #8
    If you do figure out how to make Sparkle smaller, then hooray for you :) Adium 1.0b is kinda chunky as a result of including a few more frameworks (joscar, sparkle).
     
  9. macrumors 6502a

    #9
    I agree ... a meg or two? Nothing.

    Mac apps have always been "fat" and is one price to pay for a simple drag and drop installation process. At the end of the day, you can't have a "batteries included" system without including the batteries ... just sometimes, someone is going to get the erm, "dirty" end of the stick, so to speak.
     
  10. macrumors 68040

    mduser63

    Joined:
    Nov 9, 2004
    Location:
    Salt Lake City, UT
    #10
    Even better. If it's free, no one can complain about the size ;).
     
  11. macrumors 68000

    savar

    Joined:
    Jun 6, 2003
    Location:
    District of Columbia
    #11
    Umm, are you sure that Sparkle isn't statically linked? If it is statically linked, then you'll only link in the code that you actually need, and hopefully that will be a subset if you're not using all of its features. Did you try linking against it yet?

    If it really is bloated, maybe you can write to the author and suggest that the produce a "lite" version?
     
  12. thread starter Moderator emeritus

    robbieduncan

    Joined:
    Jul 24, 2002
    Location:
    London
    #12
    Frameworks don't work like that! You link against them then include a copy of the framework in your app so it's all kind of dynamically linked. Looking at the sourceI think that it's just going to be that big! It does a whole heap of stuff to get the fancy stuff working.
     
  13. macrumors 68030

    Catfish_Man

    Joined:
    Sep 13, 2001
    Location:
    Portland, OR
    #13
    <updated> Get Sparkle 1.1. It's smaller </updated>
     
  14. thread starter Moderator emeritus

    robbieduncan

    Joined:
    Jul 24, 2002
    Location:
    London
    #14
    It certainly is. :D

    I am just working on packaging before releasing an early version of my new app.
     
  15. macrumors G5

    gnasher729

    Joined:
    Nov 25, 2005
    #15
    "Five times as big" doesn't matter. What matters what it costs the user. So this framework takes 1.7 MB. A twohundred GB harddisk costs less than $100. That is 50 cent per GB. Less than one tenth of a cent for 1.7 MB.

    I wouldn't worry about it.
     
  16. Guest

    caveman_uk

    Joined:
    Feb 17, 2003
    Location:
    Hitchin, Herts, UK
    #16
    It might for users on dial up.
     
  17. thread starter Moderator emeritus

    robbieduncan

    Joined:
    Jul 24, 2002
    Location:
    London
    #17
    To be fair the app in question is probably not of much interest to dial-up users. It maintains a list of URLs and polls them every so often to check if they have changed.
     
  18. macrumors 68030

    Catfish_Man

    Joined:
    Sep 13, 2001
    Location:
    Portland, OR
    #18
    If someone wants about 10,000 awesome points... look into making Sparkle use zsync to do delta updates.
     

Share This Page