Mar 14, 2013
It's almost taken for granted these days that your data lives Out There Somewhere on the Internet. If you set up a webmail account at a service like Gmail or Hushmail, your e-mail will ultimately be stored on a bunch of servers racked in a data center someplace you will probably never see. Users of social networks implicitly accept that whatever they post - updates, notes, images, videos, comments, what have you - will probably never touch any piece of hardware they own ever again. Everything stays in someone else's server farm whether or not you want it to, and while there are sometimes options for extracting it rarely has anyone written any software which can actually do anything with it (like re-importing it someplace else) because the formats are never identical. It'd be a lot of work. Additionally, if you lose access to your account somehow - for example, if someone manages to successfully guess your password, social engineer their way in, or force a password reset it's exceedingly difficult to get your access back (Why would someone want to do that? Since when have people ever needed a reason to be malicious?)
But what if you didn't have to trust someone else to hold your data? What if you didn't have to worry about logging into a service somewhere and managing yet another password? Granted, we're not completely there yet, but there are definitely options waiting to be assembled into something more...
However, that is something that merits closer examination. When you're not using it, where does your data live? For relatively simple applications like text editors, the files are stored on the same system they were edited on. But what about more complex applications, like social networks or data mining software? Rather a lot of data will accumulate in a short time and it has to be stored in such a fashion that it can be accessed, searched, and updated rapidly. That means a database, but not many people are willing to set up a database server on their laptops (or their smartphones) just to manage their communications. That can be a fairly hefty undertaking that relatively few are sufficiently motivated to initiate. The alternative that most people would likely choose is to use a database hosted on a server somewhere, like at an ISP or web hosting company. The problem then becomes somebody gaining access to the database server and either denying the user access or seizing copies of sensitive information, which pretty much puts us back where we started. Just as you can buy a virtual machine running in the network of a hosting provider, you could set up your own remotestorage.js instance pretty easily, but then that's one more thing to worry about maintaining and backing up, plus not all good VPS providers are inexpensive enough to be an option.
That's about all I have to say about unhosted web applications. If this technology is already on your radar, then great. Happy hacking. If not, I hope that I've made you curious about applications that basically live in text files that anybody with a web browser can access and use. If you've never programmed before but you're comfortable developing web pages, perhaps you'll do a little experimenting with the Unhosted library to see what you can make it do. If not, there isn't any harm in looking up a tutorial or two, grabbing a copy of Bootstrap, and trying your hand at it.