Linked by Thom Holwerda on Mon 5th May 2008 21:00 UTC
OSNews, Generic OSes Ever since I started using computers, I've been baffled by the relative clumsiness of installing applications. Whether we are talking the really old days (launching the Rambo game off a tape), the '90s (running Keen or using installers in Windows 95), or the modern days (still those installers, but now also package management and self-contained applications); it's all relatively cumbersome, and they all have their downsides. I decided to put my money where my mouth is, and come up with my idealistic, utopian method of installing, running, updating, and uninstalling applications.
Thread beginning with comment 313072
To read all comments associated with this story, please click here.
Some interesting ideas
by joshv on Tue 6th May 2008 13:04 UTC
joshv
Member since:
2006-03-18

Overall some interesting ideas.

I like self contained bundles. Shared libraries are a mess that has never really been sorted out properly. I don't think the security implications of having 15 copies of the same exploitable library in 15 different application bundles is all that big a deal.

I would like the program bundle specification and layout to be platform independent, and "fat" - for example a single bundle could contain Linux, OSX and Windows binaries. Yes, this will make for bigger bundles, but it will also make things simpler. Fundamentally people shouldn't have to know what operating system they are running. They should be able to download a program and have it "just work". Vendors would always have the option of creating single platform bundles if size is an issue.

I am not sure I get your file layout though. /Settings/UserX? How about /Users/UserX/Settings. And why the single global /Programs? Fundamentally any program should be installable by a single user without requiring any privilege escalation. We should have something like:

/Programs - Share programs
/Users - User home directories
---/User1
-----/Documents
-----/Programs - Programs installed only for this user
-----/Settings - Global and local program settings
/Settings - Global program default settings

For shared programs, /Settings would be populated at install time with a default settings file provided in the program bundle. When a user first runs the program the settings file for that bundle will be copied to their local /Users/UserX/Settings. This allows admins to provide global default settings. The bundle could also split it's settings across multiple settings files, and mark some settings files as read only, so that they are never copied as user settings and are not editable by an unprivileged user.

As for program updates, I like the global repository idea, but I'd also like things to be a bit distributed. How about the program bundle provide a URL that always resolves to the latest version of the program bundle? This could be a central repository URL, or a developer's website.

Reply Score: 1