The Reality of Dealing with a Mule
I’ve discussed the poor quality of free code and applications before. Since very few people had helped me spread the word as I had hoped for, I’m at it again. I realize it isn’t going to be easy to get the core of the development community to change, but I’m no quitter.
Bending over backwards to meet the needs of those who didn’t do it right the first time is counter-productive, yet it seems to be a common method of making the big players happy (even at the expense of web standards). A stronger approach needs to be tried in my opinion. To illuminate what I mean, I will print here a story told to me by a friend of mine at the North Carolina Museum of Life and Science:
A man sold a mule to a farmer and promised that as long as the farmer was nice and polite to the mule, the animal would perform any task without hesitation. For months the farmer politely tried to get the mule to work but the stubborn animal wouldn’t do a thing. Finally, fed up, the farmer called the man who sold him the animal and complained that no matter how polite he was he got no cooperation. The man told him he’d come over to help.
The man showed up at the farm and asked the farmer what he wanted the mule to do. The farmer said he wanted the mule to plow his field. As the farmer watched, the salesman walked up to the mule hit him on the head with a two-by-four — hard. He then calmly and politely asked the mule to please plow the farmer’s field. The mule went right to work.
Shocked, the farmer exclaimed to the salesman that he told him to be nice and polite to the mule to get him to do anything, yet he had hit him on the head with a chuck of wood. The salesman replied that he was polite, but he first had to get the mule’s attention. — A friend on mine
Well I don’t have any ideas as to what we could use for a two-by-four, but we really need to hit the mule on the head. Since I wrote that previous article I’ve encountered four bits of public code that I had to edit to make right (or as right as I could in one case). One of them was written by someone I know, a fellow standards-complaint type who shall remain nameless, and he had a language attribute in a script element (JavaScript type). Oh, groan.
We have some work to do if this will ever change. Somebody go get the mule please.
Update: I received an unconfirmed report that the quote above was originally told by coach Ben Bowerman.
Tommy Olsson responds:
Posted: June 5th, 2007 at 1:29 am →
It’s a Catch-22. People make mistakes, so browsers have to be lenient, which means people have no incentive for learning to do things right.
If old browsers understand
language="JavaScript"
but nottype="text/javascript"
, and modern browsers understand both, guess which one people will choose if they’re writing a code snippet they want to work for ‘everyone’.On web forums I often see questions along the lines of, ‘why should I care about web standards as long as my code works?’ People don’t get it, and I have no idea how to reach them. Many of them, like the Big Players, don’t care about doing things right. They care about one thing, and one thing only: money.
If you tell them that web accessibility is a good idea, they’ll ask you for the predicted conversion rate for disabled visitors. They don’t care about ethics or about quality. It’s just about making as much money as possible with as little effort as possible.
I think we’re going to run out of two-by-fours before we run out of mules.
David Zemens responds:
Posted: June 5th, 2007 at 6:11 am →
I suppose their are many different reasons why some designers use poor quality code. In some cases I imagine that they simply are doing the best they know how. In some cases they figure it makes no difference. And in some cases, like Tommy suggests, it comes down to a matter of Time vs. Money.
I understand your passion to spread the word, Mike. In the meantime, however, you simply need to take pride in knowing that you do it the right way. Sure, it adds some work when you have to clean up someone else’s junk — but I guess that’s what sets your work apart from the others.
Don’t quit spreading the word, but do understand that in this “Race for Compliant Code & Accessibility” you are running at the front of the pack. With that in mind, when you turn around and look behind, you see a lot of people following you.
Helena Boylen responds:
Posted: June 5th, 2007 at 9:49 am →
Another annoying factor with reference to the Javascript example given - I use HTML-kit which has an autocomplete facility. When you type in
<script
it autocompletes it adding the rest of the opening tag, comments and the closing tag. Unfortunately it’s adding which is exceptionally annoying.Megan responds:
Posted: June 5th, 2007 at 10:35 am →
I don’t think there are any excuses for writing bad code. I have given up on several free scripts mainly because it was going to be too difficult to fix the HTML. People shouldn’t be distributing stuff if they can’t be bothered to do it correctly. Doesn’t matter if it’s “free” or not. One of my biggest pet peeves are the ones that claim to be “standards compliant” but still do things like use tables for layout.
I think this is part of a larger issue of people thinking that a) if it “works” then it doesn’t matter how you do it and b) you only need to learn HTML once (and partially is good enough, even if it was 6 years ago).
The case of developers writing scripts for distribution is a little different than graphic designers or marketers who also don’t care. There are some very specific reasons why it’s better to have standards-compliant code when you are expecting other people to use it. I might need to write about that.
I’ll help spread the word!
4 reasons why free code needs to be standards compliant - MeganMcDermott.com responds:
Posted: June 5th, 2007 at 11:47 am →
[…] Mike Cherim has another post today about the poor quality of free code. This is something I’ve come across many times - you think there should be a script out there to do what you need to do, go out looking, find something that looks good only to realize that they’ve got layout tables embedded in the PHP. Do you try to fix it or go look for something else? If there is nothing else, do you decide to make it yourself to avoid the hassle? […]
Mike Cherim responds:
Posted: June 5th, 2007 at 10:36 pm →
@Tommy:
I get that, too. It seems like companies nowadays are pro-financial gain and not so much pro-anything else — unless, of course, it can somehow be pro-financial gain on the sly or consequentially. Being that companies are so attuned to all things money, and being that time is money, I wish they’d value our time a bit. One small change on their end — making that old PayPal or newsletter sign-up form better — positively affects thousands. If they’re not stuck with using it, they’re stuck fixing it.
Gill responds:
Posted: June 6th, 2007 at 12:16 pm →
This was posted “elsewhere” yesterday…..
When you’re dealing with this sort of ignorance you’re on a losing battle.
Like you I keep plugging away but it gets so disheartening.
David Zemens responds:
Posted: June 6th, 2007 at 12:56 pm →
Isn’t that the truth. Just because the big boys don’t do it right doesn’t make it a good practice.
I lost a client early this year to one of the major web design firms in southeastern Michigan. It was my biggest design project so far, as it was for a national business. I designed their new web site last year, but they decided to make changes now and decided to go with one of the “big boys”. Oh well, I thought, easy come easy go.
Just yesterday the big boy assigned to the project called me because he was stumped with some SQL and PHP issues as he tried to make modifications to the site. He allowed me to access his testing server to try and help him. As you might guess, I did help him with his problems. But what really made me happy was that I got a look at his code and approach to the modifications. It was tables based junk - absolute garbage - and these folks are major players in the industry in this area.
I felt good because my “one man shop” is leap years ahead of this firm in both standards complainace and accessibllity. So we all keep plugging away as best we can to do things the right way.
Carmelo Lisciotto responds:
Posted: June 11th, 2007 at 8:03 pm →
A lot of good points raised here!
Carmelo Lisciotto
marat responds:
Posted: June 20th, 2007 at 4:37 pm →
Just yesterday the big boy assigned to the project called me because he was stumped with some SQL and PHP issues as he tried to make modifications to the site. He allowed me to access his testing server to try and help him. As you might guess, I did help him with his problems. But what really made me happy was that I got a look at his code and approach to the modifications. It was tables based junk - absolute garbage - and these folks are major players in the industry in this area.
Anthony Brewitt responds:
Posted: June 22nd, 2007 at 8:17 am →
I imagine the argument will always be a resources one; we don’t have time to change this part or the return on investment is simply not viable. I would agree with you completely Mike and I love metaphors, especially with farm animals and 2 x 4’s.