Self-hosting an app may provide some unique advantages, like scalability and privacy, but it comes at a cost. There’s a huge usability gap in the setup cost. Users expect the web to ‘just work’ and don’t want the cognitive load of ‘configuring’ or managing something. So the self-hosted app has to “feel” like a local app, and nothing more. From the user perspective, the back-end is “weightless”.
But isn’t it a hopeless endeavor to conceal all that functionality? Things can get tricky pretty quickly if you want a ‘full-stack’ available to you sitting on that client machine. Now it’s not just about getting your app code written, you also have to deploy and manage an entire stack. Want your self-hosted app to pack some search functionality? Are you shipping a version of ES inside that node-webkit deployment?
In the end it’s just a matter of trust, basically a manifestation of the 80/20 rule; if you need to go that far it’s probably still out of reach. Either we need some incredibly powerful tools to deploy essentially server-side software with low footprint and zero management — and what could that be? — Or we need to give up a little of the dream, or work with sub-optimal tools.
There’s another way at the solution – we need a platform for deploying these self-host apps. Something that would really be a server in the home with a great toolset. I think this is a moonshot play for someone like Heroku; to be that platform for the self-hosted app revolution. Because I think there’s an undeniable progression toward self-hosted apps, it’s not only a great long term investment, it’s a good problem to work on.
What’s the best place to discuss self-hosted apps? And please, if you are working on making something like this happen, or want to be working on making something like this happen, we should get in touch.