My Philosophy of Web Design
I have been in and around web development for more years than I can remember. I do not recall where HTML was at when I started, but I do remember that your choice of browser was Netscape or Mosaic. I had fun laying out the pages, and playing with certain elements. The web has grown since then, and the complexity of the documents has increased. I still manage to have some fun, but writing web pages now is more challenging than it used to be. Not only do I have more I can do with my pages, but I also have to be aware of which browsers support what features. This has been the bane of my web work for quite some time, as invariably my designs have to be scaled back, disabled, or put on indefinite hold. Through these times I have developed a rather narrow philosophy of web design, one that clashes with my professional work in the area.
I will not try to call myself an artist; there are too many connotations that do not apply. I will say that web design has brought out some artistic drives in me. Now when I create a web site I first sketch out a few general designs and structures for the site. I wrestle with the layout and the feel I want for the site. Then I make [mental] notes about some of the interactive features I want. I will usually fire up a graphics program and start playing with blocks of color and font sizes to offer something pleasing and enjoyable to read. Then I dive into the actual document markup and creation. This is when the real fun begins and where I driven nuts.
Back when I started work as a pastoral intern I was given a personality profiling test, so the rest of the staff would have an idea of my tendencies. I usually hate these things for their pigeon hole effect and their gross errors, but this one happened to be accurate (and helpful because some of the staff guessed wrong about my personality). One of the things this particular test communicated were general aspects about the person; it would offer three adjectives that would describe the person. The first word to describe me was "perfectionist", the second was also "perfectionist", and in a fit of proud glory the third one completed the trend and offered "perfectionist". When I saw those results I could only laugh, uncontrollably. It was right. I am a perfectionist (and an extreme one at times too), and when it comes to making web pages I go to the "source" of specifications, W3. One would hope this group would be able to offer the truth about HTML (and CSS) and that all web authors could refer to their documents, design their pages according to them, and be happy with the results. Sadly this has never been the case.
I have made, and continue to make, a tactical error when I design my web sites. I assume all browsers will adhere to the specs, but this is not the case, nor should it always be so. Some browsers (e.g. text-only/console browsers) will not have the same kind of layout ability, thus I should not expect them to render the page the way I want, therefore it should be okay for them to ignore some of the specs. What I also forget is that some "popular" browsers choose not to follow all of the specs, and even add abilities not listed in the specs. As to why they do this, only they could tell you. It is a sad HTML fact: each browser will render your page differently. One cannot expect a page to look the same in all browsers, on all systems, at all times, unless special care is taken, or if one chooses to go with the smallest set of features.
I have always struggled with this, for some browsers are quick to adopt new standards, some will make sure they are a close to the specs as they can get, including everything, and others seem to have their own way of doing things which just happen to agree with parts of the specs. I have run into problem after problem of getting browsers to render my pages the way I intend them to. I refer to the specs, I massage the data, I correct my logic errors, and I can invariably get one browser (my browser of choice) to display the page I want, but I usually ruin it for others. This would not be so bad if I chose a mainstream browser, instead I use slightly less mainstream browser, and a beta version of it at that. To add to the problem I run at a higher screen resolution than most, and I run an operating system most do not. Thus I have adopted certain views towards the web in regards to my personal sites.
I no longer care how everyone else sees my pages. My pages are mine, and they are for me to enjoy, and those I share with the public are a courtesy. I care not what people think of the design, for I do not expect them to see it the way I do; if I want to show off I will take screenshots of my pages and display them. I will make some efforts to identify the major and glaring differences and do something to "short circuit" the other browser(s). This has resulted in most people enjoying a lesser version of my vision. If I can get my page(s) to look the way I want in my browser of choice then I am satisfied. Thankfully my browser of choice has been good about following the specs, thus any other browser that follows the specs will also see my pages just fine.
I know this makes me prejudiced, and maybe even a little bigoted, but I am tired of scaling back my designs, especially when I can get them to work. I'm tired of being held hostage by another [popular] browser that will not support all the features as detailed in the specs. I'm tired of not being able to show off and enjoy my hard work. I will never tell people what browser they need to use, but I would advise people to find a browser that is keeping pace with the specs and one that is compatible with most if not all sites. Creating good designs is hard enough, it should not be made harder when a rouge browser will not cooperate. Web design should be fun.
0 TrackBacks
Listed below are links to blogs that reference this entry: My Philosophy of Web Design.
TrackBack URL for this entry: http://blog.0kelvin.net/mt-tb.cgi/164
Now the funny thing is that even the page of screenshots doesn't display correctly in the "popular browser." :)
I find that sometimes the organizations setting the standards (W3 in this case) make rules and guidlines that are unecessarily complex or have no real value and serve only to render older pages non-compliant. (IE the "height" attribute has been removed from the td tag)
In my experience, nearly anything (yes, anything) that a web programmer wants to do can be done in nearly all browsers. The time that it takes to perform this type of programming is negligible, given that the programmer has planned appropriately from the beginning.
I will not try to defend W3, but I will note it is (or used to be) comprised of developers from most of the major browsers. I will also say that the majority of the deprecations (like the <td> height tag) are due to a philosophy shift. That form of information no longer belongs in the tag but as a style of that tag, thus it moved to CSS and out of HTML (which was greatly needed).
As to getting anything done, it is true you can, but not usually for the time you will spend. Some browsers still do not support fixed or floating elements, and those are a pain to mimic in only those browsers. You end up creating unnecessary dynamic pages when all that is needed is a static HTML and CSS page.