I started using computers in 1974 when I was still in high school. My first computer took up an entire room and yet had only five kilobytes of RAM (that's 5K, not 5G or even 5M). Punched paper tape was the main form of data input, and the operator console was an electric typewriter. No screens, no cursor. The CPU ran at a speed of about 0.1 Mhz.
Despite its primitive nature, this early computer was much more pleasant to use than the monster mainframe I was subjected to a few years later when I started at the university. The early, simple computer couldn't do much, though I did design a few text-based games for it. Still, it was a single-user computer — basically a PC the size of a room. When you used it, you had total control of the machine and knew everything it did, down to the spinning and whirring of the punched tape.
Although the bigger, newer mainframe had an actual CRT screen, it also had obscure commands and horrible usability. Worst of all, it was highly alienating because you had no idea what was going on. You'd issue commands, and some time later you might get the desired result. There was no feeling of mastery of the machine. You were basically a supplicant to a magic oracle functioning beyond the ken of humankind.
People who started using computers after the PC revolution have no idea of the miserable user experience that centralized computers imposed. Even the worst PC designs feel positively liberating by comparison.
For me personally, the experience of moving from a small, relatively transparent computer to an oppressively large and opaque one marked the start of my passion for usability. I knew that it could feel good to use computers, and I wanted to recapture that sense of empowerment and put humans back in control of the machines.
For the field in general, it's worth remembering the downsides to centralized computing. We must take steps to keep users in control as we grow the power of the network. It's essential that we keep a strong front end to balance out improved back-end features.
What 2034 Will Bring
If I keep up my exercise schedule, I stand a good chance of experiencing computers thirty years from now. According to Moore's Law, computer power doubles every 18 months, meaning that computers will be a million times more powerful by 2034. According to Nielsen's Law of Internet bandwidth, connectivity to the home grows by 50% per year; by 2034, we'll have 200,000 times more bandwidth.
That same year, I'll own a computer that runs at 3 PHz CPU speed, has a petabyte of memory, half an exabyte of harddisk-equivalent storage, and connects to the Internet with a bandwidth of a quarter terabit per second (peta is 1015 , or a million giga; exa is 1018 , or a billion giga).
The specifics may vary: instead of following current Moore's Law trajectories to speed up a single CPU, it's likely that we'll see multiprocessors, smart dust, and other ways of getting the equivalent power through a more advanced computer architecture. But users shouldn't have to care about such implementation details.
By 2034, we'll finally get decent computer displays, with a resolution of about 20,000 x 10,000 pixels (as opposed to the miserly 2048 x 1536 pixels on my current monitor). Although welcomed, my predicted improvement factor of 200 here is relatively small; history shows that display technology has the most dismal improvement curve of any computer technology, except possibly batteries.
Utilizing Hardware Improvements
How could anyone use petabytes of memory and terabits of bandwidth for personal needs? Hard to imagine now, but I don't think we'll have any trouble putting the coming hardware cornucopia to good use. We'll use half the storage space to index all our information so that we can search it instantly. Good riddance, snoozy Outlook search.
We'll also spend a big percentage of the computer power on defense mechanisms such as self-healing software (to root out bugs and adapt to changing environments) and aggressively defensive virus antibodies. We'll need such software to protect against "social engineering" attacks, such as email that purports to come from your boss and asks you to open an attachment.
Computer games in 2034 are likely to offer simulated worlds and interactive storytelling that's more engaging than linear presentations such as those in most movies today. For this new entertainment, the simplest accomplishment we need is artificial actors rendered in real time in high-definition animation. Adapting stories to individual users will be much harder. Once solved, the resulting user interfaces will be much more appealing to a broad market than current computer games, which typically feature convoluted gameplay and simplified worlds.
Even without full AI, computers will exhibit more signs of agency and work to defend their owner's online interests rather than sitting passively, waiting for commands. Richer interaction styles are also likely, both in terms of gestures, physical interfaces , multi-device interfaces, and the long-awaited decent high-resolution flat screen.
Certainly, our personal computer will remember anything we've ever seen or done in both cyberspace and meatspace. A complete HDTV record of every waking hour of your life will consume 0.01 EB, or 2% of your hard drive.
Science fiction authors do a better job than I of speculating on future advances and the implications for human existence. However, one thing is certain: the transition from punched tape to the Web and megapixel displays is merely the first and smallest part of the evolution of user interfaces. If we keep human needs in mind and harness the increased computer power appropriately, there will be great and exciting things ahead in our field.