Incidentally, Ben Bangert was just talking about the exact same thing on IRC today.
On the other hand, maybe applications should just provide their own configuration interfaces, in which case the meta-spec could be a lot simpler... more like "pick the entry point and create an instance".
That seems more reasonable to me. Of course, bootstrapping is also a bit complex; but in this case I assume the interface would be a web interface. Any other interface doesn't seem quite reasonable. The other idea I had was a command to write out a basic configuration file -- potentially drawing from some "global" options, though defining what those might be would be a rather organic process. Anyway, given the basic configuration file, you just edit it, and then probably do a final installation stage.
The difficult part is that the environment the application runs in is often not a proper environment for the application to be set up in. Permission issues being the most immediate issue -- the app might have to run as root to create the right directories or whatnot. But I simply have no web environment that I typically run as root. And though I could install to a remote host that way, it's a little suspect.
That said, I certainly can appreciate the idea of a nice web UI for installation. It could lead fairly quickly to a installation process like:
That doesn't really handle the issue of a long-running process. There's no easy way to figure that out, really. You could configure that too when you set it up, but it's so bound to the environment you are running in that it's hard. And it will fail in all sorts of ways that will keep you from the configuration screen itself.
But, Wise Web Hosts would have easy_web already installed and configured for the environment.