Portable State
With enough bandwidth, we might not want to carry our hard drive around. Keeping files on a RAID array in our house, possibly with some remote backup, is safer from theft and accidental damage. What, then, becomes of our laptop?
The laptop is a transition step between the desktop and post-desktop eras. In terms of user experience, a laptop is basically a portable desktop; there is no big conceptual difference between desktops and laptops. They both tend to run the same operating systems and applications.
What happens if we try to predict the ultimate form factor for a laptop?
A laptop has three important components:
- The screen
- The keyboard
- The trackpad
Keyboards can be made small enough to fold into a jacket pocket, and track pads can be replaced with touch screens. Before we go any further, it’s important to distinguish between the two use-cases for a laptop.
The first use-case is that of a portable desktop. Laptops in this category are basically used as desktops that don’t have a fixed home. Their owners carry them between home and work, and often plug them into monitors and external keyboards/mice at one or both ends.
This category of machine is basically used as portable state. Even today, it could probably be replaced by a USB flash drive with a virtual machine image. With more bandwidth, you don’t even need the flash drive; you just copy the image over the network.
The second case involves operating the laptop somewhere where screens are not available, which eventually will likely mean outside. In this case, some kind of screen has to be retained, as does some local processing power (if only to handle display commands sent over the network).
Laptops of the first type are likely to vanish completely. A few years ago, I saw a demo by some guys from IBM, in which they stored a Xen image on a flash drive.
At the time, 1GB flash drives like the one used were very expensive. Of this 1GB, half was used for storing the RAM when the machine was suspended, and the other half stored a small installation of XenoLinux. When the machine resumed, it would establish a VPN to the home office and mount an NFS drive for more applications and for user data. The flash drive just stored the minimum state information required to initialize the system.
Users would then run a VNC client on the host machine and use it for access. A more modern version would probably use remote X11 over the virtual network, so it could take advantage of 3D hardware on the host machine.
A future implementation would probably include a simple processor with the chip that could handshake with the host machine’s TPM and ensure that it had not been tampered with.
The second kind of laptop will remain in some form, but it might not resemble current models much. With ubiquitous and cheap bandwidth, there is much less need for large amounts of local storage on a laptop.
The first laptop I owned had a 60MB hard disk, and I remember the anguish when it failed. My current one has a 160GB disk, and I am a lot more paranoid when it comes to backups now. With enough bandwidth, I could store all my documents on a file server somewhere safe and access them remotely (with aggressive caching to avoid problems with latency).
If latency were low enough, it might make sense to delegate processing to a remote machine that didn’t have to worry so much about power consumption as well. Something like Sun’s old NeWS system would make sense here, in which the laptop would run something like a Display Postscript interpreter for real-time interaction with display widgets, but the real code would run elsewhere.
This summer I spent some time playing with a device that comes close to being a good form factor for a post-desktop portable computer: a Nokia 770 with a folding bluetooth keyboard. I could fit them both in my pocket and stroll to the park, where I wrote a few articles sitting in the sun.
The 770 lacks a few things; it will be a few years before cheap mobile CPUs are fast enough that you don’t notice their lack of power, and the current wireless infrastructure isn’t really up to the standard I’d like to have to depend on.
At the current rate of development, it won’t take long for the technology to catch up with the uses being imagined for it. The desktop won’t die quickly, but its demise has already begun.