2 ms·
Walled garden platforms are taking over partly because all operating systems are fundamentally broken with regard to privilege isolation, security, and applicat
by api 14y ago
Walled garden platforms are taking over partly because all operating systems are fundamentally broken with regard to privilege isolation, security, and application installability/uninstallability.
The fact is that for the average non-techie user, allowing unsigned/untested apps results in a system full of malware and crappy software that destroys it. That's because the OS is not isolated from apps, and apps are not isolated from each other.
The popularity of virtualization is also due in large part to this. Why can't you just rent accounts on large Linux servers? Why is KVM, OpenVZ/Parallels Virtuozzo, etc. necessary? Because everything requires root and everything pollutes the OS space.
Broken, broken, broken.
The way Macs package .app directories full of all files related to an application is a huge step in the right direction. The next step is to utterly forbid "installers" and make everything work this way, and to add stronger privilege isolation and organized APIs for apps to talk to each other. These should probably be based around peer-to-peer networking so that an app can locate and talk to another app regardless of what box it's on.
That would be significantly less broken.
Then allow apps to have their own addresses. We probably have to wait for IPv6 for this, but not necessarily. Then an app can bind, run services, etc. without requiring root.
Finally, banish the entire concept of root/administrator except for OS developers and OS maintenance. The vast, vast majority of users (even power users) should never need to even know these exist.
The bottom line is that the entire concept of "installing" something "on" the OS needs to be killed. Installers are ugly nasty hacks. Package management (ala rpm, deb, etc.) is also an ugly hack. Signed apps in walled gardens is an even nastier and downright evil hack to get around the brokenness of these ugly hacks.
- crumblan 14y ago> The next step is to utterly forbid "installers" and make everything work this way, and to add stronger privilege isolation and organized APIs for apps to talk to each other. I agree and disagree with you. I would be awesome if I could restrict apps and forbid installers. I'd also like to be able to run arbitrary apps as forbidden to use the internet and make them think they are reading/writing to /some/path/ but they are really reading/writing to /app/sandbox/some/path. I'd love the option. But then there are problems with that as well. Want to make an app plugin? Nope. Want to share libraries? Nope. Want to talk to an app? Hope it's got a canonical port number. So I don't think enforcing boundaries is the way to go. I'd love to see other opinions and whether or not there are any alternatives, though.
- api 14y agoI think there are creative solutions to this. Like I said: there would need to be a well-designed inter-app API. Plugins for instance could be handled like firmware updates to a device. Send the image to the app via the API. "Here is your plugin..." Or some apps could have their own plugin stores, ala the Chrome store. There are different ways of handling this.