Pavel Panchekha


Share under CC-BY-SA.

Organizing Objects

I started work on a new project recently; that means a git repository, a few documents worth of specifications, and emails back and forth with the other people involved. Keeping track of all of this (the code, the specs, the emails, the people) requires organization, and sadly our current methods are not up to the task.

I'm trying to organize different types of things. The source code lives in my file system, and has a specific organizational structure because that structure has meaning within the source code itself. The documents live in my file system, but they aren't committed with the code, so they go into a different folder. And they frequently arrive as attachments to emails, so getting them into the file system requires work of its own. And the emails live on Google's server, where the organizational mechanisms of the file system don't apply, and where I instead end up replicating the folder structure as tags.

It shouldn't be this hard. Long ago, our operating systems developed a vision of "everything is a file", a vision that would have lead to one, and only one, way of organizing things. Sure, a heirarchical folder structure is not the right way to organize many things; but we do far worse by building more and more application-specific silos, more and more per-application databases, more and more proprietary formats. We need to open up organizational silos, so that we can dump email straight into a project folder, along with todo lists, photographs of whiteboards, and calendar appointments.

Likely, no single structure is sufficient to capture the wide range of meaning "organization" has for us. We want a richness of structures: a timeline for our photo albums, a heirarchy for source code, tags for notes and todo items. We want smarter file browsers, so these same emails, todo lists, and photographs don't all jumble together. We want a universal hyperlink, so the todo list can refer to a specification or an email, so a photo can refer to the calendar appointment for that meeting, and that meeting to meeting notes.

Our knowledge now lives in unconnected chunks; but its organization shouldn't weigh us down.