Sadly, the world has moved away from this kind of simplicity.
Sadly, the world has moved away from this kind of simplicity.
I was flabbergasted the last time I had to clean up a Windows computer to see how convoluted software update and removal is. You need to go to a specific windows preference pane to be able to uninstall an app, and even then most apps have a specific software to uninstall them, which sometimes needs to be downloaded separately. If you want to uninstall two apps at the same time, you can't. Upgrading an app generally involve manually navigating to the app's website, downloading the latest version, install it somewhere it doesn't interfere with the previous version, then deleting the previous app folder, then praying for windows to be able to link its search results to the correct ones after that process. It's baffling the very feature why operating systems exists in the first place (managing applications) still isn't solve more than 40 years after the first windows release.
Linux is really the problem here. Installing software newer that what your distro has packaged is often a total nightmare, with PPAs which can blow up your entire apt system. I think flatpak etc are on the right path.
tar xzf firefox-99.0.tar.gz ; cd firefox ; ./firefox
Flatpaks and other things are still a novelty and it's not clear it will ever take over the above.That's a very much "citations needed". From my perspective, only the JetBrains IDE's and Firefox are done like that.
Everything else is some kind of third party package (ppa, flatpack, snap, docker, etc).
Mac programs will often leave behind crap hidden in the library folder that I find frankly pretty annoying. Sometimes it's pretty sizeable and not entirely clear if it's safe to delete. Windows Uninstaller process is more annoying but it does a better job removing related components.
There is plenty of Mac software that requires an installer and Uninstaller, plenty of off-behaving applications that put stuff directly into ~ or ~/Documents, and even those that install some internal executables into /usr/local/bin.
You can have an equally pleasant experience on Windows (after all, this is about portable apps...). There is "mature" software whose installers will just override (update) the existing application (e.g. Anki, Affinity apps), %APPDATA% is your Application Support folder on Windows (if only more software would use it), and then there's also the slightly new .appx packaging with a clean way of uninstalling. No one hinders you to just download portable apps directly from the vendor and putting it into C:/Applications, if you want that.
If there is an odd one out, it would be Desktop Linux.
2) We have sandboxing these days, and I contend that all applications should be sandboxed by default anyway. Mobile got this right (idea, not implementation per-se) and it is high time desktops caught up.
3) Nothing stops anyone from using a repo of portable applications and managing them with a tool, it just opens up the option to not have to do that.
Updating isn't that hard. Searching for applications and connecting to a URL specified in their manifest file to download an update diff (one of many ways to do it) is a trivial task for modern computers.
Yes, it's a tradeoff compared to repos and package management, but I personally think the upsides more than outweigh the relatively small downsides. Simplicity > complexity where complexity is unnecessary, and I contend that the complexity of package management schemes is unnecessary.