31 ms·
What happens when the user wants to install software that's not in one of the install's default repositories? The web page walks them through adding another rep
by glhaynes 17y ago
What happens when the user wants to install software that's not in one of the install's default repositories? The web page walks them through adding another repository URL to their package manager GUI [which is YA of a dozen]?
I'm attracted to the idea of just building a sufficiently sophisticated app management utility and then everything will work perfectly, but in practice it just doesn't seem to happen.
What a package manager does is build a necessarily-leaky abstraction over the set of operations needed to manage an application instance lifecycle. What if a non-experienced user wants to move an app from one system to another, though? No "mere mortal" is going to be able to accomplish that task on an average Linux box.
Mac OS X instead relies on a convention of bundling all necessary files together into an app bundle that's self-contained (and represented as such) and thus can be treated by the user as a cohesive, unitary Thing. Thus installation, deinstallation, sharing, and migration of the app are all done through an identical metaphor which also applies to the other filesystem entities that users care about: documents. So, sure, Mac OS X doesn't have "package management" (as part of the vendor install) but its users have a more pleasant and unified experience. This provides a tremendously better sense of empowerement and relaxation to most users than a wholly separate GUI full of messages about "dependency resolution" and the like. Again, I understand where you're coming from, and in certain aspects and particular vertical instances I have no doubt the Linux automatic installer over package manager model could provide a better experience, but the average computer user is far better off with a less sophisticated system.
(Yes, many Mac OS X apps use a separate install routine. I think this is unfortunate, but I don't get the sense that it's high on Apple's agenda because they're so pleased with the App Store model, which is another essay for another time.)
- ZeroGravitas 17y agoMac OS X app installation is terrible. That's just a fact. It's been well known and discussed by Mac nerds for years: "As someone who has answered tech support email for a Mac developer, I can confirm that the entire concept of a disk image is mighty confusing to many non-technical users, including many who have been using Macs for years, but don’t install new software very often. I think the recent trend of including a background picture in the disk image window, which instructs the user to copy the application icon to /Applications (or wherever), goes a long way to removing the confusion. But I agree with Mr. Frank that compressed archives (like StuffIt) are easier for most users to understand." http://daringfireball.net/2002/11/dmg http://daringfireball.net/2002/11/dmg The only reason people put up with it because it mostly works for geeks and it's better than Windows (and even then it's not hard to find people who will argue that download from random website and double-click is a better user experience despite all the damage it's caused) All the improvements of note in Mac OS X install seem to have happened because 3rd parties notice the confusion and adopt conventions to overcome the difficulties. Note also the amount of work put into 3rd party update via Sparkle which is part of package management too.
- SwellJoe 17y agoWhat happens when the user wants to install software that's not in one of the install's default repositories? The web page walks them through adding another repository URL to their package manager GUI [which is YA of a dozen]? Then they're in roughly the same situation as a Mac OS X user installing new software, which I agree is a pretty crappy situation to be in. But, we somehow muddle through, and if the software does have an apt or yum repository, it means keeping it up to date is automatic and handled by system-standard tools, unlike the vast majority of Mac software, which in the best case provides their own update mechanism (which is usually not quite as offensive as all the little update icons that end up on a Windows machine by the time it is fully functional, but it's still really irritating). Mac OS X instead relies on a convention of bundling all necessary files together into an app bundle that's self-contained (and represented as such) and thus can be treated by the user as a cohesive, unitary Thing. Yeah, I know. I've worked on a couple of very large "Things" of this sort in the past, when making packages of software I worked on for Mac OS X. I didn't call them "Things", though. I called them "Big Balls of Crap". It's a horrible kludge that barely works, no matter how much you want to call it "empowering". Is it empowering to have the system make it trivial for a user to overwrite new versions with older, possibly insecure, versions without warning? Is it empowering to have no standard location for files of various types? Is it empowering to make it impossible to replicate an installation stack automatically across many systems using standard tools? Is it empowering to make software that cannot be managed from the command line? Is it empowering to have no standard mechanisms for knowing what is installed and what version? Is it empowering to possibly be running old and insecure versions of dozens of applications without even knowing it? Is it empowering to only have the features that the application bundler thought to include...things like checking to be sure there's enough disk space, checking to be sure the destination paths exist and are writable, keeping a record of what files ended up where, etc.? I've installed Mac OS X software that failed to do all of those things at one point or another, and ended up with a broken installation, usually without warning. Look, if you like the pretty picture that applications display when you open up a dmg file or a CD, and you like the big shiny icons, and such, that's great. But don't hold up a gigantic gaping misfeature in Mac OS X as a positive thing. It's really not. The average computer user is not better off with a dramatically worse implementation of package management, just because it usually won't end in tears.