Here’s the dilemma. Most of what I want to do is made better by being able to do it on more than one machine or platform. If I want to use RSS, for example, I want all the viewers that I use for this on all the different machines and operating systems to be in sync about what I’ve already read, what I’m subscribed to, and so on. If I want to jot down notes, I want them available and editable everywhere. If I have an encrypted database of passwords, I want them available on all the devices I use and I want to be able to edit them anywhere. Same with code.
Local solutions, software that runs on a given device, exist for all these things. Increasingly, “cloud” service providers exist for all these things. The only added benefit they bring is precisely the “available everywhere” feature I mention above. The cost, however, is that I lose control over all this data that I’m sharing; it’s stored by the provider, managed by the provider, shared at their discretion and ultimately disposed of.
In many cases, there are solutions that are optimal for me. For example, source code control is a well-understood problem that has several solutions that work for me. I’ve used everything from centralized systems hosted by service providers, to my own setup on an ISP, to in-house client-server systems, to peer-to-peer, and I’ve migrated my codebase from one to the other without hassle as I’ve changed. The client side has been similarly painless; as each new OS or IDE has appeared, open-source clients for source code control have popped up as well. I have control over my code, I’m not threatened by services disappearing, and I have universal access in a secure way.
I’m still looking for similar software for other needs. It seems to me that the universal access piece of this is exactly what is appealing to many about net-hosted applications run by third parties like Google: Docs, Reader, Blogger, and now Keep, Evernote,Tumblr. But it’s not necessary to cede control of my stuff to these services to gain universal access, it’s only necessary that I have a network-accessible place to store things (S3, my local ISP, my own server on a static IP address or some such), standards for interop like RSS, iCal, plain text, and client software that uses those standards for all the different platforms I’m using. So I need to get on with it and identify those standards and clients, and break the bad habit of “trying” and then buying into web services that come with such a high long-term cost. Recommendations welcomed.