Sunday, June 26, 2005

Life as a Coder

There are not many times that I can talk about my work nor do I feel it is terribly appropriate to cross blog and work. I am one of those "anything computer" people. Over the years I have built computers, run networks, designed database, killed trees in the name of quality assurance, managed projects, managed people, danced on the bleeding edge, ridden the wave, and been blown up in dot bombs.

One of the positives about tech is that it moves so fast you are rarely bored; one of the negatives is it moves so fast you are rarely up to speed. For a variety of reasons easily looked up through Blingo, to make websites look right in most browser (IE, AOL-which really was IE, Netscape, Mozilla, Opera, and so on) tables were heavily used in the past. Imagine using an Excel spreadsheet to paint a picture. Now-a-days browsers have become more compliant to web standards so there is a push to create "tableless" designs since a <table> element for HTML was really intended to create a table (say, of data) rather than be used as a hack for laying out design a la paint by numbers.

A good developer will be aware of the evolving technologies and changing standards but due to high pressure deadlines, inadequate budgets, bad habits, over working, moonlighting, resistance to change, or whatever the case may be that developer may find himself doing great work but still using techniques of a time passed. If the learning curve is going to add 150% effort to a project and only give a return to the client that is only appreciated by academia and not the client's customer base then it does not make sense.

I have always tried to create websites that were cross-browser compatible (Netscape, IE, etc) and cross-platform (Mac and Windows...perhaps Linux/Unix et al) but I have not stuck with standards nor strived for artistic markup that produced compliant code. Instead I strove for well-documented code that was encapsulated, portable, extensible, and age-able. My work has always been documented within the code, and in external documents such as MS Word and Visio. A developer should easily be able to step into my code and maintain, continue or expand a project.

Typically an artist or a client provides the content and layout (in the form of a picture or MS Publisher document). My job is to use a markup language to present that content in such a way that the browser (IE, AOL, FireFox, Opera, etc) will render the content exactly as the original designer intended. This time around I decided to go for broke and make a site using current web standards that validates and uses a completely tableless design using CSS which in theory makes this site portable to a variety of devices such as telephones and means it can quickly, easily be styled to have a new look when the time comes.

I present you: Gano Café. Gano Café is an example of a static website using current standards. For an example of a database driven project using PHP see Werner Paddles and click "choose a paddle"

Working with standards has been an incredible pleasure! I now have little excuse to ever do anything less.