Daily Archives:May 11th, 2003

Parallel PC universes

This is my dream for the PC of the future. First, the simple bit. It has a rewind button. Or, more precisely, a jog-dial. So you can rewind the computer to any point in the past, to a fraction of a second, and get any application, or indeed the entire system, back to exactly as it was then, right down to the mouse position.

This would require a lot of storage, but at some stage that won’t be a problem, and it would have all sorts of very cool side-effects, like eliminating the need to explicitly save your documents from time to time. We do it now as a way of saying, “these are the changes I want to keep”. But when all of your changes are kept, you can just name a document and always work on the latest version. If you don’t like your changes, just rewind.

Or how about showing your software supplier or help desk just exactly what you did just before your system crashed. Or being able to rewind to the point just before you clicked that ‘Delete Everything’ button…

Backups would consist of maintaining some copies of your full system history. No need to worry about whether they were full or incremental backups, or how often you had made them in the past, because every one would contain the history of everything you’ve done. The technology would need a quick way of doing “freeze! – duplicate entire storage! – continue!”.

I think this would be great.

Then we get to the second, more complicated part, and I haven’t worked this out properly yet. It’s fine if you just want to rewind your whole system to the day before yesterday, and look at where you were then. You could even start again from that point as if nothing further had happened.

But suppose you just want to try cancelling something you did then before fast-forwarding to the present and continuing where you left off? That’s like using a time machine to change one small bit of the past and hoping it doesn’t have awkard implications when you get back to the present. I don’t think it can be done in the general case, though the system might be built in a sufficiently compartmentalised fashion that a certain amount of this was possible.

You might, however, be able to do a ‘what-if’ scenario. “Would this application have run successfully if I hadn’t installed that service pack yesterday?” You could rewind and fork off a separate, identical copy of the PC’s state, perhaps using the backup technology described earlier, and work on that. If that world turned out to be better, you could switch to it. If necessary, you might pop back to your old universe for a moment, make copies of important stuff onto a separate system or some kind of removable storage, and then go back to your new world and import it just as if it had come from somewhere else.

Needs more thinking about…

© Copyright Quentin Stafford-Fraser