Install-less software
The web is an install-less platform, but it only works for HTML/Javascript
Theres no reason specifically why we can't ship non-Javascript code like how a browser ships HTML and Javascript. If you trust an application's sourcecode, you should be able to run an app by navigating to it.
In Android, we can bring up WiFi, Bluetooth and GPS by toggling it. Once a server side application is opened we can turn it on and off with a similar interface.
Register a data handler for magicapp:// in a browser and a hash to an app. The app is hosted on IPFS or equivalent.
The app is a bundle that incorporates source code for native apps, python or node js server and all dependencies.
Navigating to an app handles the download and installation in the background. No command line necessary..no starting of servers or migrations. That all happens automatically.
For compiled apps an estimated progress bar is displayed during compilation based on other users. The server will start automatifally and a browser will open the app.
See Cloudron, cPanel and other automated installers for how the install process would work. See web browsers for how easy it is to use an app.
A way of configuring software to talk to database etc
When you think about it though, browser is just a UI Protocol, defined by W3C, and the main feature is not the browser, but the address field! Your idea has inspired a related idea of Addresser App.
We could try to quickly cook up an initial prototype of what you're proposing by making a browser extension, because browser extensions can communicate with an HTTP service running on localhost. So, if you run an application installer as a daemon that listens for commands from browser extension, then an app like Infinity could ask it to install a yaml spec. I think it's worth trying out, and thinking of security later.
I don't think the browser would ever do it. It would have to be a special application browser or an app that registers as a handler in a browser.
I think software installation is antiquated and legacy. it's just not necessary for it to be an explicit step.
We would have a separate application that understands application manifests and installation instructions I call it magic app because it doesn't exist.
Magicapp://infinityfamily/fh47fhr4838
Security is the disadvantage of this concept. I just like the idea of clicking a link, saying yes, then browsing into the software fully installed. Magic app would show a dialog perhaps a warning that you are installing native software.
No FTPing files, running .exes, running apt get nginx php-fpm, ./configure && make && make install, npm run server, apt-get install postgresql-12
I would like a friendly pretty GUI of the compilation process. Perhaps showing a spinner and showing what file is being compiled.
It could do something smart like run Docker containers for some isolation security.
Flatpak and Canonical snaps try solve application packaging. JuJu tries to solve software configuration - I recommend giving it a look.
Do you mean that if an app has a server component, then we could simply give a browser the permissions to install it without asking? Sounds like a security risk, unless it gets installed into an isolted environment, like docker. However, that then sounds like a space and memory hog. Giving browser permissions to install executables on localhost would require some security engineering, but in general, I see this idea as actually better than trying to virtualize everything on a browser. [+]