Is it time to get ugly?
If you haven't read it yet, you should wander over to a list apart and read their article on the current state of the web.
To say that I've been doing a lot of thinking about this would be a massive, massive understatement. I'm actually working on a design for domesticat that uses HTML and CSS the way they were intended to be used. No table hacks. No funky stuff. (Thanks, Brad, for encouraging me.)Guess what—Netscape 4.7x won't render the new page properly. The HTML and the CSS both completely validate under the specs for HTML 4.0. The page renders beautifully in IE 5.0/5.5 and Mozilla. But Netscape 4.7x has serious issues with the tag, and it also has issues with form fields inside of tags.
I'm ready to give up. I'm frustrated and I'm pissed and I've beaten my head against this code for two days. It took me researching and triple-checking to realize that it's not my code, and it's not me. It's that Netscape 4.7x is incapable of rendering standard HTML.
So what do we do? I have worked for a company that preached "backwards compatibility for everything!" I have preached it myself—for years. But now I sense that I'm about to have to do a lot of backtracking.
I cannot even begin to estimate how many hours I have spent over the past year hacking into perfectly good, clean designs to make them work in virtually every browser known to man. As a result I have ended up with torturous, unmaintainable code. I have quietly harbored a thought that I didn't feel comfortable stating until someone else said it first:
"People will never upgrade browsers unless they have to. If we keep bending over backwards to support these people, they will never see the need to upgrade, because the sites they see will always at least partially work. As a result, we will be doing this backwards-compatibility crap for years and years—past the point of reason!"
I give up, guys. Like most professional web designers over the past few years, I've become a master of table layouts—and I've hated every single moment of it. It's dumb, it's kludgy, and the only reason I've done it is because there were people reading my site who wouldn't upgrade their browsers. Tables are horrifically counterintuitive and inflexible by nature, and they ran contrary to my desire to allow a domesticat.net reader to select how wide they wanted my journal entries to be when they read them.
I am trying to find solutions that will make the new page design work under Netscape 4.7x that will not require me to compromise my code. I have a few options left to try, but I am not hopeful that they will work.
Consider this my red flag to you, readers. In the next week, I'll probably implement the new site design. The overwhelming majority of you are using browsers that will display the new site design correctly. (IE 5.0 and 5.5 and Mozilla for starters.) But there are going to be a few of you that will run into problems. For that I'm sorry, heartily sorry—but I've got good reasons for choosing to follow this path.
I can't make you upgrade your browser. Nor can I force you to read domesticat. You're here of your own free will, and you're always welcome to leave and never come back—but think about this: I wouldn't ask you to consider something like this, if it were trivial.
I wouldn't ask this of you just to make some whiz-bang piece of code work. I'm asking because it's becoming fundamentally important that designers be able to be designers, not backwards-compatibility experts.
There comes a point where it's just damn silly to support everything. For me, that point appears to be now.