Toward a Taxonomy Based Development and Management of Online Content, Scripting, and Design
My professional forte is Drupal. For the uninitiated, drupal is an open source platform at making the lives of content producers easier by improving the process of
- creating new content
- organizing content
- ensuring that as few variables as possible will interfere with future improvement of the site
This blog is one example of how drupal can be used. However, today, I built the beginnings of what will end up being an entirely new use of drupal: modular design and development of websites by calling libraries of modular CSS and XHTML code through drupal's taxonomy system.
Provided that more people than myself will recognize the advantage of css and XHTML libraries which are applied on the basis of easily selectable categories, we might see this concept change drupal's scope dramatically.
Contrary to understanding of most drupal novices, the taxonomy system is not merely an easy way to file content under categories. Categories, in the widely understood sense, are obsolete, thanks to the liberation of information and media from the physical realm. That might sound like crazy talk to a lot of people, but if you bother to look around, you'll see that what I'm saying is fairly obvious.
Take the local video store for example. The system of categorization is the perfect example of "the old way of thinking" when it came to organizing content. All of the videos are categorized into "action", "comedy", "adult". All of the vidoes in a category are alphabetized and placed together. The system was simple and effective, and was very suited for situations in which people were forced to find a which could not exist in multiple locations among thousands. However, this system has its obvious drawbacks. Take the movie Pulp Fiction. That film could be classified under no less 6 different sections, action/adventure, comedy, drama, or even, employee recommendations. If a video store existed online, most likely, you could expect movies to be classifed by no less than 10 variables:
- Title
- Year
- Director
- Average Review
- Multiple Genre(s)
- Sub-Genre(s)(i.e. cult, standup, TV-series)
- Actors
- "People who enjoyed this movie, also enjoyed...
- ect...
The point is that the human mind has a tendency to classify objects, people, and situations along multiple, unstructured, unedited, and overall fuzzily coneived axis. The video store's classification system is like an on/off switch -- vidoes could only have one descriptive term, and either it has it or it doesn't. Such systems are frankly unjust to our capacities, and could only be legitimized by our technological limitations. Those limitations have disappeared, and the Internet is singularily responsible. This is rampant speculation, but I think the Internet defines this new era we find ourselves in -- much as the airplane, radio, atom bomb, and automobile defined the previous one. One key concept seems to be the shift from seeing knowledge as a structure, maintained by a strong foundation of academia, and libraries to seeing it as something like water, flowing and not flowing based on how open, the channels are. Or scratch that, back to web development.
Its time that we web developers let hard coding go. Why write out an XHTML Transitional document declaration, when we have PHP; we can dynamically control, and produce all of our declarations, stylesheet imports, metatags, pagetitles on the fly, yet many of us still start with templates, and continue to spend the majority of our time looking over our hard coded pages, trying to figure out why the pages aren't working. More often than not, its something like accidently capitalizing a css class's name in the stylesheet, and writing it out in lower case in the html document. I'd rather spend my time solving real problems, like design, user interface, content presentation. Our goal should be to create an enviroment to develop in that minimizes the number of errors that are bound to happen as a result of us being human. In addition, ease the process of experiementing with live web pages.
My goal is not to create a system which makes it easy for beginners to code webpages -- anything built for beginners is going to be humbug to professionals. At the moment, XHTML, CSS, PHP, and MySQL powered web pages are far too complex to have a tool that both opens the door to beginners, and allows professionals maximum flexiabilty.
I don't know if this made much sense -- I think it did. However, I'll wrap up this evolving idea in one line for those that are still trying to understand what I'm blabbering about:
Approaching the building and development of XHTML and CSS templates by using PHP to generate code from libraries of user-tagged layouts, properties, and tying that into a large well organized development enviroment that is controlled by easy drop down boxes, checkboxs.
Who knew? CSS and XHTML can be radically enhanced using the same concepts and existing platforms as we use for content management.
More on this later, believe me...