What Will You Want to Undo Tomorrow?
Peter Coffee: Control of computing isn't just about what we can do, but also what we can undo. Web services and other developments demand mix-and-match flexibility.When we used to draw block diagrams of the PC architecture, back in that other century, the operating system would be a horizontal layer immediately above the hardware; the applications would be the next tier up, a row of adjacent blocks on top of the OS layer, having the status of peers with each other and clients of the operating system. If you updated a piece of the operating system, all of the applications would see that new facility. If interfaces were correctly preserved, the applications might all work better; realistically, some of them would work better while others (the ones that broke the rules, and coded to internals instead of to published APIs) would be broken. But we all knew what the rules were. Alarmingly, it looks as if its no longer possible to draw these diagrams as horizontal layers, with the boundaries of those layers clearly defined by published rules. The new diagram looks more like the Towers of Hanoi, the classic game (whose solution first taught me the concept of recursion) that requires things on top to be removed before anything farther down the stack can be changed. This says nothing good about the future of desktop or mobile computing.
Im talking, specifically, about the new approach to modularity--or rather, lack thereof--that we see in the remarks of Microsoft product manager David Caulton, who explained the absence of an Uninstall procedure for Media Player 9 with the following shocking example: "As with any OS component you might upgrade, everything has to go back sequentially together. If I install Windows Media Player 9 Series beta and Office, and I roll back, that would be to a pre-Office state."