The CloudPC and the 'everywhere computer'
About four years ago, I wrote a post about my ideas for a CloudPC, which would be a small (very small) device that would let you carry your personal computing environment around with you. To use it, you'd just plug it into a 'dock', which would provide all the peripherals, processing power etc. My idea was that the device would be able to make use of the cloud but wouldn't be dependent on it. You could still get work done even if the Internet connection went away.
A recent TechCrunch article describes a new product called TangoPC, which it calls an 'everywhere computer'. The idea is quite similar: TangoPC is a tiny dockable unit about the size of a hard drive, equipped with a CPU, RAM, SSD and various ports and adapters. It plugs into an inexpensive desktop dock, which is used to attach keyboard, screen and other peripherals.
TangoPC differs from my proposal in that it provides a CPU. It is, in effect, an actual computer, whereas my idea was something less. In my proposed CloudPC, the base station would provide the computing horsepower, so that you could get more power by simply plugging your portable environment into a fatter, faster desktop. CPU and RAM were just another 'service' provided by the base station.
There are strengths and weaknesses to both approaches. The computing power of the TangoPC will always be restricted by the power of the CPU that you can fit into that little pocketable box (apparently cooling is a big issue, although the TangoPC makers believe that they've made major progress in this respect). The TangoPC tops out at about "ten times the power of a smartphone." You can't enjoy more power by plugging your portable device into a bigger workstation.
On the other hand, because it's a real computer, the dock can be made cheaper and simpler (an important consideration for a device that will depend on widespread availability of docks). Also, it can actually do useful work on its own: TangoPC will offer an adapter that lets you use it 'on the road' using an iPad as a display, which is a very smart idea.
The TangoPC is in some ways more practical than the CPU-less device that I proposed. The question is whether the available onboard processing power will be enough for all users. Things could go one of two ways. It may turn out that the computing power offered by a pocketable device will be sufficient for the needs of the vast majority of users. The other possibility is that enough users will find themselves limited by such a device that developers of devices like the TangoPC will work on ways to allow a portable device to leverage the additional power in a desktop (or laptop) dock, or even in a regular desktop computer. A standard will emerge allowing computation to be offloaded onto the host machine with its greater resources, through a kind of 'processor sharing' mechanism.
The other element that I expect to see in a CloudPC is a virtual filesystem, with the user's documents stored both locally and in the cloud. This is, in some senses, an evolution of services like Dropbox, but the virtual filesystem will have to go much further. Unless changes in storage technology allow near-infinite storage on a small device, the filesystem will need to intelligently juggle data between the device's own limited storage and a larger backing store in the cloud in such a way that the user is seldom aware of the limitations of the actual device. This means that the filesystem will need to do version management and conflict resolution, as much as possible without user intervention. It will also need to anticipate the user's needs, ensuring that documents or data that the user uses regularly or is likely to need in future are present on the actual device for faster or offline access, while moving little-used documents to the cloud to save space. Doing it right is challenging, but there's plenty of precedent in computer science for solving problems of this kind.
Ultimately, the 'everywhere computer' is likely to merge with a device that many of us already carry everywhere -- a smartphone. Smartphones already have the computing power to run basic applications at speeds that are acceptable to most users, and they have increasing amounts of onboard storage. The CloudPC or 'everywhere computer' may eventually turn out to be simply a powerful smartphone supported by processor sharing and a virtual filesystem. In the meantime, however, the TangoPC looks like an interesting step along that road.