Deconstructing Databases

At EuroOSCON, Greg Stein of Google gave a talk about the open source software development tools offered for developers at Google Code and I came away with an unexpected insight into Web 2.0.

In describing the new bug tracking system, he said, that while he liked many existing bug systems, he realized there was an opportunity to redesign a new, much simpler bug tracking system for Google Code. The key he said was understanding that they had great full-text search tools available. That made them think differently about how to collect and organize the information in the bug “database.” He believed that existing systems spent too much time deciding how to structure data entry and presenting a detailed form for users to fill out. They also then lock down the display of the information. He decided to keep structured data entry to a minimum and rely on text entry. A lot happens with labels/tags/keywords, for instance, to assign priority. The new bug submission form consisted of a text area with a few questions already inside it.

Greg makes a terrific point that could be applied more broadly to business applications, and might even be a design approach for Web 2.0 applications. A whole lot of effort goes into defining and refining the database structure behind most business apps. What is carefully placed in one bucket (or category or grouping) is not found when you look in another bucket. What if powerful full-text search tools change all that? What if instead of describing in detail the many specific fields of a record that might be important, and then having to train users on what they actually mean, and when to use them, you sidestep those tedious tasks and encourage users to write text. And write freely. The more the better. My hunch is that unstructured data can be richer and easier to collect than highly structured data, and therefore more valuable.

It would be an interesting exercise to look at overdesigned business applications and consider how they might be designed to look less like a database and more like a conversation.