"Sandstorm is a radically easier way to run your own personal server. It lets you install and manage apps entirely through a web interface — it's as easy as installing apps on your phone."
(I'm not directly affiliated with the team, but I am a big fan of Kenton Varda's work in this space, and his work on Cap'n Proto.)
As a counter-example, it was pretty clear to me what Cap'n Proto improved over ProtoBufs.
For Sandstorm you should compare against things like ownCloud, Cozy Cloud, IndieBox, etc. Docker is not really a relevant comparison.
On second reading, that post does actually answer my original questions, I guess I was hoping for something different back then.
But to come up with some differentiation aspects: was it using Linux containers or lower-level virtualization? (it's using containers). Did it provide a powerful new way to automatically containerize an app? (it's not automatic)
I feel like everyone fixates on the containerization aspect mostly because Docker is hot right now and containerization is all they do. It's hard to get people to understand that containerization is not the point of Sandstorm. Putting servers under the control of end users is the point.
* Provides a command line interface to manage containers (containers being, essentially, linux kernel namespaces, groups and a union file system, all brought together).
* Each app needs to provide its own auth.
* You need some orchestration in place to deploy and manage your apps.
* Ultimately, it requires _technical work_ to spin up applications.
Sandstorm:
* Provides a web interface for:
* Fetching/installing packaged apps.
* Exporting data, so you can trivially move hosts.
* Unified authentication: you log in once, and then you can access any app.
* Apps only take up server resources while you have a tab open.
* _Uses_ containers behind the scenes, but that's not the selling point.
A metaphor: you can think of Docker as being a bare bones OS, and Sandstorm as being that OS _plus_ a unified app store. As a non-technical software user, that app store makes the OS accessible to me - with a couple taps, I can have all sorts of new tools installed and ready to be used, all without ever considering memory models, network firewall rules, command line invocations, etc.
So, if you're a writing software and you need the flexibility of orchestrating containers, firewalls, auth, etc, then Docker is what you want. If instead, you just want to be able to edit documents, send emails, read your RSS feeds, etc, then you want to click a couple buttons and have your apps ready to go - you don't really care _how_ it's implemented, you just want your apps.
I think I was misled when Kenton repeatedly pointed out how, with Sandstorm, disappearing SaaS wouldn't be a problem. This implied that there was a relatively an easy way to take an existing web-app and turn it into a Sandstorm App. I now realize how naive that impression was, as making a Sandstorm App actually requires adapting the webapp to Sandstorm, which requires development work and access to the source code.
Which, as someone who is perfectly able to rev up a virtual server and install some web-app, including configuring it to use some shared auth backend, isn't as groundbreaking as I hoped for.
Sandstorm is a great value proposition for the reasons you cite, just not the amazing unicorn I unrealistically expected.
While you may be capable of doing that, you are part of a very small set of people. We aren't going to see a revolution where everyone starts using self-hosted applications unless everyone is in fact capable of doing so. And without a large userbase to attract developers, the apps you are running on your personal server will never rival SaaS competitors in quality or variety. That in turn means that even people who are happy with the difficulty of self-hosting today have a lot to gain...
From their index page: "When you use a web app today, you usually connect to its developers' servers. This is backwards, and leaves them in control."
Later, on the same page: "Use Our Servers..."
D'oh!
> Later, on the same page: "Use Our Servers..."
Yes, that does sound silly when read out of context; while they do provide hosting for Sandstorm-aware applications, Sandstorm as a platform allows you to just as easily host your apps yourself (of course, not everyone is technically qualified to setup a VPS and all that jazz). Regardless of who you have hosting your apps (perhaps yourself), you could trivially export your data and move elsewhere - kind of like how if one of my company owned laptops is about to fail, I can always copy my stuff over to one of my own laptops and keep running - I don't have to purchase completely new software and try to finagle my data exports into the new programs. If you haven't already done so, I highly recommend watching the video from the IndieGoGo campaign:
What we're seeing here, I think, is very analogous to the Office Suite Wars.
Back in the day, there were many desktop software makers who were viable businesses. Multiple spreadsheet companies (like Lotus, for instance), multiple Word processors and the like. Over time, Microsoft Acquired or drove out of business much of the competition by aggregating all of these functions into a coherent office suite.
This time around, companies like Github are "liberating" key functionality via acquisition. I think some of these things will end up like atom -- open source projects that play a key role in githubs core business (yes, I expect atom to replace the in-browser editor on github, so that's the assumption I'm working on here)... while others will be like the extra businesses that Github runs on the side.
I don't think this is bad, since Easel was acquired by github... I think it will live on.
But others, like the many small vibrant independent desktop software makers will die. And that's not great.
Well - at least you could run some emulator in a VM if you want, technically I can still run some oldies in DosBox :-)