Posts from 2007

To those of you who build and shape the sites and services we use everyday — and who will create those in the future — I ask for your support. You will be the ones who ultimately benefit by having a Web that works seamlessly and effortlessly across devices, browsers and is equally open to everyone. That new day is just over the horizon…

Yes, it is. Or maybe it was, until this happened.

Look, the time to file this motion and make this appeal was in 2005, when Internet Explorer had been dead in the water for years and it was genuinely holding back web design. Then there’d have been a case to make. When IE7 came out in late 2006, it wasn’t a great leap forward for web development, but it did bring IE more or less in line with where browsers were at the time—which was, frankly, a pretty large leap. After all, they were doing five years of catch-up with a pretty small team. Now we have IE8 in development, and there is a real chance that it could push standards support forward in a significant way.

But not if developing the browser becomes more of a liability than just walking away from it altogether.

They can’t do that, you say? Oh, but they can, and at a corporate level would probably love nothing more than to do so. With Silverlight, there’s the opportunity to create browser-like internet applications that support no open standards, answer to no external specifications. The IE team would likely disagree strongly with such a course, but cut funding to the team and there’s little they can do to change it. If you think web development is horrible now, how about a future where there literally are entirely different browsers to support? Or a future where the open web is largely shriveled and dead thanks to wide-scale abandonment by the Windows community?

I am not advocating that we hold ourselves hostage to what Microsoft, or indeed any company, might try to do. We’re already held hostage enough to the glacial pace of the W3C (and Mr. Clarke has some ideas on how to fix that). What I’m advocating is that rather than attacking the laggard right when he’s showing promise of catching up and being part of the team again, it might be better to help him along, maybe even say a few words of encouragement. Unless, that is, this attack springs out of some sort of perceived threat—in which case, just say so, and don’t use web standards as a fig leaf.

I wondered, upon having this instinctive reaction unfold, whether I was completely off my rocker. But then I asked myself what I’d think if, say, Opera or Microsoft or anyone had pulled a similar move against Netscape circa 2001, when Netscape 6.0 was out and causing widespread grief while the programmers struggled to update and fix its standards support. The answer came back the same.

It’s the wrong move at the wrong time, sending precisely the wrong signal to Microsoft about the importance of participating in development and support of open standards, and I can only hope that it comes to a quiet and unheralded end.

In my never-ceasing struggle to stay up to date on stuff, I occasionally manage to listen to a podcast while doing something else. I don’t have any regular favorites; instead, I just grab whatever’s on tap and try to give it a slice of my attention while answering e-mail or writing markup. It’s not the same as sitting very still and listening with all my attention, but as Jack Bauer would shout, there’s no time!

So a couple of days ago, up came show #5 of Andy Rutledge’s Design View Show. It kicked off with some observations of two fine young chaps, Andy Budd and Derek Featherstone. From there it segued into some good observations on finding purpose and acting in a purposeful way and keeping focus in the face of distractions, topics of recurring interest to me. Things were rolling very nicely, with me nodding in agreement at various points—until, like Jeremy, I came to a jaw-dropped stop right here:

I suggest that if you cannot recognize and acknowledge that purpose in life can only be derived from God, by whatever name you call him, then I’m afraid you do not grasp what “purpose” is. And to you I’d offer my deepest sympathies.

Well, Andy, I’d suggest that you’re wrong, but to do so would be dishonest. There’s no suggestion about it: you’re wrong. It is absolutely possible to grasp the meaning of “purpose” as in “purpose in life” (the sense you used it both there and throughout the show) without relating it to a deity, as I do every day of my life. Unless of course your personal definition of the word “purpose” absolutely requires a deity, in which case, we can write this off as a case of subjective semantic incompatibility and walk away no worse for the wear.

Having opened this door, I feel I should be very clear about my theological placement: I’m agnostic. This is very different than atheism, no matter what some claim. I only bring this up because the vast majority of people reading previous paragraph would reflexively assume I’m an atheist.

Understand that I do not criticize, dismiss, or otherwise demean those who derive their feeling of purpose from a deity, by whatever name it’s called. I think that finding purpose is one of the most important and essential things any of us can do, and it’s not my place to dismiss the paths others take toward that goal… any more than it is theirs to dismiss mine. I’ve stumbled on that point in the past, even doing so once or twice here on meyerweb, and for that I’m ashamed of myself and I apologize.

For all this, I think Andy put together a great podcast with some very sharp, meaningful insights on finding and keeping purpose. I’d recommend it to anyone, especially anyone struggling to find their place or direction in life, with the caveat that there are a couple of bits—like the one quoted above—that should be taken with a shaker of salt. It is not a universal truth that one needs a deity, or even faith in some external power, to find purpose or direction in life. I, and several people I know both in the field and outside it, stand as living proof.

I debated myself long and hard about posting this. In the end, my impulse to challenge ignorance (in this case, the belief that belief in a deity and sense of life purpose are inseparable) won out over my instinct to keep quiet and let sleeping gods lie.

Two months ago, we had someone essentially spam css-discuss by sending a social networking invitation to the list. Now, I’m all for making connections, but inviting close to 8,400 people all over the world to join your favorite new social graph seems a bit, well, anti-social. Further, there was a statement right in the invitation that sending it to someone not personally known was an abuse of the service. Regardless, it was a violation of list policies, so we booted the offender from the list. I followed the “never send invitations to this address again” opt-out link and reported the offender via the abuse reporting address.

I very quickly got back a reponse from the team, expressing regret over what had happened and promising to take care of it. I suggested they domain-block css-discuss.org and webdesign-l.com (you’re welcome, Steve), thanked them for being so responsive, and that was the end of it. Until a few days later, when I got personally spammed from the same user account. I reported them again, this time with a bit of snark, and opted myself out. I didn’t hear a word from anyone.

What we have here is a clear case of bad design causing negative ripple effects far beyond the badly designed site. In the case of css-discuss, over eight thousand people got spammed through a members-only list they’d joined on the promise of high signal and low noise. I expelled a member of that community as a result of what a site did for them thanks to bad UI. I feel bad about that. Had I known, I might have put the account on moderation until they could be reasonably sure things were cleared up with Shelfari instead of just booting them. So I’ve tracked down their address and apologized, which seems the only honorable thing to do.

It may also be the case that bad ethics are as much to blame here as bad design. This is much harder to assess, of course, but the fact that the opt-out action was completely ignored makes me much less likely to chalk it all up to a series of misunderstandings. Even if the Shelfari team was trying to be good actors and bungling the job, it’s little wonder they’re being hung with the spammer tag (the “Scarlet S”?). Automatically using people’s address books to spread your payload is a classic worm-spammer technique, after all.

Given all this hindsight, I’m definitely intrigued by the following passage from the mail they sent me on 14 September:

We make it super easy to invite, but some people just send to all, which isn’t really what we want.

In other words, the very thing they’re apologizing for now, the thing that has caused such a recent uproar, was known to them no later than two months ago. So yeah, no surprise that a whole bunch of folks are not cutting Shelfari even one tiny iota of slack.

Anyway, the bottom line is this: if you’re signing up for a social networking site and they offer to contact people you know or import your address book or things of that nature, be very cautious. And be doubly cautious if you’re signing up for Shelfari.

In an effort to get a handle on my taskflow, I went looking for an organizer application. So far as I can tell, what I want doesn’t exist, but maybe someone can point me to it.

What I really want is a push queue for documents and other data fragments. I’ll call it “Q”, both for the obvious phonic match as well as to score a little ST:TNG joke plus make a Cleveland arena reference. The latter two work because I sort of envision the application as being a very powerful being as well as a large gathering place for data.

The way I envision it, I drag a file onto the main Q window and it’s added to the general pool. Every item in Q can be labeled, tagged, commented, and otherwise meta’d half to death. The queue can be sorted or filtered on any number of things—file creation or modification date, Q addition date, file name, containing folder, tags, labels, and so forth. Also, every item can be assigned a due date.

When I double-click on anything in Q, it opens the original file just as if I’d double-clicked its Finder icon. (I’m an OS X user, but translate “Finder icon” to whatever the equivalent words are in your OS of choice.) So really, Q is maintaining a pool of aliases to the original files, plus any associated metadata. In that sense, it’s like iTunes set to not copy added music to the iTunes Music folder in your home directory. Yes, some people run it that way. And like iTunes, the ability to create smart lists based on tags and comments and such would be really awesome.

I’d find Q deeply useful because as new tasks come in/up, I could drag in whatever file(s) relate to those tasks so that I don’t lose track of what I have to do, quickly tag them and set a due date, and continue with whatever I was working on. There’s room for tons of even more useful features like synchronization across multiple computers, the ability to accept any fragment of data at all as opposed to files, and more, but the core need is a task queue.

To illustrate this with some examples from my recent workflow, I would drag in a copy or two of the IRS W-9 form, a couple of e-mail messages, an invoice, and a Word document containing a set of interview questions. The W-9s would get tagged by the clients’ names, the invoice would be tagged and flagged, and so on. The real key here is that they’d be add-sorted by default, so I can work on them first-come-first-served. Of course, other approaches would be possible with other sorts and filtering.

It seems like, with all the GTD mania floating around, someone would have come up with this solution already, but my searches have so far been fruitless. I tried a couple of applications that seemed like they might be close to what I want, but they weren’t. Am I just using the wrong search terms, or is this something that just doesn’t exist yet?

A while back, my office shredder froze up. And I don’t mean whined and whirred feebly when I fed it something: I mean it was dead silent and completely inoperable. I admit that it had gotten fairly heavy use, as I shred all the unsolicited credit card offers we receive on the grounds that it gives me a comforting illusion of protecting my financial identity. Just go with me on that one, okay?

So I picked up a new shredder the other day and started getting busy with the catch-up. It will come as no surprise that during the shredterregnum, a whoooole lotta envelopes piled up. And since I opted to buy a medium-duty version instead of the $200 monster model, it became necessary to open each offer up and pull out the contents for shredding—just feeding the whole unopened envelope was too much for the blades to handle. While I was at this tedious task, I put aside all the postage-paid return envelopes, since they didn’t really need to go into the maw. I ended up with a stack of two or three dozen.

Well, now what? I could take a page from Chris Anderson‘s playbook and lay down the “turnabout” card: since they sent me unsolicited mail, this is a perfect opportunity to send some unsolicited mail back to them. On their dime, no less. But is that really such a great idea? There’s something about it that rubs me ever so slightly the wrong way, which is odd given my usual penchant for low-level creative anarchy.

So I’m at a bit of a loss. Anyone have a better suggestion for what I should do?

Very little is as mutually exclusive as we seem to find it convenient to imagine. In our culture we are becoming more and more fixated with an “it’s one thing or the other” mentality. You like Thai food? But what’s wrong with Italian? Woah, there… calm down. I like both. Yes. It can be done.

It’s always tempting to make jokes about how computer folks are binary thinkers (har de har har), but the sad joke is that most people think that way, computers notwithstanding. I don’t think we can blame the digital age for “you’re either with me or against me” thought patterns. And those who don’t generally think that way, whether naturally or with effort, get treated with some degree of suspicion.

This is something I run into professionally, not incredibly often but still enough to notice, and it’s frustrating when I do. The only slightly exaggerated version is:

“Hey, do you use Dreamweaver?”

“Nope.”

“Why? What do you have against Dreamweaver?”

If that seems outré, replace “use Dreamweaver” with something else, like “run Linux” or “watch Fox News” or “drive a Chevrolet”.

I wish I could write in 500-foot flaming letters across the skies of every country of the world in localized translations: An expression of preference does not equate criticism of differing preferences. It’s really that simple. My lack of using or doing or watching or liking X does not mean I think people who use or do or watch or like X are subhuman air-wasters, let alone that I claim such a position.

If more people really understood that statement and used it as a principle of daily interaction, I think we’d all be a lot less tense.

Apologies to anyone who tried visiting meyerweb in the very near past and found it broken. I’d noticed that suddenly all kinds of comment spam were getting past Akismet and landing in the moderation queue, and was just preparing to ask the spam-fighters about it when I discovered that the blog portions of the site were throwing a PHP error about not being able to find a function I’d written into a plugin.

At which point I discovered that all my WordPress plugins had been deactivated. I know I didn’t do that, so how they all got turned off remains a bit of a mystery to me. I’ve turned all the ones I need back on, and things appear to be back to normal.

So Akismet wasn’t being evaded by the spam: it was simply switched off. Good thing my non-plugin defenses caught everything that poured in during the outage. Which, come to think of it, must all have been direct-submit spam, since there wouldn’t have been a comment form available on the entire site. So what they were really avoiding was my direct-submission defensive plugin, not Akismet.

Well, either way, other defensive measures protected the site, so all’s well there. I’m certainly not thrilled about the site having been largely offlined for a short period, and again, my apologies to anyone who got blocked from information they wanted.

This episode has actually given me cause to reconsider my usual preference to put site navigation at the end of the document source. When the PHP failed, the navigation was never served up. Had I put it at the top of the page, it would’ve been present even though the blog posts were failing. Getting to the static areas of the site would have been possible. Due to my structural choices, a script failure dramatically affected the usability of the site as a whole.

Something worth thinking about as I slowly work on improving the organization of meyerweb.

I was reading yesterday morning that you bought 1.6 percent of Facebook for $240 million. Congratulations! I hope it’s not too forward of me, but now that you’ve had a chance to recover from the exuberant celebrations that I’m sure accompanied this latest coup, I’d like to humbly point out that you have the opportunity to make an even more amazing investment.

I hereby offer to sell you 80 percent of meyerweb.com for a mere $24 million. Think about it: that’s five hundred times better than your Facebook deal, plus you’d be getting a clear majority stake in one of the world’s leading web sites primarily focused on a three-letter web design acronym written by a tallish redhead living in a lakeshore city in the American Midwest. I know: wow!

After we seal the deal, I’ll just keep doing what I’ve always been doing to make this site as successful as it’s become, and you can just ride the wave feeling amazed that you scored such an amazing bargain. Sound good? Awesome. Call me. We’ll talk.