As I have been working on my new design, I have realized something: Doing web development sucks. Flat out, sucks. I have deep compassion for those of you who actually decided to do this for a living. As much of a perfectionist as I am, I could not do this job on a daily basis. I closed the doors of my web design business years ago for this reason, and this reason alone. If you thought dealing with your own tastes and perfectionist ways was difficult, try dealing with someone else’s.
Most people who design sites, who are not professionals, design it to look nice in whatever browser they are using at the time, with whatever settings they have turned on or off, at the time (see MySpace). This is a perfect example of the old saying ignorance is bliss. If I could develop websites all day to work on a Mac running Safari, design would be so much fun. This is the case for many professionals, at least those designing applications for in-house use, who only need their designs to work in whatever browser their company has deemed the standard. Most of us, though, are not so lucky. Us being the people, professional and amateur, who develop public facing websites where there is no remote way to predict what your audience will be using to view your website with. Us being those who are anal enough to care about how our website looks in almost every possible scenario.
What are these scenarios one must consider, well, here is how I usually think about it:
Will my site still look/work okay if…
- The user is using a non-mainstream browser (there are dozens)
- I try my best to consider all the ones I can.
- The user is using Internet Explorer older than version 7.0
- Usually relatively easy to contend with, avoid translucent png’s, deal with odd css bugs.
- The user has images turned off
- Use CSS text replacement techniques, this can degrade easily.
- The user has style sheets turned off
- Make use of conventional html tags as much as possible.
- The user has Javascript turned off
- Do not rely on Javascript to do anything your page cannot live without having.
- The user has a very large/small screen resolution.
- Optimize your site for the lowest popular resolution, screw everyone else.
- The user is browsing from a cell phone or mobile device
- Use a mobile stylesheet.
- The user wants to print something on my site
- Use a print stylesheet.
- The user is on an operating system with different base fonts
- Carefully choose your fonts and do your best to optimize their precedence.
- The user has their screen color settings low
- You can try to use web-safe color codes, I don’t.
- The user has their font size increased/decreased in their browser
- Try using EM based layouts instead of Pixel based, I don’t.
- The user is on a slow connection
- Try to keep your images, css, and javascript files as small as you can.
- The user does not have something installed
- Such as Flash, Java, Shockwave, etc.
- A billion people hit it all at once because I’m just that popular.
- Minimize database hits, cache, have a good server.
As you can see, if you want your site to work well, across the board, it is no easy feat. In fact, it is very difficult. What you usually wind up with at the end, feels like some sort of hack. In the case of the new design I am working on, I made a couple of fundamental choices which have made the design incredibly more difficult to implement. Although, they shouldn’t be, as they were quite simple choices. Nothing too fancy: A fixed position footer, and the use of one translucent png image. Neither of these features are supported by any means in Internet Explorer 6 or below, without hacks.
Javascript in itself, is very nice. I can write snippets of code to do very nice things with it, if the user has Javascript turned off, it appears as if those features never existed. This is perfect. The problem arises, for me, when your page relies on Javascript to even work at all. This is the case of my new site when being viewed in Internet Explorer 6. Javascript needs to constantly put the footer in the correct place, and it needs to make IE display translucent PNG’s correctly. I don’t like this. I had two conversations earlier with two different web design professionals on this exact topic, and I got two very different answers. To paraphrase:
Designer 1: Javascript is there as a tool for you to use to accomplish what you need to accomplish. Why should it be considered a hack? If your site works, it works.
Designer 2: I find it is best to not fight the web. If you find yourself coming up with all sorts of tricks to make your site behave the way you want, it is usually best to just change it around a bit to make it work the way the web wants it to work.
I agree with both of these points. I have not yet decided which of the two I will listen to though, when it comes to my own design. I realize that the amount of people who will come to my site in IE6 with a screen resolution of 1024×768, and Javascript turned off, is a very, very, small number. For some reason though, I still feel compelled to support it. Perhaps I should just let go and stop supporting IE6. That decision would be much easier if the last 3 corporations I worked at did not use Windows 2000 with IE6 as their default setups, thus making me realize that the user base of this highly outdated browser might still be much larger then it should be.
So what am I left with? A design which mostly works due to a system of hacks which I am quite uncomfortable with. It is as if the internets does not want you to be creative, because if you try to be, you will be punished by having to spend countless hours working on one tiny detail of your site. Which you can only hope will pay off when that one person who stumbles across your site on a 15 year old computer can actually enjoy reading it. The best part is, you are so good at what you do, that person wont even appreciate the hard work you did, because they have no concept of just how much work it took to make your site simply work as they expected it to under their very specific set of circumstances.
Users do not appreciate the amount of work it takes to make something work, the simply love to bitch about it when it doesn’t. I should just develop for the web on a highly standardized, proprietary, platform like Flash or Java. At least you know what your end result will look like, every time.








Delicious Links
My Facebook
Flickr Photos
Reddit Profile
StumbleUpon
Tecchnorati




