All relevant points of view, all extremist. Isn’t the answer (like just about everything) somewhere in the middle? AKA both offline and online? I say this for a number of reasons.
Software in the cloud applications aren’t there yet. They aren’t all encompassing. Despite the term rich (internet applications), some of them aren’t all that rich. They are improving, sure. But they aren’t there yet.
Ubiquitous connectivity doesn’t exist, doubt it ever will (see my post on companies making money). This in its own right will stop online only plays dead
Prior investments in software mean that if this does happen its not going to be quick. I think this is why Salesforce.com APPEX is such a big deal, it’s a fantastic play to remove the “but we’ve spent millions on SAP already” objection.
Fit for purpose isn’t always there. It can be more convenient to have the software on your computer. Reasons like lag, authentication (you actually have single sign on to the desktop in case you hadn’t noticed it) and the way desktop apps tend to play well together (they’ve got a 15 year head start on online apps)
Cultural change. Sure development times are compressing, but software as we know it has been around for 40 years, in the cloud 7ish. Its going to take time to change, and is it a good thing to be always connected? The Net gen might be always on, but they are also the most unhealthy bunch of adolescents ever as well.
Companies and individuals will build hybrid solutions for themselves (enter the consultants and systems integrators if they have the foresight). Developers will have to look at the learnings from the mobile application development world to learn how to cater for the instances where you need to have offline functionality.
Will this change? I think so, eventually some companies will rid themselves of installed legacy systems (in like 10 or 20 years). Cultural change will occur, internet connectivity rates, connectivity speeds, compression and delivery will improve over time.
By then though, won’t the computer be obsolete? Typing archaic?