Sandstorm’s decentralized hosting platform could finally make indie web apps viable

“You’ll need to run your own server” – words to send most normal people fleeing for the exit. While running your own server isn’t quite brain surgery, it’s hardly a no-brainer, requiring technical expertise and considerations ranging from security patches to the maintenance of constant power and connectivity.
This is a big issue in the so-called indieweb scene and the associated decentralization movement, which is trying to give people more control over their data than they get today with centralized web services like Facebook(s fb) and Google(s goog). It’s all very well to come up with cool new open-source federated apps that give you more freedom than the corporate monoliths do, but that approach is never going to work when the apps are a pain to run.
Which is why Sandstorm, a new “personal cloud platform” that’s currently crowdfunding, is so very exciting. You don’t need to be a sysadmin and you don’t even need to know what a command line is – it’s arguably easy enough for your parents to use.

Viable federation

Sandstorm is basically a decentralized hosting platform for open-source and proprietary web apps that should make it radically easier for indie developers to put apps out there in a scalable manner. It makes these web apps as easy to use as Gmail and Facebook, but in a way that also permits true open source, where the user can modify the code if she wants.
Each user essentially gets her own virtual server, hosted by Sandstorm from $5 a month, though all the apps and their data are totally portable. The Sandstorm team’s vision includes multiple hosts around the world, competing on things like reliability, trustworthiness and legal jurisdiction. You’ll even be able to install Sandstorm on your own server if you want, though of course that’s less convenient for the average user.
Sandstorm hosts will dole out resources in the form of Gigabyte RAM hours (GBrh), and the outfit reckons a typical 200GBrh monthly portion would be more than enough for anyone but very demanding users. CPU time isn’t metered but users get deprioritized for using too much.
While Sandstorm is still in the alpha phase, the team behind it has already been porting over an interesting range of open-source apps including the Ghost blogging platform, the Tiny Tiny RSS feed reader, the Etherpad collaborative document editor, and the ShareLaTeX collaborative LaTeX editor for researchers in the physical sciences. The alpha version of the Mailpile encrypted email client – something I’m really looking forward to using once it’s baked later this year – is also already in there.
This range is part of the beauty of this idea. While Sandstorm’s federated nature eliminates scaling issues and could support some really popular new ideas, it also makes niche apps — the kind of small open-source tools you might download to carry out specific tasks on the desktop — easier to deliver through the browser.
As Jade Wang, Sandstorm’s developer engagement chief, told me:

“Unlike text editing or email clients that every uses, a lot of the apps we’ve made available are targeting a smaller audience. They are still extremely useful to people but [as a straight desktop app] it’s much more difficult for them to be viable to a larger audience.”

On top of that, apps can be built on any Linux-supporting stack, and Sandstorm claims porting can take just 5 minutes.

Fast, simple and privacy-friendly

For the user, installing apps from the Sandstorm app store really is a super-fast, one-click affair, as you can experience on the live demo. “A lot of services will spin up on your EC2(s amzn) instances but that takes a lot longer because you need to set up a whole Linux virtual machine, whereas we’re spinning up fine-grained instances,” lead developer Kenton Varda, a former Googler, told me.
There will be unified login for all the apps, and while each one runs in its own sandbox for security’s sake, it’s possible for them to share data, so you can use a photo from a storage app in a document app, for example, or a contact from an address book in some social app.
This sharing will be done through an interface that makes sure the requesting app only sees what you want it to see – as opposed to giving it access to all the photos in the storage app, or all the contacts in the address book, as such things currently tend to work.
You can also connect an app on your server with an app on someone else’s, allowing for federated systems like social networks — think Diaspora, but without the crippling technical-knowledge requirements.
Communications between the apps is handled by Varda’s Cap’n Proto data interchange format, a faster sequel to Google’s Protocol Buffers, the second version of which was also authored by Varda. Cap’n Proto is used by Cloudflare for transferring data between its data centers, and is a part of Canonical’s Ubuntu distribution.

Funding time

The basics are already there. Now the team just needs funding to make Sandstorm prettier, to develop and run a fully-fledged app store, and to complete the “Powerbox” data-sharing interface.
The Indiegogo campaign runs until the end of August. It has been live for a couple weeks and it’s only a third of the way to its $50,000 initial goal, so I hope interest picks up for the sake of fuller development – once the campaign crosses the $150,000 the team will start to work on “stretch goal” features that will boost security and make it possible for Sandstorm apps to play nicely on phones. For my part, I just shelled out $64 for the one-year hosting subscription perk.
Apart from the crowdfunding campaign, Sandstorm hopes to make money off its hosting and also from running its app store — those donating for free open-source apps will also be invited to donate to Sandstorm, and the outfit will also take a cut (no more than 30 percent, it says) of proprietary app sales.
I think there’s more than enough motivation here for indie developers to port their open-source apps to Sandstorm, and enough ease of use for normal people to finally get the benefits of running their own servers without needing to actually do that. Sandstorm could act as the platform for a whole new generation of privacy-friendly, federated web services that could provide viable alternatives to the services of Google, Facebook and Twitter(s twtr), and I very much hope the team realizes that dream.
Here’s their pitch video: