The Artistic Outlaw

mathiasaurus

February 22nd 2006 / shared

A Community Divided

In the world of web development and design there’s a strong division of developers who each think that their way is the way, the only way. None of these differing groups are 100% wrong or 100% right. It’s not unlike religion. There are base qualities to each that are identical at the core, but the majority of the philosophies are different. And not unlike religious fanatics, web developers also adamantly defend and preach their way as the one true way. I think this is a horrible way to approach the development of web-sites. My personal philosophy is; if it works, it works. That’s not to say that I feel we should be using (x)html elements in the incorrect way, because it works. It means that I am not going to beat myself (or others) down if I need to use an extra division tag to get my design to function and display correctly in a myriad of browsers.

I believe in semantics, I believe in accessibility, I believe in using tables for tabular data, and I believe in separating content from presentation and both from behavior. I believe in doing something once and reusing it over and over, I believe in putting web-sites together closely following the guidelines and suggestions of the W3C.

I think all of these things are great, I honestly do, and for the majority of my work I have no issue following any of those precepts and ideas.

Unfortunately for us all, browsers and other access devices are behind the technology, and have been since the internet’s inception. No single browser gets everything right, making it difficult to design and develop web pages that are 100% compliant, valid, and semantic.

Semantics are a big issue, not the idea of semantics specifically, but the developers who believe above all else that semantics are the most important part of designing web-sites, when in fact they are missing a key point. Semantics are not 100% possible for every design, partly because browser CSS support is far behind the ideal, but also not every visual design is possible if you don’t use some type of non-semantic markup.

Take for example, this web-site (Onelotus). It has alternating rounded corners on the main content boxes, these are a visual design element, but the site doesn’t flow the same way visually without them.

To have them I needed to add extra divisions to the (x)html source in order to apply background images to make the page expand and contract as necessary according to content growth. I chose to use background images, because I feel that all non-essential design images should be separate from the main flow of un-styled content.

I’ve been informed that this is non-semantic and unnecessary, because “I shouldn’t use divisions as they have no semantic meaning.”

True, they don’t have semantic meaning, they are blank vessels so to speak, for dividing your content into logical divisions, but because they have no semantic meaning, and can be given a semantic meaning via a class or id declaration, they become useful building blocks, mold-able chunks of code clay that can be formed into whatever is needed.

In the case of this site, if you turn off styles, you will see that our content is 100% semantic, that in fact the only non-semantic code elements are there for design reasons and browser patching.

I’m not condoning tag soup, but I am saying that it’s ok to use a couple extra divisions for design or layout necessities. In all honesty I cannot approach a client and tell them that their design cannot be coded unless I use a non-semantic element, which is against my principles as a developer. I would be laughed at, perhaps yelled at then fired. It’s a ridiculous expectation to expect anyone to dumb down a design or functionality or layout in the pursuit of perfect semantics. In a perfect world.

The main point I am trying to make is; building web-sites on a daily basis is not as straight forward or easy as some people may think or claim. There’s a great deal of thought and trial and error and testing theories that goes into every design, every time.

Some things are easily solved; others require adding bulk to the source code, sometimes even a patch or two or ten is required to get certain browsers to play nicely. This is where semantics thumpers seem to drop the ball.

I’m not saying don’t tout the qualities and benefits of using semantic code and standards to build web pages, but please don’t get so caught up in yourself and your personal theories that you forget that sometimes we have to use undesirable coding techniques to make our sites work.

Let’s give each other a break, and let’s stop being so critical of each other, embrace the standards, cement yourself in semantics, but keep an open mind and heart and support your fellow developers.

photo of James“A Community Divided” was written by James Mathias on February 22nd 2006

A writer, artist and outlaw. Living, working and playing in Tennessee. James writes TAO in a vain effort to teach, learn and share with the industry he loves.

Why come nobody likes this, do you?

Archive, older stuff

Enjoy my stuff? here is more.

2008 Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec

2007 Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec

2006 Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec

2005 Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec

Categories, taxonomy?

I don't need no stinkin' hierarchal organization