Archive for the ‘Comic’ Category

Stop Soap.

Wednesday, January 18th, 2012
CSSquirrel #91: Stop Soap

Soap isn’t our enemy. Properly done, copyright and the enforcement of it isn’t our enemy.

But SOPA and PIPA, the legislation currently being considered by Congress, pose a very real and dangerous threat to a free Internet as well as free speech.

Today, January 18th, a lot of sites are blacking themselves out in protest over SOPA and PIPA, helping show how the Internet might exist if these legislation are allowed to pass.

Get informed. You can see some people’s carefully considered views on how dangerous SOPA and PIPA are here, here and here.

Get involved. Tell your senator or representative that SOPA and PIPA are bad.

Snow, Blood and Cookies

Friday, December 9th, 2011
CSSquirrel #90: Snow, Blood and Cookies

Today’s comic features Opera’s viking doing some nasty, brutal stuff. Because if a public community representative of Opera acts out of line, and the company doesn’t call them on it, they might as well be endorsing it. Luke Wroblewski also stars as the stand-in for well-meaning folk who are trying make peace at the expense of correcting bad behavior.

Buckle up.

I’m going to throw myself on the grenade and be the curmudgeon.

You don’t have to like what I’m about to say, but I think you need to read it.

We are, as a community, allowing ourselves to be abused. We’re Kevin Bacon in Animal House, bent over in our underwear and thanking someone for beating us. And, like any sadist with a free pass, they’re continuing to hit us again, and again, and again.

I get it. It’s the holidays. We’re stressed out by end-of-year deadlines, driving on icy roads and getting our Christmas shopping completed and hoping that at the end of the day we can kick back an egg-nog and just be merry. We don’t want the stress of confronting and condemning bad behavior, so we’re trying our damnedest to shrug it off.

Additionally, most of us want to be liked. And we want our friends to like each other. Whether it’s in our neighborhoods, in our Facebook profiles, or in our professional circles we just want people to be friendly and think highly of one another, but especially us. So when a flare-up starts between two peers we’d rather put our fingers in our ears and hum the Benny Hill theme song than owe up to the fact that there’s a problem.

But I’m here to be the bearer of bad news: there is a problem. Not only that, we’re responsible for it.

When I was growing up, my mother made it clear that certain behavior was not acceptable. Among other rules of childhood, I couldn’t go about tossing insults at people. Not my parents. Not my siblings and not friends. Heck, I was expected to maintain at least some decorum around the kids I disliked.

Going outside the bounds of socially acceptable behavior carried with it a penalty. Maybe soap in the mouth, or a spanking, or being grounded in my room, or at the bare minimum no desert after dinner. It was unpleasant. I was a pretty big crybaby, so any sort of punishment or chastising resulted in a waterfall of tears and a sniffling cry that would last for hours. I guarantee my mother hated having to deal with it. She probably would have enjoyed her evenings much more pretending I didn’t doing anything wrong, instead of listening to me cry and sniffle in my room as she desperately tried to read a book in peace.

But she did it anyway. As a result, I learned the difference between right and wrong and stopped doing the bad behavior. It didn’t mean that I stopped thinking ill of kids I disliked, or devising a choice insult for my brother when he provoked my ire. But it did mean I knew it was unacceptable to act on those thoughts, and it made me consider my words before I said them. If, after a good hard think I decided it was worth provoking my mother’s wrath, I’d still take the risk of insulting someone.

I did, however, think first.

In a pattern that goes back probably for quite some time but for certain seems to have flared up this week we’ve been permitting ourselves to be subject to bad behavior. We’d rather read our books in peace, so we are ignoring the misdeeds of an entitled few in the hopes that it will all go away.

And it’s not going away.

There’s literally thousands of amazing, talented developers and designers currently involved in making the Web a better place. A whole lot of them are like me, working hard for a very modest living in a small design firm that doesn’t get awards or fancy big-name clients. A great many also work as embedded Web people in a large corporation or other entity, thanklessly fighting the ignorance or misinformation of their bosses and co-workers while trying to apply their awesome skills to making their corporate site a better, slicker place to visit.

Then there’s the superstars, Web folk that work as community representatives and star developers for the big Web companies that take leadership roles (by fiat or by standards) in developing and proselytizing the advancement of the very technologies we use to make awesome Web stuff.

These people don’t just speak at conferences, they speak at dozens of conferences. They don’t just make cool web projects. They make amazing, cutting-edge projects that push forward the meaning of “good Web design”. They talk a lot about community participation and self-learning and being involved.

They’re intelligent, creative and successful people.

Sometimes, they can be utter dicks.

Anyone can be a jerk. From the drug-addled homeless man currently shooting up in the alley down the street from my office to the richest men in the world. Every person is capable of forgetting those lessons in basic decency that their parents (hopefully) taught them as children and slip up from time to time.

When it happens, it’s usually considered acceptable to say “Dude. No.”

The worse the bad behavior, usually the more stringent the chastisement should be. Action. Consequence. It’s a no-brainer, right?

But what happens when thought leaders, community representatives of important companies in the industry, and superstar talents start to repeatedly engage in or endorse bad behavior? It usually goes something like this.

  1. The superstar does something socially unacceptable. Like refer to a recent article by the owner of a small design firm as drug-enduced bullshit. (original was deleted, here’s a retweet).
  2. Individuals call the superstar on the behavior, noting how unacceptable an action it is. Especially for a community representative of a major player in our industry (although, really, it’s just unacceptable period).
  3. The superstar sort of apologizes. Usually in the vein of “I’m sorry for using strong language” or “I’m sorry you got upset”.
  4. The individuals (rightfully) insist that’s not an acceptable response, and demand a genuine, public apology.
  5. The superstar does so.
  6. Supporters of the superstar retaliate by calling the original individuals the curmudgeons in this situation. They in essence defend the bad behavior by shaming them for “bullying” the superstar, say the “crap” they’re saying is undeserved.
  7. The rest of the community, straining to retain a smile, do everything in their power to bury the “firestorm” under a (likely well meant) pile of hugs and cookies universally handed out to everyone involved, including those that defended the bad action and the superstar that did it in the first place. All are pardoned, nobody is wrong.
  8. The superstar states how tired they are of the drama… seemingly ignoring the fact that it was their own behavior that caused it.

This is all sorts of messed up. Nobody’s learned a lesson, because as a community we’re too concerned about “drama” that we’ll do anything to quash it instead of uniting as a community to call down the person who started the drama with their attack in the first place. We’re sending such a mixed message of supporting the peace or the person without collectively condemning the behavior.

Anyone who ever raised a kid or was a kid knows exactly where that will lead. To more bad behavior.

I’m not calling for punishment. But the launch of a pro-community “make the web better” website (which I will not be linking or mentioning by name for reasons I’ll make clear below) should have been a source of joy in the holiday season. Instead, two individuals tied to that effort have engaged in either passive/aggressive sniping or outright insulting of individuals and their efforts in this week alone. And according to people in the know, this isn’t the first time for some of those involved. And what kills me, what hurts me is how highly I thought of these people prior to now. But how can I promote the work of people who engage in socially abusive bad behavior?

I can’t. No matter how much I agree with the message of their product, I cannot in good conscience promote their goods and services when they’re behaving in a fashion that I know to be wrong. And as near as I can tell, they’re not sorry for how they’ve behaved. They’re simply sorry they were called on it.

The only way we’re going to improve as a community is to grow up and realize we can’t hide everything under soothing hugs and cookies. People messed up. Worse yet, people who are well known and respected representing companies with power or social clout messed up. If they are protected for their behavior, they will continue to abuse us, the community. And many of us will, over time, mimic that behavior in a misguided attempt to become as successful as they are.

Shame on you, Divya. Shame on you, Paul. You’re grown adults. You know better.

Next time you want to blame the drama, stop for a moment and think about who actually started it.

And to the rest of you, I’m sorry. I don’t want a cookie. I want it made clear that this behavior should never have happened, and can’t be allowed to keep occurring.

Happy holidays.

The Value of Meaning

Friday, November 11th, 2011
CSSquirrel #89: The Value of Meaning

Divya Manian is a bright cookie. When it comes to the web, you can say with complete assurance that she knows her s***. She’s in that category of people that makes me insanely jealous of their creativity and intelligence.

All of which makes me think that somehow she’s trolling us today.

Our Pointless Pursuit of Semantic Value is a shortsighted piece, placing the value of markup solely upon the capabilities of browsers (and other user agents) today at the expense of tomorrow. It’s the sort of article that I would have perhaps expected from the internal website developer of a large corporation at the turn of the century that only permitted its employees to use Internet Explorer 6.

When I started getting paid to make websites instead of pizza, I was bombarded non-stop by the value of making websites that weren’t locked into the limits of the less-capable browsers of the moment (some of which, like the big blue e, were more than a little antiquated), but was instead encouraged to embrace forward-looking mentality of making the best of emerging features where I could and creating a fallback position where necessary. I can’t remember if we called this graceful degradation or progressive enhancement (I’ve heard the two used and misused so much that they blur in my brain), but nowadays we just call this technique “common sense”.

Did I make special span tags on elements that had rounded corners, placing background graphics on four separate corners so that the Great Blue Mentally Misunderstood Beast of the Internet could have pretty edges? Hell, no! I used border-radius and knew that somehow, someday, all browsers would eventually understand it meant I wanted pretty, round corners to nuzzle up against and whisper sweet nothings to at night.

I’m aware that HTML isn’t CSS, and what applies to one doesn’t necessarily apply to the other. But I’m fairly convinced that if anything, the principle applies even more with HTML today than it did with CSS yesterday. Barring a few legacy browsers that need to ride the HTML5 Shiv/Shim Short Bus, using a div or a header isn’t going to have any impact on a browser’s ability to properly render an element. Which means there’s no harm being done by using a semantic element before user agents get around to taking advantage of its extra meaning.

If I had to summarize Divya’s points in her article (I recommend you read it rather than relying on what’s bound to be a dramatic oversimplification on my part), it is that we shouldn’t bother with semantics because:

  1. Semantics Are Hard
  2. Current Browsers, Search Engines and Assistive Technology Don’t Understand It, So Don’t Bother
  3. Spending As Little as 40 Minutes To Learn About HTML5 Markup Is A Waste Of Time

Semantics Are Hard

Divya points out a piece by Mark Pilgrim on the difficulty of semantics. So, Semantics is hard. So what? Last I checked, I was a professional doing a job for a living. It’s my job to know what part of a website is its navigation or is its primary content. HTML5 isn’t really demanding much brainpower from me on deciding what element to use for what job. I’m fairly confident that the general meanings of header, footer, nav, time, audio, video, progress and summary elements are easy enough to grasp as a person who works with websites for a living. Agreed, article and section are a bit confusing, but I don’t think by and large that HTML5 semantics are a byzantine labyrinth of alien thought impressions that cannibalize the minds of sane men.

Current Browsers, Search Engines and Assistive Technology Don’t Understand It, So Don’t Bother

When I was making a few years back, Internet Explorer didn’t understand border-radius. Yet, despite that, I used it in making websites. And not only does IE now understand (and render) those pretty corners, but many of those websites still exist, using the same code I wrote back then. If I had chosen to not use border-radius because of the limitations of the time, the sites wouldn’t look good today because of my short-sightedness.

HTML5 is still settling down into its patterns. Some of the meanings are still being locked in. It’s not “done”, as evidenced by Hixie’s arbitrary and somewhat bizzare attempt to remove the time element from the spec. Does this mean that I shouldn’t be using elements from the specification because it’s not done now? Of course not! The sites I’m making today will not only be live for years, they very likely won’t see a redesign for much of that lifetime. Relying only on what’s “finished” now would be a disservice to my clients today, preventing them from benefiting from features for years because of a technicality on the spec’s status or the full support level of browsers.

AT, browsers, search engines, they will all catch up with taking meaning from semantics at some point in the future. When they do, would you rather that your website was ready for them, or would you like to spend time (and money) re-coding your mess of divs into something slightly more relevant? There is no harm in using divs now (when other, more semantic elements might be better). But there is a very good chance that it will put your site at a disadvantage later, when the technology catches up.

Saying that I shouldn’t use semantic markup because AT, browsers or search engines aren’t consistently taking advantage of it in the present is like saying that I shouldn’t use video or audio elements because some browsers aren’t taking full advantage of them yet. It’s limiting my future benefits by over-adhering to the present. How many of Divya’s CSS tricks shown at her presentations at conferences work on all current browsers? In all likelihood, none of them. Does that mean they don’t have value, and shouldn’t be used?

How is making use of semantic markup any different?

It’s not.

Spending As Little as 40 Minutes To Learn About HTML5 Markup Is A Waste Of Time

I am shocked that she said this. I’d almost characterize it as insulting. We are professionals in a career that demands continuing education.

At the end of the very same post, Divya suggests that developers learn Javascript. Which is good advice. Learn it. Love it. But how can you advocate the value of self-education while simultaneously characterizing spending forty minutes of your time to familarize yourself with the meaning of some of HTML5′s elements as a waste of time?

Sometimes the choices we make in markup don’t result in manna from heaven. Personally, I don’t attempt to adhere to sensible, semantic markup for the sake of SEO (which I consider a bunch of snake oil bulls*** anyhow) or for accessibility purposes. I do it because there’s an inherent value in attempting to do something in a consistent and correct fashion. There is meaning and purpose in constantly attempting to improve one’s level of craftsmanship.

There is nothing pointless in pursuing good standards, including adding semantic value to your website. Even if there was no future benefit to properly, professionally crafted markup (and there will be), there’s an inherent value in taking pride in your work and producing a product that is more elegant than that of your hurried, slapdash competitor.

There is meaning in striving for meaning.

Or as Karl commented in Divya’s post:

inadf, rjfsnsl nx pjd yt zsijwxyfsi jfhm tymjw. ny’x ymj xthnfq htsywfhy ns gjybjjs tzw nijfx. dtz fwj rncnsl uwthjxxnsl fsi rjfsnsl. vznyj xfi.

Can Hixie’s <Data>leks Exterminate <Time>?

Thursday, November 3rd, 2011
CSSquirrel #88: Can Hixie's <Data>leks Exterminate Time?

Edit: Roughly twenty minutes after I posted this, the W3C took action on the issue, insisting that the <time> element be placed back into the specification. You can read about it here. But please read on. It’s a good primer for the next time something like this happens.

Contrary to what you may have already heard, the <time> element hasn’t disappeared from HTML.

Yes, officially <time> is currently not part of the HTML spec. (Thanks to the muddle that is “HTML Living Specification” I’ll be honest and admit I’m not sure if is no longer part of HTML5 or it’s in some sort of Schrodinger’s Cat quantum-zombie state of existing in HTML5 but missing in the “ongoing HTML” that the WHATWG is proud to keep rolling down the conveyor belt.)

That doesn’t mean it’s not being used by authors (how’s Drupal builds, 2.6 million WordPress installs and the Boston Globe for you?) nor does it mean that is it not being used by user agents (ever-plucky Opera supports it).

What it means is that a single human being has decided that he doesn’t care for time one wit, and that a rather vague element called <data> can replace it instead.

This human is none other than Ian “The Benign Leviathan Dictator For Life” Hixie, editor for the HTML specification.

I could give you an explanation on how this scenario came to exist, but two Brits who are far more informed than I am (and likely slightly smarter) have made their own summaries. If you like knowing what’s going on (and I do) then go read them. These pair of fine gentlemen, Jeremy Keith and Bruce Lawson, both guest star in today’s comic as the good Doctor thanks to a little spot of regeneration, where they’re fighting the good fight against Hixie’s <data>leks.

Virtually every problem I have with a single person wielding so much power over such a fundamentally important pillar of the web as HTML can be summed up in this incident. <Time> is officially out, despite the lack of merit or consensus in that decision. And it took just one man to make that happen. Either through a lack of awareness or a genuine disregard for what authors are already doing, Ian has claimed incorrectly that <time> isn’t seeing adoption, isn’t useful, and should be canned. And because the only balance to his power is a rather tedious process to oust him, there’s no official remedy to bringing <time> back into the HTML fold than trying to convince him that its existence is a good thing.

From what I understand, it’s easier to keep red shirts alive on away missions than it is to change Ian’s opinion on something.

Fortunately, there’s a big difference between having no official remedy and having no remedy whatsoever.

As “authors”, we are the 99% of HTML5. We can follow Jeremy Keith’s sage advice:

We can make a stand and simply carry on using the time element in our web pages. If we do, then we’ll see more parsers and browsers implementing support for the time element. The fact that our documentation has been ripped away makes this trickier but it’s such a demonstrably useful addition to HTML that we cannot afford to throw it away based on the faulty logic of one person.

So as I said, <time> hasn’t disappeared from HTML. It’s still there on millions of sites already. And nothing is stopping us from putting it on millions more. It’s our chance to send those <data>leks packing. As soon as this post is finished I’m going to edit my site’s theme to make use of <time>. Hixie can go stuff it.

Occupy HTML5.

410, the Croatoan of the Internet

Wednesday, October 5th, 2011
CSSquirrel #87: '410', the Croatoan of the Internet

Last night Twitter was home to a small, short storm of activity around the disappearance of Mark Pilgrim. Which was downgraded to the disappearance of Mark Pilgrim’s websites. Today’s comic (which features Eric Meyer and a random Internet jerk) is not meant to directly relate to Pilgrim’s situation. I’ve certainly poked at Mark before from this site, but I doubt whatever situation made him decide to 410 his online world is a laughing matter. For that matter, it’s also not any of my business.

I was impressed with the speed of online responses to the situation. Tweets led to emails, which led to people scouring contact records, which led to calling the police to get them to check on him. It was a fast, modern response to what could have been a crisis situation, and it helped restore a bit of my faith in people.

At which point, the trolls rolled in.

Meyer made a post about Mark’s online disappearance, pleading for assistance in confirming if he was ok. What followed in his comment section were mostly people hoping for the best or brainstorming ways to contact him.

Then there was a handful of thoughtless comments like this.

I completely agree with Jeremy Keith when he rails at companies like Yahoo for permanently destroying massive corners of the Internet. The thousands of people that made sites (hideous or otherwise) there weren’t the parties responsible for the destruction of the content. In some (admittedly few) cases there were even people still using the aging “first city” of the Web. But there’s also no doubt that many who had made sites there, such as online picture books of their family history, expected their efforts to last forever. Only to have some jerks bulldoze their memories, destroying a huge part of the early Web’s history in one foul swoop.

But when a creator decides they’re done with their own work, let’s not get on our high horses and deny them the right to terminate their own creative endeavors. Is Mark obliged to pay monthly fees for his own websites if he tires of them just because others find them useful? Does a webcomic artist have the obligation to keep his scrawls online forever just in case fans come back to look at them years hence? Does a teenager need to keep all of their embarrassing Facebook posts about how they were crazy-in-love with some girl for 36 hours just so we can all gawk later?

God, I hope not.

Look, if others want to make archives of existing sites in case they go offline, then do so with my blessing. I think preserving our legacy of websites is far better than losing them. But to expect the creator of any work to preserve their own original copy of any piece seems a bit strange. To call them selfish for getting rid of it so is doubly absurd. Should I have preserved every crayon doodle I made in the first grade?

I’ve never seen the 410 status code before now. It’s a strange beast. “Site’s gone, not coming back, move along!” Despite the fact that the Internet’s many sites are so easily lost, we tend to think of them as cast in some sort of digital stone. The idea that a useful site would go away, permanently, on purpose even, is almost too much to accept. But they can go, whenever the authors want.

To me the idea of deliberately burning my own sites seems like it’d be a pity. I did put all the effort into them after all. But I think we all need to remember that there’s a big difference between Nero burning Rome and Mozart throwing away compositions he’s no longer pleased with.

Mark’s many contributions would be sorely missed if they were truly, completely gone. I understand the pain of losing a valued resource. But as others have said, we still have access to archives of them. As for his own sites, they’re his to burn. Here’s hoping he’s going to be ok.