The challenges in building a personal cloud
TL;DR The future of personal cloud computing is one where every user has his own server in the cloud that hosts is own applications and data with a well defined API. We need a general framework to enable that use case.
Long version
After recently reading Dalton Cladwell's post on what's wrong with twitter, I was relieved to see that a lot of people also feel that social media startups are better run as life style businesses than "get rich quick" growth business that we see today.
I was excited to see Dalton doing something about it by starting a paid version of twitter. But I was disappointed once I started looking into the details. For a start, people wouldn't pay $50 a month to know what I ate for lunch/dinner. Further, a paid twitter or a social network would never have lead to an Arab spring, only a free version would allow that.
I believe in the idea that web users should have control over their data and that the web companies should do better than coming up with innovative ways to package their users and their data as products for advertisers. But, I think in practice the idea is being put in practice in the wrong way.
The idea of giving users the control of their data at a price should start with their critical applications like email and dropbox clone. Starting with social applications twitter or a facebook clone is a bad place since they thrive on network effects and no one will really pay for an app is not critical for their day to day lives.
The ideal framework for protecting the users privacy is to have each user his own personal server in the cloud that he can control. While this idea is simple, getting there involves solving atleast 3 problems well. Firstly, managing server is a bitch even for the most savvy computer programmers. So, some one (like a cloud hosting provider) else other than the user should do it on user's behalf. This service should be responsible for keeping the server up and also to scale it's compute and storage capabilities as necessary.
The second challenge comes from the fact that software that server software is neither user friendly nor is easily maintainable. To solve this problem the framework should provide an app store like interface using which users can install the applications that would run on the server. These server applications should also be one click install and expose the minimum configuration to the users.
The third challenge, is providing an eco-system of usable mobile and desktop applications on all platforms so that these services can be useful for day to day activities. In addition, enough marketing muscle should be put in place so that this platform gets adopted.
The first problem is generally solved by a cloud hosting provider like Amazon AWS. The later 2 problems remain to be solved well.














