Development Frustration

Hello all,

First off, I work full-time as a user interface engineer for a large company and also freelance quite a bit on the side. I’ve probably been building sites for ten years and working professionally for over four. I would describe myself as competent, approaching expert. While my day job poses little technical challenge to me, I find that the freelance work tends to be what spur(t)s my growth. That aside, I find that the quality of my craftsmanship is unsatisfactory. I’m generally able to accomplish what I want in standards-compliant browsers but struggle terribly with IE6, even though there exists an abundance of tutorials to point me in the right direction. I find that I spend hours upon hours tweaking the display and behavior of pretty much every other UI element just to get it to render halfway correctly in IE6, and that afterwards I’m still unsatisfied with the result. Other developers tell me that things go relatively smoothly for them when coding to IE6, and that they really don’t have to utilize the various hacks that I, myself, employ quite liberally.

I can’t help wondering what it is that I’m doing so wrong. It’s like there’s some sort of mental blockage holding me back. I’m not sure whether anyone can relate.

Hi ExNihil, welcome to the forums,

Styling of forms has always been problematic. More so than the “sawing the wobbly table leg” and you’re lucky if you don’t break more than one thing for every one you fix.

Some things just can’t be styled and others render differently according to the browser used.

In anycase, it might be better to start with a simple bare-bones form, test, add, test, add, test … ad nauseum rather than staying in one browser until “finished” and then doing cross-browser testing. That way you should be better able to spot an offender as soon as at gets in.

I’m a bit envious.

The sites I build have to be pixel- and behaviorally-perfect in IE6. No skipping. No choppiness. No exceptions. It’s nice when I get to use GIFs in lieu of PNGs, but that’s incredibly rare.

Using cutting edge css leads to big problems in IE6 - it just about understands the basics.

Solution: don’t use cutting edge css. It means more classes and divs perhaps, but just avoiding the things that don’t work in IE6 works. So no css3 for a start.

IE6 handles most of the basic layout stuff just fine. I find it’s mainly when I try to do anything fancy that it will start to wobble. So perhaps you should read a good book on bulletproof layouts jut to make sure you aren’t asking for problems you don’t need. When creating a layout, just check when you do something and see—as Mittineague said.

I avoid left and right margins as much as I can, as that has given me the most hassles (although display:inline is a general fix).


<meta http-equiv="X-UA-Compatible" content="chrome=1">

IE 6? What IE 6??

Ok, working for the last 9 months at a company where the pages are on a company intranet where Firefox is the required browser has spoiled me. I’m free to design pages without considering IE’s limitations. On my personal pages I require chrome frame with the tag about and don’t worry about it anymore.

Other developers tell me that things go relatively smoothly for them when coding to IE6, and that they really don’t have to utilize the various hacks that I, myself, employ quite liberally.

Possibly you and they (er, we) are doing very different things with code?

But for instance, when I had time to start looking at Drupal, I saw they started you default with an IE6 and an IE7 sheet, something I personally consider wasteful (extra GET requests, 3 documents to search for styles regarding one element). But looking at them, they weren’t very big, and mostly were triggering Haslayout and for whatever reason did not want to use the rather ugly-looking hacks like *+html #element{}.

I usually sit back and think if I find myself doing more than a few of those, and why. But, it depends on the site, and it depends on what the requirements are. My day job, I usually can allow certain differences (Modern Browsers just get Better Stuff, like using attribute selectors to add a PDF image after anchors, while IE6 just doesn’t (it’s an extra, not a requirement) and IE7 did it wrong… so first I removed it entirely from IE7, and then later changed it over to making those anchors display: inline-block since it looked like it fixed it and didn’t ruin anything else). So, I’m one of those developers who claim not to use many hacks.

However as a freelancer you’re more likely to be playing with opacity, gradients, more images, and maybe funky javascript. Now you might be introducing extra complications like PNGfix (or substituting gifs for IE6, my preferred method), a csshover script of some sort (for dropdowns and other hovers), maybe min and max-width setups… yeah, that can start to add up fast if your clients really want IE6 users to get exactly the same experience.

I mean, you can go all out with hacks if you want: http://www.csszengarden.com/?cssfile=062/062.css check it out in IE6 : )

I find it lovely.

If it really bothers you, post code in (some other) thread with screenshots and ask them how they would code it. It might just be that some of us let more stuff slide than you do?

I am also 10+ years as a full time developer and last year I officially quit supporting IE6. Yeah, I know 20% of the population uses it, and guess what, my sites won’t be the only ones that suck for them. Over time, they will get it. It’s like when you have poop on your shoe. After awhile you’ll realize it’s not the neighborhood that stinks, it’s you, and you’ll wipe it off. So wipe that IE6 crap off your show and move on.

http://whyiesucks.blogspot.com/

Really???
How will they know that it’s just your bad design and poor ability that they are looking at?
If I see a badly laid out or poorly presented or unresponsive site, I don’t rush to use another browser, and I’ll bet no one else does either. I hit the Back button. Like most over people.

My uncle still has Windows 98 with the IE5.? it came with and the website of his own service provider (with no special anti-IE code) simply does not work. The page cannot be loaded. Without an error message, he wouldn’t know why (but we could tell him as we were sitting there with him).

Even then, he didn’t want to upgrade to another browser because he wasn’t sure what exactly a browser was.

Luckily my cousin found an old copy of “Mozilla” and it can render that page. It still has the dinosaur icon. So we tell him, “just use the dinosaur one”.

Most casual users upgrade browsers either through the evangelism of someone physically nearby (a nerd friend, or a child), or through upgrade of the OS. I expect IE6 to be significant until XP has gone the way of Win2000.

For one, building for IE6 just enables those users to continue using it. When our local cable company went full digital, did I just say “F-it” and let all of my channels go away? No, I bought a digital converter at Radio Shack. The point is, it’s time to move on. I live in WA State and half of my friends work at MS and they will tell you with much animation “please do not support IE6 we want it to die!”

CSS hacks suck. Yeah, you can usually make it work without hacks unless you’re implementing PHP injected jQuery or complex grid layouts, then you’re just screwed. So do you charge the client an extra $2000 to “fix” IE bugs, or just display a nice message that says “you’re using an old browser and our website may not display as intended for you. Please consider upgrading.”

I’m not too concerned about someone who doesn’t even know what a browser is, because more than likely they won’t shop online and if they’re using IE6 or below, most newer websites will suck for them anyhow. Try using amazon.com, walmart.com or even Microsoft sites in IE5 or IE6 and you’ll see they all degrade badly.

Sure, i check my designs in IE6 but if it takes more than a few minutes to fix, I leave it alone. Nope, IE is 10 years old, move on.

BTW IE6 useage is now below 10% and dropping at a rate of 1% PER MONTH. That means by the time I finish the project I just started in July, it will be down to 6%… so yeah, buh bye IE6.

http://www.w3schools.com/browsers/browsers_stats.asp

Your browser stats are much lower than ours (lucky you). And of course MS guys want IE6 to die. Nobody’s rooting for it. It’s a decade old.

You’re right that people like my uncle aren’t going to be demanding fancy funky JS flashiness… which is nice.

I just know that there are enough people running around who won’t or can’t upgrade, and so long as my company needs to reach “average people” who can’t be bothered to worry about upgrading some piece of software they don’t understand when all they wanted to do was insure their vehicle (what we do, and since we don’t make flashy sites, it actually downgrades perfectly to… plain text actually, since I wanted our sites to also be JAWS-friendly), I’ll continue making sure things are at least functional in IE6 for quite some time.

I waffle sometimes though on the idea of just having a sign on a site (for IE6 or lower only) stating that their browser will simply no longer be supported, with a link to “what is a browser and where can I get a new one for FREE” or something, and leave it at that. Felgall has said that even the older OSes who may not support IE7 will still support Opera or something.

There are certainly a growing number of developers who agree that they are enabling bad habits by building for IE6. Since it doesn’t take many (if any) hacks for me to get my sites functional in IE6, it’s easier for me to just wait til they are under whatever arbitrary % I feel safe to ignore.

That said, I still have some hacks for IE5.5 on a few sites, though that’s mostly because they are small sites and didn’t need much extra even for IE5.

AFAIK those are global numbers from the W3C.

I didn’t say my sites are not functional in IE6 but they are not pixel-perfect either. I do make sure they render properly and that the basic form and function is intact in IE6 but I refuse to sit at my desk charging clients $80/hr while I pixel f*ck over minute details in IE6. We use an IE CSS conditional that shows a div called .oldbrowsers, which is set to display: none in new browsers.

Like I said, at the rate it is falling, we’ll be under 5% by late summer 2010 and I don’t see any reason to be writing code now, which won;t matter in 6 months anyhow. I think 5% is my arbitrary % and it’s quickly approaching. Too many n00bs are wasting time learning to hack IE6 etc. when they should be focusing on clean, semantic CSS and learning CSS3. Same thing goes for pros. We bill clients way too much for something we should put our foot down and stop doing.

Death to IE6!

AFAIK those are global numbers from the W3C.

Nah, two guys got REALLY lucky with the domain name, threw up a site and then, I heard they left it dormant for a while (someone’s keeping up on the JS section though). w3schools keeps its own stats and they actually have nothing to do with the w3c.
I’m in the Netherlands, a somewhat backwards country when it comes to IE usage.

I didn’t say my sites are not functional in IE6 but they are not pixel-perfect either. I do make sure they render properly and that the basic form and function is intact in IE6 but I refuse to sit at my desk charging clients $80/hr while I pixel f*ck over minute details in IE6.

I don’t either. For that matter, I don’t bother making anything cross-browser pixel-perfect. I use Gnome as my windowing system and unix fonts. Most sites have some part that breaks in my browsers, so I keep myself pretty lenient over pixels.

But I see that as pretty different from “stop supporting IE6”. If your site looks average and works in IE6, it’s IE6-compliant : )

Too many n00bs are wasting time learning to hack IE6 etc. when they should be focusing on clean, semantic CSS and learning CSS3. Same thing goes for pros. We bill clients way too much for something we should put our foot down and stop doing.

If I needed to bill a client extra for IE6, I too would consider telling the client I simply won’t do it. However, three * html hacks on a full site just don’t bother me. Many coders here on the forums routinely do this

label[for=“foo”] {
special prettistyles;
}

and just don’t bother with IE (7 won’t grab that either) at all there. It’s a progressive enhancement, something we just code through without much thought.

I find the argument more compelling with Javascript. I go out a-googling for HowTos and I get a bunch of navigator.appName == Netscape and <a href=“#” onClick=“javascript: void”>fake link</a> garbage.

I would like a speedy death to IE6, but most of the time, I’m not losing hair over its existence. I was close, though, with my CSS hover maps, where IE6 insisted I REdeclare all my abso-po’d anchor heights for the :hover state. Bleh.

I actually get way more pissed off at things like Gecko’s retarded method of dealing with legends than IE6… mostly because IE6 is just so darn easy to hack for, whereas with Mozilla it’s possible, but so darn ugly you’d rather just leave it broken for the foaming fanbois.

That’s what I like about jQuery is it’s almost 100% cross-browser cool.

Well then I guess my sites are IE6 compliant lmao… I open them up on my old Dell and if they don’t look like ass, I close it and forget about it. If they do look like ass, I tell the client and then go buy beer. I have a few big clients who I;ve had to deal with IE6 for but that was also a year ago and the % of users keep s dropping so my New Year’s resolution was to put my fingers in my ears and go “Na nananana can;t hear you!” when someone asks if it works in IE6 :rofl:

Just looking at these stats you can’t afford to ignore IE6 yet if you want your pages open and useable by the maximum number of people possible. It is probably a reasonable assumption that a good few of those still using IE6 are in educational or workplace environments where they have no say as to what web browser or OS is installed.

It is quite easy to have sites work reasonably well with IE6, just have the CSS in “layers”. The base layer would be real basic positioning and formatting css, the next layer would be css that is not supported/does not work with ie6 but works with ie7. Next would be the css that ie8 supports but ie7 doesn’t.

I’ve not tried it myself but it can’t be that hard to do, it would just require a bit of research as to what css each version of IE does and doesn’t support.

Those numbers do not reflect anywhere near what we experience on our servers. Our monitoring shows under 10% IE6, which like you said, is probably due to our customers being non-educational, not at work etc. They are mostly shopping sites (the new Albertsons.com is launching soon) and we get very few IE6 hits. I think the most important part is that the site renders useful in IE6, and let it go. I don;t want to be an enabler LOL… a lot of our projects are very complex with tons of nested DIVs and it gets very difficult to fix breaks in IE6 when you have that. We don;t build flat sites with a container, header, sidebar and footer… our shopping cart for example has a 9 column layout that breaks like mad in IE due to floats and padding issues.

Same here. It’s tedious. Though we use PNGs all the time now, chuck one of the many Javascript PNG fixes on them, done.

Well then I guess my sites are IE6 compliant lmao… I open them up on my old Dell and if they don’t look like ass, I close it and forget about it. If they do look like ass, I tell the client and then go buy beer

Lawlz!

I did forget to mention another reason I keep checking in IE6… it’s not a good reason, and it’s not even fully researched (I really would love to have some research in this area!):

In Europe it seems, at least anecdotally, that JAWS 6 is one of the most popular screen readers. I’m not sure what happened at that stage that that was when people got their readers, but upgrading, like with much proprietary software, means buying a whole new copy. Read in an article from Chris Hofstadter how some poor Belgian guy had to pay 3000 euros for a copy of JAWS… which sure is a lot more than the $1000 North Americans pay for a copy, which is also still damn expensive.

JAWS 6 sucks. It’s extremely buggy, and as Microsoft didn’t care to offer their code to Freedom Scientific, everything was reverse engineered so developers knew how to make JAWS work with it… this includes IE6. You really need a higher version o JAWS to get anything working in another browser. The best bet is IE7, but for instance the keyboard commands don’t work the same at all in Mozilla (at least, I couldn’t get sh*t to work with JAWS7 and Mozilla-anything).

It’s gotta be a pretty small percentage of the % of current IE6 users, but they’re a group who use the internet for regular stuff… likely not shopping at high-end stores, but no reason they wouldn’t be buying scooter insurance for their teenage kid (what do kids know about insurance?).

It’s not necessarily an arguable reason to support IE6 but it’s one I also have sitting in the back of my head whenever I come across some code of mine that IE6 doesn’t like.

The sites I build have to be pixel- and behaviorally-perfect in IE6. No skipping. No choppiness. No exceptions. It’s nice when I get to use GIFs in lieu of PNGs, but that’s incredibly rare.

I feel very sorry for you guys. Functionality? Not looking like anything’s broken? That’s fine. But no way would I spend much coding time (unless I was in charitable mood) trying to make a decade-old browser look and do what moder browsers do… esp since the IE6 users I’m targetting would never see any of our sites in another browser. They have IE6 because they can’t or won’t upgrade. The worst that could happen is they have an encounter with someone toting a Mac and say, hey, the site looks different in Safari!