Monday, August 29, 2005

"Representational" Databases

I want a new way of organizing data. These methods we use, they're all from the era of cave paintings. Even the complexities of a relational database - which, admittedly, are great for certain applications - leave a lot to be desired when it comes to fully utilizing a computer's capabilities.

The problem is that computer geeks, in their head, they think "database" and they get two pictures: layered spreadsheets and a microprocessor. At no point does "user interface" enter their mind. They think to themselves, "the user interface will be on top of the database, of course. It can be anything." This makes sense to us geeks, because it's the status quo. But the user interface is limited by the backbone, and the backbone is limited by the user interface. Both need to be considered together.

And, frankly, our data-driven interfaces are like laser pointers. We live our whole lives like mimes with glow-in-the-dark hats in a dark cave. Unless we bump into them or they put on their hat, we'll never know the others exist. Computers give us laser pointers. We shine them around, but we can't make out the scenery - these laser pointers have a very limited use.

I want a flashlight. I want to be the mime with the flashlight.

And that means a new kind of data management. That means I can't have a seperate database for every little application. Hell, Microsoft Outlook alone has more than half a dozen databases: address books, calendars, mail sorting, tasks, notes, whatever the hell "outlook today" is, and so forth.

The funny thing is, these databases don't contain any USEFUL data. The data they contain could be just as easily written on scraps of paper and stapled to the wall. The only advantage to having them in a computer is automation. Sure, automation is nice, but computers have the power to revolutionize data management, and the best we've got is a slightly accelerated card catalog? That's pretty sad.

Every day, I push my way through literally thousands of pieces of information. Some is useful to me, some is worthless or worse. My mind is pretty good, and I'll remember relational data long enough that people will look at me bug-eyed when I bring it up three years later. But there's simply too much data. I find myself going back looking over previous data, previous posts, and reinterpreting. But all that previous data is largely lost: I can't reinterpret relational data, and I don't have the original data on file. Even if I did, I often don't KNOW what I want to reinterpret until I've read it again.

Now, computers CAN help with this.

Screw the stuff we don't care to remember. Computers aren't helping me overmuch by keeping track of my contacts - they're just saving me the time of looking them up in my Rolodex. I want the computer to make useful suggestions. Instead of saying "This is John's address", it should be saying, "You might want to contact John, he knows about this kind of stuff". (And also giving me the addy, of course.)

In order to do that, what we need is something BETTER than a relational database. Something in which the needs of the user interface are inextricably linked to the data. Living data.

The problem with living data is that they go obsolete. Not really, actually. It turns into DEAD data. Living data are fire-and-forget data. Even if those old data are relevant, they don't get brought up again.

"Wait, we're talking about a relational database with some kind of keyword search?"

No, no, no. We're talking about REPRESENTATIONAL databases.

What's the difference between a nonrelational database and a relational database? In the relational database, each "table" or "database" "knows" how to hook up to the others. But they are forgetting the primary database: the user's BRAIN.

Everything is about interfacing and connecting with the user's brain. The data should be arranged for "correct" brain interface. Screw fire-and-forget data. This should be "fire-and-remember" data. How?

I'm not sure what the BEST method is, but in my mind I see it as a kind of game setting. Nothing fancy: 2D overhead view is fine. The setting adjusts itself organically. When you make an entry - whether a text entry or a photo or just a post-it note - you can put it in one of the "rooms" or "subscenarios". Somehow, the system calculates out the rest of the room's proximity, and reorganizes the room to feature that new entry. For example, maybe your room is your "linguistics" room. You copy a blog entry into that room. The room does a text analysis on this new entry, along with all the other stuff in the room, and arranges it to highlight the good matches. Maybe the best matches are put on the same table, for example. I also think they should all have fairly unique images - perhaps algorithmically created - to represent their content, maybe with a floating title overhead.

Anyway, the system adjusts to your content. Move stuff from one room to another. Split rooms full of crap into two rooms. Put stuff in storage. Go for a walk amongst your data. Get automated feeds sent in. Track sports with actual team icons and their positions. Visit your friend's "house" and introduce some of your content to see how HIS stuff reacts.

Right now, I would LOVE to read what Darius and Darren have read which applies to my various interests. I have no way of doing that, because their "mindscape" isn't available. This would be the next best thing: a computerized mindscape which adjusts to you.

I suggest a game situation instead of a simple text display because of a game's inherent multi-dimensional nature. I want to break free of this one-dimensional data representation. Data representation in my head isn't one-dimensional. It's three dimensional, and I'm sick of not being able to store it that way.


Darius Kazemi said...

Wow Craig, really interesting stuff. I wish I could comment more constructively, but I can't. You wrote:

Right now, I would LOVE to read what Darius and Darren have read which applies to my various interests. I have no way of doing that, because their "mindscape" isn't available.

You CAN, in the meantime, subscribe to the RSS feeds of our accounts, and read whatever it is we're reading, even filtered by interest (like the game feed on the sidebar of my blog).

Craig Perko said...

Well, it doesn't magically rearrange itself to revolve around my present interest, but it's better than nothing.

I was kind of hoping for someone to tear it down, or at least poke at it. :)