You don’t have to develop for ALL browsers, just the ones that are actually used 😉
Here’s how I see it: Any non IE user has already taken that first step beyond the default browser, it is most likely they will be keeping with updates (that are typically suggested/auto-installed by the browser). Besides that, Opera is a niche browser (yep) and FF/Chrome/Safari are already quite awesome (as is Opera). If your site is struggling in one of those browsers, you have problems (unless its Opera which has some weird bugs haha).
IE Users IMO break down like this:
IE6: People at work who are forced to use this, or kitchen table/basement computers from 1994 that Grandma uses once in a while to check her AOL email over dialup.
IE7: People who are still running Windows XP and failed to get service pack 2 for some reason, probably similar to IE6 users but with a greater market share
IE8: Any Joe Schmoe who has bought a computer in the last 5 years.
IE9: Future default users - not concerned with this yet at all.
IE8 is tolerable, it’s 6 and 7 that define “cross-browser” to me - and lots of people are using them - not just the Chinese. I personally can’t/will_not use progressive enhancement techniques because for one, it makes communication with clients more difficult and is often disappointing. Let me demonstrate:
Me (on the phone): “Now click on the button that says ‘New Article’.”
Client: “OK, where is that?”
Me: “Inside the rounded box with the shadow and blue gradient, the one on the left.”
Client: “Uhhh, where?”
Me (realizes they’re on IE): “Oh, um, I mean the square on the left with the blue background.”
Just a cute example, but I am serious! Stuff like this has happened enough times for it to be a legit concern for me. If it works in Chrome, it must work in IE. It sucks, but it sure keeps me looking for ways to get IE to behave instead of ignoring its gigantic market share. Also BTW I don’t do conditional comments! Not needed if you know how to design cross-browser (It’s true), just use the .htc patches and solid css/html. A little javascript can bail you out of those tight spots so you don’t have to pollute your filesystem and html source with IE-only stuff
Oh InsiteFX I watched the intro vid to that PHP Builder or whatever it was on their main website, and there was some college kid trying showing us how to use it and (besides obvious ignorance of security and sql injection) he had some function where the final line looked like this (not exaggerating):
return nl2br(htmlentities(strip_tags(trim(htmlspecialchars($comment)))));
Lost my marbles and turned it off haha