5 ms·
In the case of Firefox, I don't even want an installer. I like the OS X install process for Firefox (and many other apps): copy Firefox.app to /Applications. Th
by kree10 16y ago
In the case of Firefox, I don't even want an installer. I like the OS X install process for Firefox (and many other apps): copy Firefox.app to /Applications. That's it.
- GeneralMaximus 16y agoAs much as I love application bundles, I'd like to point out that this method of distribution leads to code duplication. For example, almost every popular OS X application ships its own version of Sparkle and Growl (to verify this yourself, cd into the app bundle and go to Contents/Frameworks).
- theBobMcCormick 16y agoDoes it matter? Disk space and ram are both cheap and plentiful. The difference in disk space or ram taken by apps on an average OSX desktop, and average Windows desktop, and an average Linux desktop seems to be negligible.
- devdas 16y agoIt matters when there's a security bug which needs patching in an underlying library. With shared libraries, only one library needs updating. With each package proving it's entire ecosystem, every package on your system needs such updates.
- coffeeaddicted 16y agoThen again if a library is patched who will test if all applications using it still work? I never had updates messing up my system as bad on Windows as it happened a few times already on several of my Linux systems (with different distributions). To stay with Java - the reason I gave up on Eclipse was when it got broken the second time after an Java-VM update and I just didn't want to fight the package system anymore. I trust application developers usually to do better tests than distributors. And certainly distributors don't even care about 3rd party packages. I would prefer a system where application developers are responsible for which libraries link against their applications. And a complete different mechanism for security. For example a list of libraries+versions with known security-problems against which shared libs can be tested on start. And I'm sure there are other solutions, for example searching my system for all versions of a certain library and asking me which to replace (and maybe keep me informed about not-updated versions). Preferably while keeping the old version around for a while to make it easy for me to switch back for the applications which do break now. It's not like having a single version of a library is the only way security can be handled - it's just the current way of doing things. And one can discuss what is preferably - a secure system which occasionally breaks working applications or insecure applications which at least do work. edit: Btw., this might even be in the interest of free software. Ever had a problem with a certain library which won't be patched in the official sources for whatever reason? Right now - basically you're fucked. Because even if you patch it yourself, the chances you will get distributors to add a second nearly identical library with 1-2 simply patches is basically zero. So although you have those free libraries with source, it doesn't really matter because you can't change those sources yourself if you still want to be in official distributions. A real free system would be one where changing sources is made easy.
- devdas 16y agoWhich is why I like systems which are mostly from the vendor, with very few custom applications. IME, application vendors only test on a few common systems, not across the board. Try running something which isn't common (say a 64bit Linux distribution three years ago), on even with newer hardware. My Linux experience has been with third party packages breaking, not anything shipped by the vendor.
- kelnos 16y agoDoes it matter? Disk space and ram are both cheap and plentiful. That just sounds like promoting a culture of waste to me. "Do we need to care about resources?" "Nah, disk and RAM are cheap, and our users won't mind paying for more of it." What happened to elegance, efficiency, and modular, maintainable design? Just because you have a shiny box with 8GB of RAM and a terabyte of space, it doesn't mean everyone does, or everyone should have to. The difference in disk space or ram taken by apps on an average OSX desktop, and average Windows desktop, and an average Linux desktop seems to be negligible. I'm not sure you can meaningfully make this comparison since the platforms (at least at the GUI level) are quite different. A better test would be to take a "standard" Linux system, and then create a "bundled" system that has each app in its own directory with all its dependencies bundled with it (perhaps leaving out some of the fundamental ones like libc). A little bit of common reasoning would suggest that memory and disk usage would be affected greatly.
- vilya 16y ago> What happened to elegance, efficiency, and modular, maintainable design? Each app having it's own copy of the libraries it needs is actually MORE maintainable. It's not uncommon for a newer version of a library to introduce a change which breaks something in your app. One example from my work: we tried building with a newer version of Qt and all our text was suddenly getting rendered upside-down due to changes in how Qt uses OpenGL. If we had been using the system copy of Qt, it would have been our customers seeing this problem instead of our dev team. There are other advantages too, but to my mind this alone is enough reason to bundle libraries with your app.
- kelnos 16y agoBut is that the common case? Or is the common case that, on occasion every now and then an incompatible change is introduced, but much much more often bugs and security issues are fixed that your users will benefit from immediately, and not have to wait for you to release a new version with new bundled libraries. I'm a bit surprised that the Qt guys would make an incompatible change during a stable series. Is it possible you were relying on undocumented behavior that was subject to change?
- theBobMcCormick 16y agoI'll agree with that! That's always been one of my favorite things about OSX. It makes it easy and obvious how to get uninstall an app (duh! just delete it), but even better it makes it easy how to backup an app. Just backup your /Applications directory and at least 90% of your apps will work fine after a restore, without having to re-install all of them!