Mired in Terminology


One thing that occurred to me today is that we really don't have a good place to put projects on deninet. For a while, I had planned on implementing project management features on the site. I did manage to start some of that by adding events and tasks. The further I got, however, the more it became obvious that "wasn't us". Other sites do project management far better and if anything, we should leverage those.

Project management, however, isn't the same as project -- is it? The former implies task lists, schedules, events, Gantt Charts... These aren't the features I wish to develop or maintain on the site. Again, other sites dedicated to that purpose do it far, far better. What I'm thinking about is a place to showcase our projects. 

Let me give you a little history: Years and years ago I came to the realization late one night that what we seemed to have in abundance was ideas. What we needed was a mechanism by which to store and categorize them. This was the beginning of a project called Net*man*a*ger. It was a Java based client for entering and storing ideas to a remote website running a Perl backend. Hey, it was the early 2000s, thick clients were all the rage! I spent most of my holiday vacation that year happily steeped in Java code.

As I began to put together the interface, I created a data topology. Ideas were made of Versions, Versions had Thoughts contributed to them, Comments and Votes were applied to Thoughts. Soon, however, I began to realize that Ideas needed a top level container. Naturally, the first one I thought of was "Project". The more I thought about it, however, the term seemed limiting. Not all Ideas could be grouped into projects, some were just....ideas. So, I instead decided to use the word "Net".

Eventually as client matured, I began to realize that it would be far simpler to develop a website that was both the backend and the front end. This was a couple before "Web 2.0" became a popular buzzword. Add more than a dash of ambition, and the "Internet Idea Database" was born. The term "nets" were dropped and replaced with "Channels".

I worked for years on IIDB, but there were a lot of problems with how it was put together. The code was too constrained and not easily expandable. I no longer wanted to work on the project, and as the system powering our website, I was stuck. I chucked it all and switched to Drupal. My thought was I could eventually reimplement IIDB on Drupal, but that never quite materialized. 

This is why deninet has channels today. First there were projects, then nets, and now channels. I had assumed that any project we wish to implement today on deninet could have a channel associated with it. These project-central channels would be the hubs by which visitors could find and follow project developments. This is why we have a Springboard, and why you can subscribe to channels to follow posts.

The biggest problem with this system is just how monolithic it is. How can we tell a "project-centric" channel from one that just is for general blog posts? There are a few ways to go about this. A field could be added that would identify the type of channel it is. This seems inadaquate however, as projects would have special fields attached to them like what users are working in what roles on the project, or the current status, or expected release date. Doesn't that imply that these should not be a channel but something unique?

I'm still figuring that one out...