25 September 2007

I'm a big fan of Google Docs. One of my favorite features is "Revisions": when a file is saved, an immutable state or versioned is saved and can be recalled. With a simple drop down box, I can restore a previous version.

Later, I'm talking with my brother-in-law about upcoming features of Mac OS X 10.5. And we spend a good deal of time postulating how Time Machine will change the world. (If you haven't checked out the UI twist on a fairly standard storage backup infrastructure.

The other night, I finished Harry Potter and the Deathly Hallows. (Loved it, by the way). In this final chapter of Harry's tragic teenage angst, Harry brings us with him in to the Pensieve just as he did in previous books to learn of critical plot details by 'experiencing' firsthand other people's memories. A proxied flashback, if you will.

And then it hits me.

Why isn't all data modeled to be versioned? This universe we live in has one constant, we are on a linear timeline. (Yeah, yeah. Relativistic effects. But as far as I know, science has yet to coerce time to reverse, much less stand still.) Versions, memories, immutable state, what have you. We experience life as a series of observations. Conjuring a 'view' of those observations is a 'memory'. It seems so entwined with our very nature that it seems like major oversight that all data is not versioned.