The Path to Intelligent HTML
In the beginning, there was dumb HTML and dumb developers—like me—who used it. Today, I walk an enlightened path, developing with more intelligent tools and creating sites that are easily maintained with the magic of CSS and CMS templates.
Just a few years ago, I used to really dislike web development. Not the design process, since I really do enjoy crafting interfaces and designing the flow of information, but the actual production of a web site—the tedious copy-and-paste redundancy of dumb HTML.
In the mid-90s, before tables were widely used for layout, my pages were just long, frame-driven pieces of filthy HTML (<center> tag, anyone?) that eventually evolved into even filthier, table-driven sites, where I hold a personal record of ten nested display tables. Endless hours were spent copying and pasting templates, over and over, checking links, checking paths, naming files like “your_mom-is-pretty_hot-v2-final.htm” and dumping everything into the root directory without any care of subdirectories. The process usually ended with a circle of goat’s blood and some incantations from Elizabeth Castro’s old version of HTML for the World Wide Web.
This was “dumb” HTML. Dumb in the sense that it was static, bloated, inconsistent and repetitive, and dumb in the sense that yours truly was using it to begin with.
Over the pst few years, I have been charting a course toward intelligent HTML. “Intelligent” does not mean I am any smarter or that unordered lists have developed the ability to walk upright, but that the code is cleaner and modular, facilitating easier-than-breathing maintenance and much quicker development periods. Looking back, there were three revelations that brought me out of the trench.
Finally, a means to use blocks of markup more efficiently. Of course this technology has been around almost as long as the Apache web server, but an old 2001 Macworld article opened my eyes to the sheer usefulness of SSI. I could keep my nested table-driven navigation in one tidy place and change the whole site by changing one file. Genius.
Cascading Style Sheets
I really started digging into CSS in late 2002. With the help of A List Apart and copious W3Schools bookmarks, I produced my first all-CSS site for a client. This brought even more efficiency to my workflow as I could now make global visual changes by editing one file. Needless to say, it was love at first bracket.
Content Management Systems
In 2003, I started messing around with Movable Type, my first taste of CMS technology. I brought graphicPUSH into MT, but never managed to roll the technology out to a client site. In 2005 I moved to Textpattern, and everything clicked. No more HTML files, no more includes, no more FTP. Open the user interface, make changes, save … and that was it. Instant gratification. Suddenly, everything tedious about web development was gone and I could concentrate on trying to figure out why the hell the TXP system has both an “article” and “article_custom” tag.
Less Static, More Signal
Two months ago I finished what I believe will be my last static site. When I first agreed to the project, I had assumed that it would take me less time to just produce a semi-dumb static site rather than deal with installing the CMS and creating templates.
My previous dumb HTML site had been finished over a year prior, and my brain had conveniently blocked out the pain and suffering non-dynamic sites unleash. Even with very efficient use of includes and CSS, the site still took me several hours longer than I projected. I was constantly checking through links, creating new meta for each page and endlessly tweaking the content inside the bloody HTML.
Perhaps there is a point where a CMS is overkill. I once designed a four-page brochure site that would not really have benefited from a full-blown CMS backend. (Or would it?) I had assumed the tipping point of CMS efficiency was much higher—maybe 50 pages, or even 25?
Wrong again. It depends, of course, on how well you know your system, but this recent static site was only 20 or so pages and I was yearning for Textpattern templates. At this point, I can get a site up and running quickly enough where my personal efficiency threshold would be around ten pages.
When I develop a site now, I build two HTML pages: one for the homepage and one for every other page. One template and one CSS file can control a thousand-page site with a few conditional statements, and since I’m sure as hell not interested in creating 1,000 individual HTML files, that really appeals to the lazy bum in me.
Smarter than that? I can see XML (and more specifically, XSLT) becoming a bigger part of my life as content begins to expand beyond the browser window, but I’ve met with zero demand for that technology. I can also see more intelligent DOM scripting becoming a bigger player, but that technology is only for peripheral benefit and doesn’t make the overall development process any smarter.
Historically, my big breakthroughs in efficiency have been just that: seismic breakthroughs. I’m expecting the next technology or concept to punch me in the face and change my entire process, just as the previous three made me fall over backward and say “Why the hell did I not know about this already?” I’m looking forward to it.