Lockergnome Happy Ending

Chris Pirillo has floated another Lockergnome redesign that embraces web standards and looks good to boot. I couldn’t be happier. Here’s Chris’ post on the matter:

Boo-yah! I’m going to keep nagging Jason until he applies this weekend’s test code site-wide. No legacy tags, beyotch! Oh, and… “This Page Is Valid XHTML 1.0 Transitional!” I’m not sure if I wanna play with a fixed-width or stick with the variable. Doesn’t look great on anything less than 1024×768, but those folks are in the minority. Hey, I got it to look fantastic in all the major browsers on all the major platforms – that’s gotta count for something. Props to glish for the guidance. So, what did I use for my editor? Notepad, baby. Metapad, actually (the best clone around). Thanks to everyone else for the virtual ass-kicking; you accelerated the inevitable.

Most of you will be happy that it looks like a page from this century, but I know some of you are wondering about the markup. It’s decent. Eric Meyer actually covered the Lockergnome debacle and their redesign in his part of the panel on CSS and said it suffers from “classitis” — using too many class declarations. Example:

<ul class="menulist">
<li class="menuitem">
<a href="http://www.emtec.com/mailbell/index.html?lgnm" title="POP3/Hotmail and IMAP Email notification and mail preview">Mailbell - be notified about new email</a>
</li>
<li class="menuitem">
<a href="http://www.vypress.com/" title="Instant messaging and conferencing for LAN">Vypress Chat</a>
</li>
<li class="menuitem">
<a href="http://www.emtec.com/pyrobatchftp/index.html?lgnm" title="Perform automated and unattended ftp file transfers via scripts.">PyroBatchFTP - Scripted FTP v2.08</a>
</li>

Instead of explicitly addressing the menuitem class you could just use the CSS selector .menulist li which would apply to all list items under an element with the class of menulist. I forget the name for this type of selector, but it’s the most useful technique I use daily in CSS.

What’s great is now we are discussing what Lockergnome is doing well and how they could tweak it to make it better rather than wondering how the hell they went wrong. I commend the group at Lockergnome for doing the right thing.

Previous articles on the same subject:

Have We Met?

Having a blast here at SxSW. I’m trying to keep a SxSW blogroll of people I’m meeting but after just a day I’m far, far behind. If we’ve run into each other use this entry to leave a comment with your name, URI, and where we met, if I haven’t already listed you.

The panels today were pretty decent, though I’m sorry I missed Jeff Veen’s panel, which I heard was excellent. Monday is going to have some great presentations. So far there have been many memorable moments, some of which I’m sure I’ll be hearing about from others for a while. I’m going to do a few more pictures and then it’s to bed for me. They put some really good panels early in the morning and I still have to grab some sleep.

Mix CDs

The drive up to Austin was made all the more enjoyable by the mix CDs Kymberlie gave me last night at the H-Town Bloggers pre-SxSW party. Kymberlie runs a thing called Burn It which is like a giant secret-santa type mix CD exchange. If her CDs are indication of the quality, I’d love to participate next time.

Mix CDs are so fun because they provide vignettes of someone else’s tastes, the best and most interesting. Mix CDs are like linklogs of music.

Lockergnome Critique

Paul Scrivens has written one of his famous critiques of the Lockergnome redesign. He covers the redesign point by point with far more detail than I have, taking a multidisciplinary approach. He loses his cool at one point, but try to understand this is incredibly frustrating.

What’s strange is there hasn’t been a peep out of Lockergnome regarding any of this. Aren’t they plugged in to customer feedback?I think a simple statement or clarification would do a lot to clear things up. Though in the comments some people have used names of people at Lockergnome, it isn’t at all about that. This is simply a matter of supporting companies and organizations you can respect and routing around ones you can’t.

Standards Jokes

You’ll either find this incredibly funny or find it incredible that anyone could find this funny. From the HTMLDog Dogblog:

Q: Why did the XHTML actress turn down an Oscar?
A: Because she refused to be involved in the presentation.

Q: Why was the font tag an orphan?
A: Because it didn’t have a font-family.

Q: Why do CSS designers have too many children?
A: Because they employ lots of child selectors.

Q: Why was IE5’s 3-metre wide cell in the insane asylum smaller than IE6’s 3-metre wide cell?
A: Because the width of the cell included the padding…

Q: Why was the XHTML bird an invalid?
A: Because it wasn’t nested properly.

There are a few more in the comments over there. This made my day.

Code is Food

Even if you normally skip my “geek” entries, please read this.

Scoble sees I’m unsubscribing from Lockergnome and says:

I’m more pragmatic. Can I look at the page in my browser? Can I subscribe to the RSS feeds? If so, why does it matter whether the code underneath was done with tables or CSS? Call me a fool, but I judge web sites by whether or not they have content and experiences that enrich my life, not whether the code underneath them fits my expectations.

Robert isn’t a fool, we obviously have a breakdown in communications though. I can’t understand why anyone wouldn’t be shocked at the code snippet I posted and Robert doesn’t understand why anyone would care. In fact there is probably a large segment of my audience here who doesn’t have a clue why I get so worked up over this stuff. All morning I’ve struggled trying to think of an analogy that captures the essence of what is going on here.

It became more obvious to me that HTML and CSS code and the health of the web has many parallels to the food you eat and the health of your body. HTML is the ingredients and CSS is the world-class chef that takes the ingredients and arranges them in an attractive, delicious way.

So lets take your token bad markup—multiple nested tables for layout, badly nested tags, font tags all over the place—this is McDonald’s. If I’m on a road trip and need a quick bite, I’ll drive through because it’s convenient and ubiquitous. Though it’s obviously bad for you, it’s not going to kill you if you have a Big Mac. However if you try eating it every day, your body revolts and starts to deteriorate rapidly (original article).

Within a few days of beginning his drive-through diet, Spurlock, 33, was vomiting out the window of his car, and doctors who examined him were shocked at how rapidly Spurlock’s entire body deteriorated.

“It was really crazy – my body basically fell apart over the course of 30 days,” Spurlock told The Post.

His liver became toxic, his cholesterol shot up from a low 165 to 230, his libido flagged and he suffered headaches and depression.

I think the Big Mac is a pretty good example of bad ingredients crappily presented. Bad markup and no CSS.

Now lets move away from McDonald’s to a fictional restaurant like McDonald’s but without the nice clown and all the charities. This company has the same sort of mediocre food but also mistreats its workers, has lax sanitation standards, puts farmers out of business, has slow service, and uses slave labor overseas. Now in additional to the health reasons for not eating at this restaurant, you have a number of ethical reasons. Why should you support any restaurant that is so contrary to principles that you believe in?

That is the web. Think of your poor browser, which has to work incredibly hard to try and interpret what is essentially markup gibberish and shape it into something it can present to you. The worse the markup is, the slower the page is going to load and the more likely it won’t be presented as the author intended. RSS and syndication doesn’t do a thing to solve the problem, it just tries to shield you from it. (Let me mess with my RSS 2 feed until its at the markup level of their page, and see if your aggregator even still reads it.) Robert of all people should know that the quality of code on most websites wouldn’t be accepted for a second inside of any of Microsoft’s products. Longhorn is not being built on crappy code held together in an ad-hoc fashion, it’s being built on standards. Why shouldn’t the web expect that same level of robustness?

Sure some people don’t care about whatever markup is behind the web pages they visit. Out of site and out of mind, right? (Very apathetic American.) But I care, and it’s because of people who care that the web has moved beyond the near-unusable mess it was 5-7 years ago. On one level I care about the health of the web, the long-term viability of the sites and pages and documents that are shaping our culture and society. On a deeper level I hold a number of principles that the web should be efficient, standards-based, and accessible. No site is perfect, but some try and some don’t.

Lockergnome regressing from the standards-based is more than just a bad business decision, it is essentially giving the middle finger to the community around the world that cares about these things. Their lack of communication on this issue beyond a few flippant remarks in a newsletter is insulting. They either don’t care or are ignorant, neither of which I’m inclined to tolerate. I’m not even going to address the point, as other have, that they are supposed to have a web development newsletter.

I’m not just unsubscribing, I’m boycotting. There comes a point when you see blatant disrespect for things you care about and you can either sit back and pretend it doesn’t bother you or you can speak out. It’s two different types of people, and if you’re one of the former then you should examine the effects of your apathy.

To recap, Lockergnome just isn’t just serving bad ingredients with bad presentation, they’re the restaurant you visit every day for its great service and food that one day changes into a dive with spoiled food and flies in the kitchen, and then tells you that keeping the place clean is too “fancy-schmancy” and that they don’t need to keep using fresh food because no one will notice anyway and it’s too much trouble. The next day you see them on the news for rat droppings, food at the wrong temperature, and slime in the ice machine.

Of course at some point the analogy breaks down because I don’t know of any food that is incredibly cheap, tastes great, is very healthy, and stays fresh forever without refrigeration. That’s well-formed XHTML and CSS.

So that’s why I care. I don’t expect everyone to care that much, but at least understand why I do.