So, What Do I Want?
The technology to build the kind of computer I want to be using is almost ready. The latest ARM Cortex A9 CPU supports up to four cores in a very small power envelope, and the mobile GPUs are very impressive. Since I don't play games much, I mainly want a GPU that can handle compositing of my windows and some nice transition effects. The ability to accelerate video decoding and image processing is nice, too. The more RAM, the better, but 256MB is a good minimum—my Étoilé development machine only had this much until very recently, and uses more than that only on big compiles.
Both E Ink and OLEDs have one ability that I didn't mention earlier, which is that they can be made flexible. My ideal device would therefore have a roll-up dual-layer touchscreen, fitting comfortably in a jacket pocket and unrolling to around A5 paper size.
On the software side, a huge amount of software is written expecting POSIX and X11, so they're basically required. Porting from one POSIX platform to another is often not trivial, but not hugely difficult either. I have yet to use a consumer electronics device without missing a feature that would have been easy to add, and for a general-purpose computing device the ability to add software is vital. I don't really care what the kernel is, but if it presents the same interfaces as a desktop operating system I use, that makes my life a lot easier.
The current mobile phone and PDA market reminds me a lot of the computer market in the early 1980s. Everyone was putting out incompatible products, often with one or two compelling features. A few companies tried to lock down their platforms and lost market share because the people who wrote killer apps supported the competition. The platform that became dominant often had no compelling technical features, but a significant economic one. After Compaq cloned the only proprietary part of the IBM PC, the BIOS, it became possible for anyone to build an IBM PC compatible. It was a safe bet for customers, because they had a second source, and a safe bet for developers because they weren't in the position of competing with someone on whose product theirs depended. This situation started to change with Windows, when developers began to rely heavily on APIs provided by a company in their market, but by that stage the PC was an entrenched platform.
A number of mobile platforms are attempting to be the new open system for mobile development. At this stage, it seems more likely that a set of public APIs will succeed, rather than a single implementation.