The Road to deninet 6.0

 

I've been thinking increasingly often of what's next for the site. While there's nothing technically wrong with deninet's current incarnation, the underlying purpose is in serious need of refinement.

Deninet 1.0 through 3.0 were geared  toward content delivary of first Denizen Soft's, and then Denizen Entertainment's projects. Due to various circumstances -- life, work, my own ineptitude -- none of those projects have yet come to fruition. Toward the end of deninet 3.0, it became obvious that we needed a proper framework to help us create, manage, and publish our projects. 

Deninet 4.0 was the birth of "The Internet Idea Database", a web application geared toward communal development and tracking of ideas. I spent a great deal of time on Gazelle, the software powering the Idea Database. I still love the concept of communal idea development including our sales tagline of "Invent, Share, Expand".

Gazelle wasn't the most complicated software project I've attempted (InterLock still holds that title), although it had plenty of problems of its own. In Gazelle, Ideas (big 'I') were a fundamental unit of content. Ideas were made of Versions, and contained the actual content of the idea itself. Versions were submitted to the community; authors and others contibuted Thoughts to extend or refine the Idea. Those who liked a particular thought could vote on the thought. When the author is satisfied, they considered the submitted Thoughts and published a new Version. Authors weren't required to change their Idea based on community suggestions, they retained complete control of the Idea's development. Ideas could be grouped at a higher level via Channels, which often reflected a sense of a whole project. 

On paper, the concept looks wonderful. Individuals and organizations can post and track ideas throughout the entire development lifecycle. Once we had a working version of Gazelle, the Idea Database became a useful tool for my own projects. There were, unfortunately, a huge number of problems with the system. There was very little security within the framework. All Ideas were left wide open to the entire site. This reflected my high-minded idealism at the time,  today I just shake my head my nievate. Gazelle itself was a nightmare to extend. Each new content type required new code. Everything was library and no engine -- there was no dynamic way to organize content display. 

The biggest mistake I had made with it, unfortunately, was I began to think of the Idea Database as a generalized content manager. News and blog posts co-mingled with Ideas proper resulting in confusion. In retrospect, I probably did it to reduce the amount of content types within the framework as well as gain the functionality Ideas provided.

Six months after the "completion" of Gazelle, I dumped the entire project. I hated to do so after investing nearly two years of my evenings developing the thing, but I felt it was really the best choice. I had come to the realization that I'd never be able to keep up Gazelle while attempting to work on Paper Girl. There were fundamental problems with the design, and I didn't have the knowledge, expertise, let alone time to write them myself. After investigating my options -- as well as rewriting the framework entirely -- I selected the open-source content manager Drupal to power the next version of deninet.

Deninet 5.0r was the first version of the site to run the new content manager. The site also completely lost it's Creative Cooperative bent and became my own personal domain. My failure to perfect the Idea Database and attract interested people to the concept led me to this decision. Interestingly, once the whole "Were a real company, honest!" charade was dropped, the site began to swell with content. Instead of being project or idea centric, I uploaded my artwork, some writing, and began writing posting blog entries to the main page. I could, of course, publish more complex creative works from the site if and when I ever came to that juncture.

Then a curious thing happened a few months ago. I was no longer the only active person on the site. This both caused me excitement and concern. First of all, deninet 5.1 was designed to be a single user site. While I kept multiple users in mind, there were critical places where it began to break down. The image gallery, for example, isn't set up for multiple users. Even though blog posts are nicely separated, the "river of news" main page is not terribly effective. 

Even more curious was the fact that I was no longer the only person wishing for a Creative Cooperative. Indeed, there seems to be a strong desire to refine the site and reclaim the purpose I had thrown away with deninet 4.0. Although the desire was there, I haven't really been in the position to research our options.

Looking back at the history of the site, certainly have gained a sense of what was good, and what was a mistake. Right now, I'm looking at the Idea Database topology I described above with scheming eye. Yes, it was a mistake to shoehorn all content management into the concept. It may have also been a mistake for me to write the management system myself. As one person, I can only write so much. Developing a new CMS from the ground up simply takes too much time. Gazelle's internal lack of generalization also complicated things unnecessarily. Switching to Drupal, however, saved me huge amounts of development time and added many new features.

What if, I began asking myself this afternoon, I used Drupal to power the Idea Database? We would certainly gain a powerful backend with a preexisting development community. We would only be responsible for what fulfills our goals as an organization. Are Ideas as laid out in the topology, I thought, enough to fulfill the ends of a "creative cooperative"? This is a trickier question. While I believe that the Idea Database topology will be part of our end goals, I very much down it will be enough to fill the project management role required to bring make ideas manifest. There's a lot I have yet to investigate.

I very much doubt that deninet will jump from 5.2 to 6.0 directly. There's a lot of new technology and refinements required in order to get to that point. The present site needs to be updated to the latest version of Drupal and key features made available to all users. There are several more minor releases in our future before we get that far. I for one am very much excited to see how the site will evolve.