This year has already started to see the blurring of the edges between online Web 2.0 and traditional desktop applications. The traditional downside to this software as a service (SaaS) has been what to do when there is no connection to the Internet. There are various technologies now available from the big players (Adobe AIR, Google Gears, Microsoft Silverlight, Mozilla Prism and Sun with JavaFX). These all allow developers to keep your data in sync when you don’t have Internet access to their applications.
Another obstacle is changing attitudes to software. You will no longer own the software that you use but instead be charged either on a pay-as-you-go tariff or, more likely, on a monthly subscription basis.
There is also a gathering trend toward smaller, more portable computing devices with limited hard drive capacity like the Asus Eee PC. New solid state Flash drives offering a reasonable amount of storage are still expensive but these drives offer better battery performance and allow for smaller footprints.
Couple these new machines with a wireless connection, offline synchronisation and advancing online applications and you’re not a million miles away from the thin client model of computing in the 1970s. The major difference I can see between the aged dumb terminals and the new emerging way is a matter of the public perception of security and trust online. Throw in reliability (or lack thereof) issues, encryption bottlenecks and the economics of dealing with a serious amount of bandwidth into the mix and it’s clear than there is still a lot of progress to be made.