Posts Tagged ‘divya manian’

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.

More On HTML5 Semantics

Monday, November 14th, 2011

It’s been a few days since I wrote my post (and comic) entitled The Value of Meaning, wherein I registered my objection to Divya Manian’s article about HTML5 semantics called Our Pointless Pursuit of Semantic Value. In that time there’s been a great deal of continuing discussion on the topic from a lot of intelligent people that’s worth pointing out in case you missed it.

If you have time, you should read all of these. They’re all written by intelligent people getting into the heart of the HTML5 semantics debate with more clarity and detail than I could ever manage.

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.