The "All-Web" paradigm is coming, folks. And it really doesn't matter how much you love your iPhone, or your Android, or Windows phone. Native apps are toast, in the long run. Your data is moving to the cloud — your pictures, your music, your movies, and every document you write. It's all going up there, and local hard drives will be history within 3 years. And what that means is ALL software is heading there too. Native apps running locally on your computer are going to be thing of the past, and it simply blows my mind that even people here on HackerNews completely fail to understand this fact.
Although I believe many things will be moving to the cloud in the (near) future, I also believe there are still major barriers to be overcome before we can move our entire computing into the cloud. An 'All-web' paradigm, where there are NO local apps – where there is NO local persistent storage – is a long, long way off, if not entirely impossible.
The Cloud lacks interoperability
One major thing currently missing from the Cloud is interoperability between Web applications. As mentioned on Hacker News: "local hard drives will be history". I believe we are greatly underestimating the level of interoperability local storage offers. Name a single native application that can't load and save files from and to your hard drive? Local storage ties all applications together and allows them to work with each other's data. I can just as easily open an JPEG in a picture viewer as in a photo editing software package or set it as my background, etcetera.
If the All-web paradigm is to succeed, Web apps will need a way to talk to each other or at the very least talk to some unified storage in the Cloud without the user needing to download and re-upload files each time. Right now, if I want to edit a photo stored in Picasa in a decent image editor, I have to download it from Picasa, upload it to an online image editor, download it from there and upload it again to Picasa (and removing the old photo). I have a pretty decent internet connection, but most of my time will be spent waiting 80 seconds for a 3.5 Mb picture to download, upload, download again, etc.
Perhaps cloud storage providers will start publishing APIs so that other web apps can accesss your files directly, but given that the Web historically has been about being as incompatible as possible with everything else, I believe this will be a very large, if not insurmountable, problem.
User control will be gone
When Google launched the new version of its Gmail interface, many people were annoyed. Many people are annoyed with Facebook's TimeLine interface. Many of my friends still run ancient versions of WinAmp to play their music, simply because it's the best music player out there. With the All-web paradigm, choice over which programs you use, and which version you want to use will be gone. The big men in the Cloud will determine what your interface will look like. There will be no running of older versions of programs. Unless web applications find some way to unify storage, (as I mentioned earlier), there will be no way to migrate to another application. At the very least it will be painful.
Cloud storage is expensive
I'm sure we all enjoy our cheap local storage. If I need to temporary store a few hundred gigabytes of data, I don't even have to think about where or how to store it. My home computer has installs for twelve different Operating Systems through VirtualBox. It takes up about 100 Gb. My collection of rare and local artist's music is around 15 Gb. Backups of my entire computing history take up about 150 Gb. Where in the cloud am I going to store all of that? Dropbox? It doesn't even list a price for storage in the Cloud like that! Going from the prices they do list, to replicate my local storage in the Cloud, I'd be paying about $200. A month.
Internet connections are not up to par
We may think our internet connections are fast, and compared to a few years ago they are, but they're not fast enough by a long shot to do our daily computing in the Cloud. First of all, upstreams are generally much more limited than upstreams. If the All-Web paradigm is going to work, that has to change. But home internet connections aren't really the problem, I think. The real problem is mobile networks. The All-web paradigm requires being online all the time, everywhere. Lately there's been a trend (at least in my country) of reducing mobile internet subscriptions from unlimited data plans to very limited plans. A 500 Mb limit per month is not uncommon now. Telco's reasoning is that they need to recuperate costs for operating the network. Some still offer "unlimited" data plans where, after exceeding your monthly quota, you'll be put back to 64kb/s. It's enough to check my email (barely), but it surely isn't enough to do anyone's day-to-day computing from the Cloud.
And that's the situation here, in one of the most well-connected countries in the world. Think of the number of countries that aren't so fortunate. If nothing else, those countries will keep local computing alive.
Most web apps require a monthly subscription to do anything meaningful with them. It could be just me, but I much rather pay a single price up front after which I will be able to use my purchase for as long as I like. With the All-web paradigm, I'd have to pay monthly fees for Google (Documents/storage), Dropbox, Netflix, some music streaming service, a VPS for development, and a lot more.
With the current prices, the monthly costs to me would be unacceptable. It's a lot cheaper to get a simple $400 desktop computer, which can take care of all those needs. Say I use it for 4 years. That comes down to about $8.50 a month. The cheapest Dropbox account is more expensive than that.
But the high price isn't really the problem. The problem is continuous payments. Say I lose my job, and I have to cut costs. With local computing, I could say "well, this PC is old, and should be replaced, but since I'm low on money, I'll keep using it for another year". Cancelling my subscription to some/all my services means I lose some/all my data. Remember, we're talking about an All-web environment here. No local storage large enough to store my data. The risks are simply too big.
There's no such thing as privacy in the Cloud. Your personal information and data will be mined, abused and sold. You have no control over it. The more data that is stored, the larger the temptation for companies and criminals to monetize that data. Right now, most people don't care too much about privacy. We still have a choice about what we put in the cloud and what we keep to ourselves. That picture of your girlfriend in lingerie won't be ending up on Facebook any time soon, right? With an All-web environment, you'll have no choice. Want to store or edit a picture? It has to move to the cloud. Even those most unconcerned with privacy won't accept that.
The best we can hope for would be that web companies will treat our data confidentially. Hope. We have no control. Arguments that companies who abuse our data will soon lose all their users are not relevant. Your data will already be abused by that time. We only need a single incident for people to start distrusting the All-web paradigm. In fact, I think that has already happened.
In the future, many local applications will move to the cloud. In fact, many already have. Music and movie streaming, word processing, image editing, storage; they will move more and more to the Cloud. The All-web paradigm though, will never fly. It would be a huge step back in terms of convenience, cost, privacy and abilities. Local computing is here to stay. It may become more and more of a niche market, but it won't disappear.