additions… #48
…web design…
a browser agnostic approach to web design…
While communicating with web designers one may often get references to which browsers they have to support, and therefore design for. It is as if browsers are so different that one can not avoid choosing amongst them from early on in the design process.
To me this is a fallacy, and a really dangerous one too. No way I'm gonna fall into the trap of having to choose between and design for a limited number of browsers.
I go through the important design stages in a browser agnostic way, without the distractions and disturbing factors – bugs and various degree of standards support – browsers bring to the design table. I know what browsers are supposed to do according to standards, and their failures to do so can wait.
Yes, my designs have to appear in browsers, so I test and debug browsers as part of the design process. However, browsers enter the scene quite late in the process – once all decisions are made and the design is more or less ready, so their impact on the design itself is really quite limited.
To me it comes natural to juggle all major parts of a design in my head and then put it down as code, without bothering too much about the outcome. I think this is a “leftover” from my years as programmer, starting some thirty years ago, and it seems to work just as well when applied to web design with its markup, CSS, scripting and whatnot.
integrating web design…
As a designer (yes, I studied art and design long before getting into programming and web design) I look at web design as a whole. Adapting the art of designing to web standards really is easier, and feels more natural, than trying to adapt web standards to art, so once I take on a web design project I design for the web – the entire web – and use web standards as tool-set.
I see no point in splitting up web design and web design processes in logical, visual, accessibility, usability, media-dependency and other parts, as, just like for any other work of art; web design is all about end-user experience. I have no idea about, and very little interest in knowing, under which conditions end-users experience my creations, so “integration” is the keyword for how I approach and carry all bits and pieces through the process towards a finished web design.
Browsers and other tools at the user-end, will unavoidably introduce some “disintegration”. Nothing I can do about that, so I focus on bringing my designs through as complete entities and leave the disintegration process to each individual end-user.
What matters to me is that the essential nature of my artwork survive, and that's only possible if they are complete on arrival. If I conciously or unconciously keep on adding or subtracting bits and pieces in order to please certain groups or tools, the chance of survival will almost inevitably be lowered.
artwork meets browsers…
Today's browsers are a mixed breed, and they most certainly do not provide a stable design platform. They are therefore of no use until one of my works of art ends up in one of them, and this is where the fun begins.
I rarely ever complain about bad browsers, because if I started down that route I would probably never find a reason to stop. Browsers are bad, bad, bad, but for most end-users there isn't much of a choice but to use one or more of them, so what's the point in complaining.
As a web designer it is my job to minimize the negative effects bad browsers have on my creations, without compromizing the integrity of same . In order to do so I have to have complete confidence in my own creations, and extended knowledge about browsers.
It sure isn't enough to know what browsers are supposed to do – to the degree it is defined anywhere, but also in-depth knowledge about what they actually do and what to do about it when they don't behave. I have spent much time on studying and debugging browsers, and on attempts to overcome their worst weaknesses without compromizing my own work. Time well spent, I think.
The whole idea is that I design for end-users and not for browsers. No browser is allowed to have a negative impact on my design, so if a specific browser, any browser, can't be brought to a level of “apparent compliance” with my work of art, it is the browser that is left to suffer, not my work of art.
It follows naturally from the above that browsers are graded – given unequal support, but I do not have a list of which browsers that are fully supported and which ones are left behind. Instead, I give each browser a chance for each project, and drop it down one or more levels if its non-compliance threatens the integrity of my work.
I can go quite far in debugging and fixing a bad browser, as long as there's no harm to my work, other browsers or other end-user tools in doing so. In extreme cases I get a browser support list like this, but that's definitely not the norm. Not that it is particularly difficult to achieve with some experience, but I can't really see the point in going that far for the average web design.
confidence…
Confidence in ones own work is the key for applying a browser agnostic approach to web design and leave those browsers out of the equation till the end of the design process. One, however minor, mistake can ruin the work and diminish ones confidence to a level well below the floor-boards. I know, I've been down there only too often.
Good thing I can hide my mistakes from view until I have found and fixed them – in most cases, and ones ability to recover both ones work and ones confidence do tend to grow with practice. My confidence is quite high in certain fields of web design by now, and low to non-existent in others. Think I need more practice…
Nothing beats experience, so for the less confident web designer my advice has to be: practice more, and whatever you do; don't take short-cuts or rely on what those browsers tell you.
sincerely 
Hageland 06.feb.2009
last rev: 06.feb.2009
additions…
