Skip to content
(an inspirational speaker, to her audience) I want you to say, Yeah! My life is one big non-semantic div! And I want my life’s code to start validating!

I’m OK, You’re W3C.

I’m OK, You’re W3C. published on 1 Comment on I’m OK, You’re W3C.

So. Many (eight) years ago, I drew a cartoon that came to me while I was at Web Directions North. The inspiration was a keynote by one of my web heroes, Molly Holzschlag, titled Crimes Against Web Standards. And it was great.

So I drew that cartoon and posted it, and Molly reposted it on her blog with some very kind words — and the comment “I had this passing thought that the guy should be female and have curly hair, but that’s just me.”

I didn’t take that as criticism at all — there’s a pretty strong implied wink in her comment — but it still stung to realize what I’d done: for the last eight years, I’ve wondered off and on why the hell I drew that speaker as a guy when a woman inspired it. Now, assuming that any speaker at a tech event must be male is not a rare ailment, but I’m not proud that I have the odd flare-up myself.

In the meantime, I’ve followed Molly’s career and web standards advocacy, as well as a grave health crisis (one that should shake anyone’s belief in the robust integrity of Arizona’s health insurance system) with respect and admiration in equal measure.

When I saw Molly pop up in my mentions a while ago, I finally decided that I’ve had enough of that cartoon hanging out there, and I’ve redrawn it. No, the woman in that cartoon isn’t necessarily Molly Holzschlag circa 2007; she’s just a very dynamic, inspiring speaker who is female and has curly hair. (This disclaimer is necessary not because I don’t want to draw Molly, but because my record as a caricaturist is pretty hit-and-miss, which I suspect this cartoon establishes nicely.)

Thanks for all you’ve done for the web, Molly. This cartoon may be eight years late, but your work is no less timely.

And what the hell does this function “Arrrrggghhh-ulk!!()” do?

And what the hell does this function “Arrrrggghhh-ulk!!()” do? published on Purchase print

I will consider it a personal failing if I can’t get a Ouija board with a pipe character, angle brackets and shebang up on Etsy by the end of the year.

By the way, the Ouija board was one of three options I was considering for this caption. I’d sketched up a corpse being reanimated…

sketch of a corpse being reanimated

…and a seance…


…but landed on the Ouija board. That was partly on Alex’s recommendation, and partly so I could draw it while the kids were falling asleep without scaring them into a night’s insomnia if they happened to catch a glimpse.

Knowing why Apple rejected you? There’s no app for that

Knowing why Apple rejected you? There’s no app for that published on No Comments on Knowing why Apple rejected you? There’s no app for that

Apple takes its role as walled gardener pretty seriously. They want you to see your iDevices as safe places that would never do you harm (well, other than taking you to the In-App Purchase Cleaners with children’s games… but that’s a rant for another time).

But they’re a cop without a judicial or legislative system. There are some guidelines — but they’re often vague and inconsistently applied. There’s a sort of court of appeal — but not the kind that holds public hearings or issues helpful explanations of their rulings. And some rules seem to be aimed more at protecting themselves from controversy (or perhaps market reprisals from miffed government officials) than protecting users from malware.

I feel for the iOS developers out there who want to try something genuinely innovative in an area that hasn’t been mined to death already. There’s that very real risk that they’ll invest time and imagination into a ground-breaking app, only to have a reviewer at Apple come up with a reason to block it… or at least take long enough to approve it that the project falters.

Not that it happens all the time, or even most of the time. But enough that I worry it chills innovation, and tempts adventurous developers to play it a little safer, and stick to the stuff Apple’s known to approve.

“Hello world” problems

“Hello world” problems published on No Comments on “Hello world” problems

Originally published on ReadWriteWeb

If you’re commenting on a tech story that involves a change that upset some people, and you’re not one of those people, it’s incredibly important to explain why those people are wrong to be upset. (Not that you don’t understand why they’re upset – that they’re wrong. See the difference?)

Problem is, you may be new to tech comment threads, and your instincts may lead you to make rookie mistakes, like:

  • putting yourself in the other person’s shoes
  • reading their comment past the first six words
  • reflecting before replying, while replying, or after replying

But don’t worry! Yes, you were wrong (see how easy that is to say?), but it’s never too late to learn how to dismiss other people’s points of view. Here are some classic moves that are proven winners, in the all-important sense that someone else loses:

Other people have bigger problems! They’re complaining about a bug? Point out that in Syria, the government is massacring their own citizens by the thousands. Yeah, that week’s worth of work that was lost thanks to that server failure doesn’t look so all-fire important now, does it? (The beauty of this is you can almost always find someone with bigger problems. “You only have three minutes left to live? This guy next to you has only two minutes!”)

You should be down on your knees in gratitude! They don’t like the new terms of service that pledges their vital body organs to a social network’s CTO? Tell them to stop bitching about the ***free*** service that the company is giving them out of the goodness of their hearts, asking only for their time, attention, content, data lock-in, personal information, clickthroughs, friends’ personal information and a multi-billion-dollar valuation the day they go public.

You upgraded too early! They’re complaining because printer drivers aren’t available yet for the latest version of the OS? That’s the price of living on the cutting edge! Suck it up!

You should have upgraded! They’re complaining because the only printer drivers available are for a version of their OS released last Thursday? That’s the price of driving in the slow lane, Grandpa! Upgrade or die!

You’re doing it wrong! They’re complaining because they can’t automatically post to GripPnar any more from QiggLope using the “Klarg This” button? That’s because they’re too stupid to use your clever technique, which uses a simple Python script, sixty-two metres of duct tape, a goat’s right ear, and a Beowulf cluster positioned in the exact geometric center of Stonehenge. Easy-peasy… unless you’re a moron.

You’re a prima donna! Ooo, Mr. Fancy-pants My-Smart-Phone-Can-Receive-AND-Send-Data is upset because the network was down for three days without notice? Why doesn’t he take his latte-driving Volvo-sipping Armani-eating sushi-wearing ass back to the lawn-bowling club?

Oh, boo-hoo! This is a handy one when you don’t actually have a coherent reason to disagree with someone. Also useful (and always funny and original, no matter how many times you say it): “Call the waaaah-mbulance!”

So that’s seven ways to avoid having to put yourself in someone else’s shoes (a proven cause of athlete’s foot) or see things from their point of view (a proven cause of pink eye). Got any suggestions of your own?

Not that I’ll be listening.

Turns on a dime. Whether you want it to or not.

Turns on a dime. Whether you want it to or not. published on 4 Comments on Turns on a dime. Whether you want it to or not.

Also, it would yell loudly about who you were, where you were going and who you were going to meet there. There’d be a switch to turn that off. It would be located behind the catalytic converter on the underside of the car, and would be functional only when the car was moving at freeway speeds.

* * *

An interesting conversation unfolded after this first appeared on ReadWriteWeb. Here’s what I wrote there:

For those of us who develop apps or manage engagement strategy, is there any platform more infuriating, any terrain less stable, any regime more prone to arbitrary and capricious rule changes than Facebook?

Goodbye “fans”; hello “like”. Goodbye boxes; hello profile tabs. Goodbye contests-with-dairy-products-as-a-prize; hello you-can’t-have-contests-with-dairy-products-as-a-prize.

I’ll say this much: My work in Facebook has allowed me to better embrace the impermanence of all things.

A commenter suggested this is a radical field, change is to be expected, and (to paraphrase) roll with it, dude. I replied (grumpily) that “constant incremental Agile-style change, I can cope with. More significant change based on some kind of rationale or, better yet, roadmap, I can embrace. But for years, Facebook has been notorious for dropping bombshells from out of the blue, and making unannounced or poorly document under-the-hood changes that break apps and make developers’ lives hell.”

Can you tell I carry a grudge from the promotion guidelines fiasco?

Anyway, what do you think? Do I need to lighten up and embrace Facebook’s turbulence, even when clients’ budgets are on the line? Or is that just giving in to (quote from that same reply) to “disregard for customer, user and developer communities”?

PhoneGap in action

PhoneGap in action published on No Comments on PhoneGap in action

Brian Leroux, Filip Maj and company were in rare form at OSCON this morning, demoing PhoneGap, Nitobi‘s open-source mobile app development framework. PhoneGap solves two big problems for mobile developers: the number of platforms you need to develop on, and the number of app stores and distribution channels you face.

I was there, stylus in hand, to capture the broad strokes. What I didn’t get down here was the very cool experience of watching them create and launch an Android app in just a few minutes. (Thanks to a document camera, the audience watched the whole thing unfold on-screen.)

Sometimes the jewel in the lotus is Ruby

Sometimes the jewel in the lotus is Ruby published on No Comments on Sometimes the jewel in the lotus is Ruby

Another iPad cartoon, by request from the lovely Alex. And if you’re reading this, you may actually be the perfect person for lululemon’s senior web developer position. (I have no idea whether enclosing this cartoon with your application would be a plus or a deal-breaker; use your best judgement.)