I like cloud computing. It makes computing hardware and network resources
a commodity much like electricity, available to anyone, anytime, anywhere,
freeing you, your programs, and your data from depending on particular physical devices.
The network is the computer. That was Sun Microsystems' vision, and we can see it becoming a reality now.
Unfortunately, the more popular consumer-grade cloud services are all proprietary offerings,
which undermines the commodity aspect quite a bit. You end up with vendor lock-in and
loss of control over your processes and data. Depending on the kind of service and how
well it integrates with others, this can become a real problem. Something like Dropbox
is still relatively easy to replace, because you can at any time take your files elsewhere.
But even with Dropbox you have the problem that all those programs that you have been
using with it probably support only Dropbox and no other service. And trying to leave Facebook
for another network while still being able to continue to chat with your friends and bringing
all your posts and photos along seems downright impossible. You may not ever want
to feel the need to migrate away from Dropbox or Facebook, but what if your cloud
company goes out of business? Happened to me when drop.io was acquired.
In addition to lock-in, there is also the problem of centralisation, which also
seems contrary to what cloud computing and the Internet itself stand for. If everyone
has all their personal data stored at Amazon, Apple, Facebook and Google, the consequences
of those services going down, losing data, leaking data, or being forced to disclose data
could be disastrous. And with companies who let you use their services for free, you
have to wonder in how many ways they monetize your information behind your back.
Remember, if you are not paying for the product, you are the product.
So what I would like to see instead is open standards for interoperability
between these cloud services. It should be like email: Every email application in the world
is expected to be able to talk to every email service provider, and all email
service providers are expected to deliver messages to customers of other email
service providers. As a result, there a lot of email service providers,
no single provider has everyone's email, you can choose the one you trust,
you can have multiple email accounts for different purposes,
you can even run your own email service (which most companies actually do).
When Apple's iCloud service was still in the rumor-mill, there was speculation
if it would take the form of an updated Time Capsule device, something that
people would buy and put into their home network and that would serve as a hub
for synchronisation and backup between their devices. Especially since iCloud
is more geared towards keeping all your devices in sync with each-other
(as opposed to sharing content with other people), that seemed like a good idea.
Taking this a little further, I'd love to have all my devices form an ad-hoc
private network over whatever connection is available to them, with a dedicated hub
being optional and not really central, and the ability to just use a Mac mini
or something hosted in the cloud (but completely under my control) to run this hub.
Instead, they built a massive data center, and when it goes down, Siri won't talk
to you anymore.