It has been quite some time since I last posted a “State of the Project” explanation about what the latest development on QuatschBox, my pet PHP project, has been. Rather than dwell on the seemingly endless string of new features, I am going to discuss the role of my project in the so-called “webosphere.” It has been a long time since we last saw a new version of the QuatschBox, and while it is going to take some time to get all those flashy new features implemented, the purpose of the project has changed somewhat over the past year. But, the important question is: when will it be done?
Just what exactly do I mean by “done,” anyway? Certainly software such as this can never be truly finished. That may be true, but my intention from almost the beginning of this journey was to get the project to a point where I would feel comfortable putting it up on a source code repository, such as Sourceforge. I have every wish to fulfill this intention, as I believe it would be more beneficial to at least have the original source out there under a free license than to email it to a few friends and associates.
When I started working on what would eventually be named QuatschBox, I had a few purposes in mind: I wanted to learn PHP in association with MySQL in order to produce something a tad more interesting for my recently-acquired Internet domain than static HTML pages. I am relatively certain that my decision to use PHP and MySQL were almost entirely influenced by the fact that the company that hosts my website offered no alternative. In the time since, I have kept one eye on developing web technologies, including especially Ruby on Rails, but I still believe that PHP was the best environment to develop in, despite any restriction imposed by my web host. In a way, I feel a slightly greater sense of accomplishment having “done it all myself” in PHP, in contrast to the accelerated, cookie-cutter-style method of assembling projects in Ruby on Rails. Someday I would like to check it out, but I see no reason to ever port this project to Ruby on Rails.
Development of the project has been slow for at least the past six months, owing to several different excuses. Firstly, I am just unable to put as much time into working on it, and I have also run into a few technical hurdles. Overhauling the project to use customized templates has been a great challenge, and I still consider it to be the number one important feature for the new release. Doing anything with the old code just feels wrong.
The current live version of the beta test has remained largely the same since last April. I struggled to get it done in time for April Fool’s Day, and it really is nothing more than coincidence that I am writing this exactly one year later. Suffice it to say that there will be no upgrade this April Fool’s Day, because it just plain isn’t ready. The new version is about two notches above being broken; the comments do not work at all and the site administrator has absolutely no control over the site, thanks to the administrator tools being thoroughly busted. The user authentication procedure to keep people out of the wrong places is also largely absent, pending the addition of a session handler to keep track of the users online. Being able to see who is online at exactly the same moment is one of the key features of this new version, and unfortunately, it will be delayed as long as it takes to get that feature implemented.
I have a number of new ideas on the drawing board that have come to me while tinkering with my project’s internal organs. Contrary to popular geek opinion, the “Web 2.0” sensation has brought a few useful concepts to fruition. It isn’t all about flashy logos and AJAX. I am never going to be marketing my project as a Web 2.0 application, so there is no need for alarm. But, the concept of giving the users more control over content is noteworthy. For instance, Digg permits users to post, edit, and even remove articles from the front page in a fully automated peer review system. Likewise, the core purpose of QuatschBox is to promote community discussion and cooperation.
Obviously, my project will not end up running on such large-scale sites such as Digg or Slashdot. I just wanted to make something a little more interesting than another dumb blog package. My emphasis has always been on the comments rather than the articles. My next release isn’t going to be tricked-out with AJAX and lots of dynamic content, but I am open to whatever makes the site easier to use and enjoy. In this way, features such as a reply box that pops up right underneath the comment being replied to don’t seem like such fluff. If people actually use those features, they become something much more than another bullet item or buzzword.
Hopefully this rather long blog entry will do a decent job of explaining the change of focus the project has experienced over the past year or so. It no longer wants to be a clone of ja.zz or Stoofoo, but rather break out on its own.