Social software design (anti-)patterns
August 9, 2009 1:32 AM   Subscribe

Yahoo!'s Christian Crumlish puts forward five principles of good social software design, and five anti-patterns, or ways to get it wrong.

The anti-patterns will undoubtedly be familiar to most people from sites they have used:
Briefly, the Cargo Cult means imitating superficial features of successful websites and applications without really understanding what makes them work. Don't Break Email warns against the practice of using email as a one-way notification or broadcast medium while disabling your users' ability to hit reply as a normal response. The Password Anti-Pattern is the pernicious practice of asking users to give you their passwords on other systems so that you can import their data for them, thus training them to be loose and insecure with their private information. The Ex-Boyfriend Bug crops up when you try to leverage a user's social graph without realizing that some of the gaps in a person's network may be deliberate and not an up-sell opportunity. Lastly, a Potemkin Village is an overly elaborated set of empty community discussion areas or other collaborative spaces, created in anticipation of a thriving population rather than grown organically in response to their needs (see also Pave the Cowpaths).
posted by acb (59 comments total) 24 users marked this as a favorite
Don't Break Email warns against the practice of using email as a one-way notification or broadcast medium while disabling your users' ability to hit reply as a normal response.
I see noreply@ all the time.
posted by tellurian at 2:04 AM on August 9, 2009 [1 favorite]

Is Don't Break Email an antipattern, or a good social software design?

And the Give Me Password anti-pattern is maybe overstating the case; I wonder how many people reuse their Yahoo logins and passwords. This is just making the relationship explicit, I'd argue.
posted by pwnguin at 2:06 AM on August 9, 2009

Look at the Give me Password example pwnguin. I've come across that before (can't think where just now), but it's downright dangerous to get into that sort of habit.
posted by tellurian at 2:30 AM on August 9, 2009

The point of avoiding the password anti-pattern is that, by asking people to enter their credentials for another site into your site, you're training them that that is an okay behaviour to do -- in other words, making their brains more susceptible to phishing attacks.
posted by chrismear at 2:32 AM on August 9, 2009

This is an interesting summary, thanks. There's more good stuff on the Designing Social Interfaces patterns wiki.
posted by Elizabeth the Thirteenth at 2:42 AM on August 9, 2009 [1 favorite]

I see the cargo cult anti-pattern on numerous blogs in the form of that highly annoying "Share and Enjoy!" bullshit Wordpress social media plugin that litters the bottom of every post with a graveyard of gaudy and annoying icons, as if I'm just dying to submit some shitty blogger's diarrhea to reddit, digg, linkedin, and facebook. (And, on the rare occasion that I might wish to, I am perfectly able to go to the site and submit it with a properly contextualized headline without some crappy icon's help.) Yet every blogger and his brother seems to install that crap because somebody told them that it might generate more traffic for them, or something. Fortunately, Wordpress plugins have a predictable URL scheme and it's easy to block "wp-content/plugins/sociable" and a half dozen other similar widgets in Adblock.
posted by Rhomboid at 2:58 AM on August 9, 2009 [2 favorites]

I'm not sure anyone at Yahoo should be holding forth on community-building, but most of these points are solid, even if Yahoo themselves breaks them often.

"Give me Password" functions have always annoyed me for the reasons stated above: it's going to be appealing to newbie users ("look how easy!") but you're absolutely training them to be phished so easily in the future.

When SiteA asks for my password to SiteB, the hairs on my neck stand up.
posted by rokusan at 3:46 AM on August 9, 2009

The breaking-email pattern like is not anti- in that it doesn't give out the sender's private email to someone that he/she might not want it to go to.
posted by octothorpe at 6:07 AM on August 9, 2009

... but when business came online a bit later in the decade, many of the first business-oriented websites reproduced the remote, inanimate, almost robotic corporate voice you tend to find in annual reports and catalog copy

Considering that this entire article reads like the remote, inanimate almost robotic corporate voice of a training seminar, I anticipate spending the rest of the morning looking for the bits of my irony meter.
posted by localroger at 6:30 AM on August 9, 2009

I was actually reading the Designing Social Interfaces wiki yesterday and the Don't Break E-mail pattern is spot-on. Even if you are e-mailing automated e-mails to confirm stuff, there's no reason why you cannot also automate the handling of replies to such messages. Just add an issue tracking number in the e-mail subject and you've saved yourself a lot of time and work trying to contextualize your customers' emails.
posted by Foci for Analysis at 6:53 AM on August 9, 2009 [3 favorites]

Really, my writing for that academic journal came off as remote and robotic? That is ironic (at least in the Alanis Morisette sense)...

...and btw, I'm well aware that Yahoo! and just about every other major site of any kind is guilt of exhibiting at least some of these five antipatterns. It's part of my job as the curator of our pattern library to spotlight good design principles and advise Yahoo product designers.

I suppose I could just shut up out of shame because hipsters don't like my employer!

For people with constructive criticism, drop by the wiki and set us straight, please. Thanks...
posted by xian at 7:51 AM on August 9, 2009 [7 favorites]

Interesting development.
posted by tellurian at 7:58 AM on August 9, 2009

Did we all just get called hipsters?

That's a new one.
posted by rokusan at 8:04 AM on August 9, 2009

Maybe he was being ironic (at least in the Alanis Morisette sense)...
posted by ocherdraco at 8:10 AM on August 9, 2009

What do you mean "we," white man?
posted by xian at 8:10 AM on August 9, 2009

According to rokusan's profile, he is actually a white cat. I don't think it's appropriate for a representative of a major company like Yahoo! to be so cavalier and racist.
posted by jock@law at 8:17 AM on August 9, 2009

perhaps not, if you have no sense of "irony" (look up the phrase "what do you mean we white man" or "what do you mean we kemosabe" in your favorite search engine before I end up having to get a beer with Obama on the White House lawn)...
posted by xian at 8:21 AM on August 9, 2009

This just got interesting.
posted by purephase at 8:30 AM on August 9, 2009 [1 favorite]

You don't want to pave all the cowpaths. That's why there are persistent classes of Metafilter responses that need to be pruned.

Though, to contradict myself, the Usenet creation of alt.flame and talk.abortion did help more than hinder.
posted by Obscure Reference at 8:34 AM on August 9, 2009 [1 favorite]

(I do wish I could fix the guilt/guilty typo in my first comment, except fixing typos might be a remote, inanimate almost robotic corporate thing to do.)
posted by xian at 8:34 AM on August 9, 2009

Really, my writing for that academic journal came off as remote and robotic?

Well, isn't this interesting.Smart Guy(s) collect interesting collection of "patterns" of online social interaction, then immediately discover the brand-new "thin-skinned poster" pattern. ;->

The way I see it, this is how online discussion decays. The clash between the difficult task of communicating in text and strong emotions brought on in the rush to express a strongly-held opinions leads to degraded conversation.

While the Yahoo work is interesting, I think that mediating this "thin-skinned poster" chief feature would go a lot farther in making "social networking" better.
posted by sporb at 8:36 AM on August 9, 2009 [3 favorites]

The flame.ind conference on the Well is a similar idea, O.R.

I think that may be a different pattern, perhaps call it "Quarantine" but that's not quite right either. I suppose it is a form of P the C in that it does involve supporting (rather than trying to stamp out) an existing behavior but it also involves channeling it and separating it from the main herd.

Definitely agree the Pave the Cowpaths is a nice high level observation but not something that inherently needs to be played out to the nth degree.
posted by xian at 8:37 AM on August 9, 2009

@sporb I think you're spot on - I should probably have kept my distance.

I really do enjoy disagreement and ideas that challenge what we've gathered and put out there. None of it is intended as a last word on anything. At best, we're trying to capture what a lot of people have noticed and put it all in one place.

My impatience has more to do with what I perceive to be cheap shots, but that doesn't really justify me getting into a pissing war, so I apologize for my intemperance, hope I'll hear more suggestions about what works and doesn't work socially online (even when ironic or meta-self-consciously-circular), and resume lurking now.
posted by xian at 8:41 AM on August 9, 2009

I'd like to propose two other anti-patterns, often seen on MeFi:

- Failure to take criticism of your work with a modicum of grace.

- Aggressively injecting yourself into a discussion about your work.
posted by mkultra at 8:43 AM on August 9, 2009 [8 favorites]

I should probably have kept my distance.

NO! Of course not! Another pattern might be described as "taking public responsibility". You came right out and said: "This is my work you are talking about it" - the anti-lurker pattern if you will.

mkultra's first point is a good one, tho
posted by sporb at 9:00 AM on August 9, 2009 [2 favorites]

xian: perhaps call it "Quarantine" but that's not quite right either

A wise man once described it as a "release valve" which I think hits the nail on the head.

As for your participation here, we love having people related to the story get involved in the discussion. We get the opportunity to see some of the behind-the-scenes that went into the original post (which can help us get a better perspective on what you're saying), and you get to be part of the discussion as more of a peer (which can help you develop your ideas and presentation).

Two words of advice though:

First, don't take shots against your writing style or employer personally. They're not personal. The people saying it don't know you and constructed those statements for an audience that didn't include you. As long as you participate in the thread civilly, I doubt you'll see much of that continue now that you're an actual person instead of some distant blogger. You may still get criticism, but it'll be offered in a more constructive way.

Second, be wary of trying to manage the discussion. You don't have to address every point personally, there are plenty of voices around here on any conceivable side of the argument who will be more than happy to weigh in. In my MetaFilter experience, the best Person Of Interest drop-ins have been the ones where the POI shared a small handful of insightful, tightly-focused comments instead of treating the thread like a Q&A session.

Just some thoughts, I hope you stick around. I liked your article and wish more sites took those messages to heart.
posted by Riki tiki at 10:30 AM on August 9, 2009 [4 favorites]

Honestly, the more I learn about Yahoo! the more interesting it gets. Yahoo! has some very, very smart people working for it, at least on the technical ends of things. These people often seem to be encysted off in some fashion, sadly, because much of their brilliance does not appear to make it out to the end user. Instead, you can see a long-term pattern of both bad corporate strategy and terrible user-facing "improvements" that has been going on for nearly a decade now. It's a shame Yahoo! either cannot or will not listen to its smart people. I hope they can at least learn from the errors of the company and take that as a springboard to better things at another job.

I know "patterns" is accepted lingo, but I really hate the use of "anti-patterns." What does that mean? Is it Chaos to the Amber of Patterns? Are they things that destroy patterns? Are they critical exceptions to patterns which are themselves useful? I'd have gone with The Princess Bride approach and called them "Classic Blunders."
Ha ha! You fool! You fell victim to one of the classic blunders! The most famous is never get involved in a land war in Asia, but only slightly less well-known is this: never teach your users to yield up their passwords when identity theft is on the rise!
posted by adipocere at 10:35 AM on August 9, 2009 [6 favorites]

I have trouble with that term sometimes as well, adipocere, but I think what distinguishes it from a "blunder" is that an anti-pattern seems like a good idea at first glance (or at least a neutral effect of something else you think is "good"). I think the article could have stood to expand upon its examples a bit more, explaining not only what they are but why you might have implemented them in the first place and the harmful results of doing so.

The Cargo Cult seems like a good idea because you don't want any customer to dismiss your product just because it doesn't have a particular feature checked off... but treating features as a true-or-false switch leads to present, but crappily designed features.

Breaking email seems like a neutral effect because you can just say in the email that replies will be ignored. Meanwhile, it allows for broadcast announcements without having to build a complex response tracking system... you probably assume that any customers with a problem will go to your support page (or whatever you've implemented). The problem is that hitting "reply" is the low-hanging fruit if you have an issue with an email you received, and if you don't allow for that then you may never hear about those issues. The user may just quit your service for a reason that's completely invisible to you.

Others have already explained the problem with The Password Anti-pattern, but just to reiterate... as nice as it is to be able to automatically import your users' information on a related site for them, it encourages Very Bad Habits that can come back to bite you down the line.

The Ex-Boyfriend Bug is a side-effect of a good idea: that you can usually predict things about social relationships from your current information (Facebook's "suggested friends" feature has been very helpful to me, for example). However, while there's little risk in ignoring those predictions if they're right, there's a lot of risk in acting on those predictions if they're wrong.

And finally, the Potemkin Village is pretty straightforward. You have a Vision for your site... maybe you want it to be a place where people can discuss and review films. In your mind, it makes sense to implement a five-tier comment system where users can rate movies on script quality, cinematography, etc. But your users just want to exchange paparazzi photos of movie stars, and you spent so much time on a system that no one cares about that you didn't implement image linking or searching by actor name. And now you have no customers.

The Potemkin Village is really the Potemkin Valley; it's the gap between what you want the site to be and what your customers think it already is. If you're trying to win customers, it's your job to cross that gap instead of trying to make them do it.
posted by Riki tiki at 11:03 AM on August 9, 2009 [3 favorites]

@Riki Tiki... I'm still here - will jump in if/when I have something useful to add. Happy to see the conversation continue and I appreciate the behavioral-advice reminders.
posted by xian at 11:15 AM on August 9, 2009

xian: "@Riki Tiki... I appreciate the behavioral-advice reminders"

Ooh, well then I hope you don't mind another one. I don't particularly care, but just a heads-up that many people here hate the "@user" syntax for replying to comments. It's not an explicit rule or anything, but there's a long history of people complaining about it. (example)
posted by Riki tiki at 11:20 AM on August 9, 2009

I wonder why the password pattern is an anti-pattern.

I think that that pattern is used by social websites because they want to mine the social interactions of a given person so that they can try to commercialise those interactions.
Being able to scan personal email can be an incredibly rich source. Not only can you build a social graph but you can track the intensity in time of interaction, see if people lost touch and 'need' your website to get in touch again, correlate the email addresses to companies and see whether the interaction was social or business, do some statistical analysis on the content of emails and assign a probability of the nature of the social connection ('romantic', 'family', 'drinking buddies', ...) etc.
That's pure gold for a website. And a marketeers dream.
The downside of this pattern is that people get accustomed to phishing. But nobody will blame you in the foreseable future. Since the pattern is quite common and people remain responsible. There's plausible deniability.
So while it's morally the wrong thing to do the pattern has only benefits it seems to those who employ it. So that makes it a pattern.

And judging from my linkedin account people give their email password to it quite a lot. I keep getting suggestions about people I indeed have worked with while I never gave the site that information. So my former colleagues must have given their password to that site. And let it scan their and my emails.
The knowledge that linkedin has about me and what I do in real life is eerie. If I were a secret service I'd make sure I'd be on the inside of these sites.
posted by jouke at 12:36 PM on August 9, 2009

[...] for a social website [...]
posted by jouke at 12:38 PM on August 9, 2009

Jouke, it's not just about whether you'll be held accountable down the line. If you set a precedent for entering other services' passwords on your site, you're making it trivial to set up a phishing attack that will use your site as a vector for spam and malware.

If you tell users it's okay to trust you with their gmail account info, then they'll probably think it's okay to trust gmail (or with their account info for your site. Then they can get in and access all the infrastructure and data you've painstakingly established for that user, using it to propagate that particular attack and gaining more and more personal information to use however they see fit.

I don't know if the gains to any particular networking site are worth it in the long run (it's certainly arguable). But there's definitely a common cost to social networking sites encouraging this behavior. It might only be an anti-pattern in the sense that it creates a prisoner's dilemma punishing sites that do the right thing only if there are other sites that don't.
posted by Riki tiki at 1:04 PM on August 9, 2009

That may be, riki tiki.
But any discussion of that password pattern that leaves out any mention of those 'benefits' seems terribly naive to me.
posted by jouke at 1:31 PM on August 9, 2009


Since when did the word "pattern" come to represent a value judgement? The opposite of "pattern" is, as far as I can tell, "chaos" or "randomness". But that's not really what you're talking about, is it? You're talking about good patterns and bad patterns, not patterns and randomness.

Or is this just another word like "monetize" that I just can't fucking stand?
posted by Jimbob at 2:27 PM on August 9, 2009

Oh, I see adipocere already said that. I'll just make the point that people who talk about this stuff are descending into jargon, in the most negative sense of the word.
posted by Jimbob at 2:44 PM on August 9, 2009

No, it's a technical term, like bus, packet, port, and function - each of which was appropriated from the English language because there are no nouns to describe what's going. For a concept that's best served by a single-word noun, words are going to be made up or appropriated or both.

Why? Because the topics are complex, the metaphors deep and broad, and if we needed to explain everything to you in grammatically pure sentences, we'd start sounding like Mojo Jojo and take an hour to cover topics that need to be covered in a few seconds to see the larger point.

Try to figure out what's going on from context before bitching that your precious language is being sullied. If you can't, then chalk it up to being outside your area of interest, or take the time to educate yourself. We're not going to do it for you, especially for something like an anti-pattern.
posted by Slap*Happy at 3:30 PM on August 9, 2009

The word pattern (shorthand for design pattern) in this context refers to a tried-and-true solution to a common problem. An anti-pattern, then, is a bad solution to commonly occurring problem.
posted by !Jim at 3:42 PM on August 9, 2009

I'm sorry. When someone is talking about ideas like "Don't ask for people's logins for other sites", and "Gaps in social networks may be there for a reason" as if they were are major breakthrough, when they are in fact bleeding obvious, I didn't realize I was dealing with some sort of elite academic topic.
posted by Jimbob at 3:42 PM on August 9, 2009

Since when did the word "pattern" come to represent a value judgement?

It's all because of this book.

It has nothing to do with value judgements.* "Design patterns" is simply a trendy way of saying paradigm, which is itself an overused, under-understood word hijacked by corporate idiots to make their sales brochures look smarter.

A good example of a paradigm is a good example, if that's not too meta- for you.

*And why in the fuck does judgement have a red "misspelled" underline 'neath it, Firefox? You are fucking wrong, Mozilla foundation.
posted by Civil_Disobedient at 3:42 PM on August 9, 2009

Thank you, !Jim, I appreciate the clarification. Although why "good solution" and "bad solution" don't suffice, I'm unsure...
posted by Jimbob at 3:44 PM on August 9, 2009

If they were really bleedingly obvious, they wouldn't happen, and yet they do. Things that seem clear to you are not always clear to other people.
posted by !Jim at 3:45 PM on August 9, 2009

That didn't sound so condescending in my head, sorry.
posted by !Jim at 3:48 PM on August 9, 2009

Mozilla's judgment is not to be questioned on this. Unless you're in Canada or Australia.
posted by Slap*Happy at 4:00 PM on August 9, 2009

xian, once the book is out, will the wiki be finished?
posted by Foci for Analysis at 4:09 PM on August 9, 2009

Foci for Analysis, good question! No, we expect to keep the wiki alive in the manner of an unbook. (Some of the more stable patterns will also migrate into the official Yahoo library.)
posted by xian at 4:15 PM on August 9, 2009

Jimbob -- a design pattern isn't just a solution. It's a solution paired with a problem. Having a list of patterns is useful because it prevents everyone from having to re-invent the wheel all of the time.

'Anti-pattern' does grate a little bit, though.
posted by empath at 5:19 PM on August 9, 2009

Also -- a pattern implies a certain level of generic-ness, where-as a solution could be a one-shot deal.
posted by empath at 5:21 PM on August 9, 2009

And why in the fuck does judgement have a red "misspelled" underline 'neath it, Firefox? You are fucking wrong, Mozilla foundation.

If you really prefer judgement to judgment, switch to the English / United Kingdom dictionary.
posted by djb at 5:22 PM on August 9, 2009

I know "patterns" is accepted lingo, but I really hate the use of "anti-patterns." What does that mean? Is it Chaos to the Amber of Patterns? Are they things that destroy patterns?

adipocere, if you start calling them Logruses, or worse, Logri, you and I will have words.
posted by immlass at 5:27 PM on August 9, 2009

> An anti-pattern, then, is a bad solution to commonly occurring problem.

Here it seems to be a common design element -- solving a nonexistent problem -- that induces the same identifiable new problem every time it is used. (The Potemkin Village example, for instance.)
posted by ardgedee at 5:32 PM on August 9, 2009

matter : anti-matter :: pattern : anti-pattern

That's how I read it, anyway.
posted by hippybear at 5:40 PM on August 9, 2009

I thought the notion of anti-pattern was obvious to anyone who understood what software Design Patterns were, but maybe that's a smaller set on MeFi than estimated. Patterns are good, reusable designs to solve common problems; anti-patterns are bad designs to "solve" common problems, used repeatedly. Like asking users for passwords to other websites. This happens, because the solution is nearly intractable -- the data you want is locked behind a server you don't control, with only one way to access it (I think this is another anti-pattern, but one that's probably motivated by profit).

But even if you do solve the data transfer problem, there's still the problem of password reuse. Take an imaginary site: EvilFilter. Signup takes five dollars, an email address, and then you submit a username and password for the site. Evfi isn't required to store your passwords as a hash, and if you use the same password for email as EvFi, they now own you, and your paypal. Hacks like Pwdhash cure this as a side effect of phishing prevention, but do nothing to solve the problem motivating password sharing.

But my question was more towards naming conventions. If "Don't Break e-Mail" is an anti-pattern, then "Break e-mail" would be the pattern, and that's stupid and contrary to the article. If you don't iron double negatives out of your technical article, it undermines any authority Yahoo! Design Pattern curators may have had.
posted by pwnguin at 7:34 PM on August 9, 2009 [2 favorites]

If you think of a pattern as something that is a default for repeating a good practice (tailors use patterns for clothing, metal workers use patterns for what they build, etc.) that has good results. Calling something that does not work well or causes harm a non-pattern is not correct as there is repetition, but the pattern does not have positive outcomes. The anti-pattern is something that goes against the positive intention of a pattern.

Web developers and web designers use patterns to short cut to interactions and designs that people who will use their sites and services will understand. There are a lot of less than useful patterns being used these days that are far from optimal. There is a gentle balance of using the tried and true patterns that work decently and trying new ideas based on feedback and observations to reach a more optimal result.

Understanding what patterns to use often leads to people building pattern libraries to look at all possible solutions, which is something Yahoo has done. Not only did Yahoo do this for its own uses, it opened it up for all to use and look at. Xian has been the keeper of that resource (he still may be), but it is one that many outside of Yahoo have used extensively.

There is one anti-pattern that does have validity with certain people using services and that is the e-mail notifications with noreply@. Many people using systems still use their e-mail to track the flow of information, while most people who live in social sites use RSS/Atom or other options. Many mainstream products (particularly used inside organizations) offer e-mail distribution of status as one viable options for distribution as that is where people do their aggregation and filtering of information.
posted by vanderwal at 7:50 PM on August 9, 2009

The knowledge that linkedin has about me and what I do in real life is eerie. If I were a secret service I'd make sure I'd be on the inside of these sites.

Google "Facebook +CIA" sometime for kicks.

"Who benefits?" is the best razor in the history of razors.
posted by rokusan at 1:41 AM on August 10, 2009

f you really prefer judgement to judgment, switch to the English / United Kingdom dictionary.

I prefer judgement, but I do not prefer colour (pronounced like velour).

Perhaps I shall invent a new language. With judgement and colors, measured in meters but also in Fahrenheit. A new utopia!
posted by Civil_Disobedient at 3:06 AM on August 10, 2009

But any discussion of that password pattern that leaves out any mention of those 'benefits' seems terribly naive to me.

It's because these are two separate things -- first, the raw concept of integration with third-party services, and second, the manner in which the user grants access to their account on the third-party services.

Useful integration features with third-party sites (social mining, importing contacts, etc.) are undoubtedly a good and neat thing. But doing it by asking the user to surrender their username and password to that site, and then scraping the HTML from that site or whatever, is brittle and bad from a security perspective. There are better ways to do that integration -- APIs, and authorisation technologies like OAuth -- which are more reliable, and allow the user fine-grained control over the access they're providing.
posted by chrismear at 4:01 AM on August 10, 2009

The Potemkin Village is one I've seen a lot on brand-new forums - someone sets up a forum on a broad topic, and divides it into a dozen sub-forums for some reason (Topic At Home, Topic At Work, Topic Suggestions, DIY Topic, Topic Photos, Topic Jokes). And then the 20 people who've joined end up with their conversations spread all over a site, and it takes forever to check everything to see if anyone's posted a reply or started a new thread. Meanwhile, new visitors think the forum looks abandoned because it's so slow-moving.

But if they'd just had 2 sub-forums (Topic and Off-Topic are good starters), then it looks more active and people "bump into" each other more frequently. Don't add sub-forums until there's a demand for them, it just fragments your group.
posted by harriet vane at 4:05 AM on August 10, 2009

Right... if any actual people meet and communicate in your forums, they'll let you know when it's time to fork off a new sub-area.

The points about the appeal of the Password Anti-Pattern are well taken. There's a reason why it's used so often (I believe Delicious, a Yahoo property, is using it for their Twitter integration that just shipped, even though Twitter provides oAuth support, so that gives you an idea of my enforcement authority) - it's convenient and powerful (for both the user and site, although most of the power accrues to the site).

Anti-pattern as a term *is* jargon, but I hope it doesn't perform as cant, excluding people. As noted above, we inherited it from the Gang of Four school of design patterns (Christopher Alexander used neither the term "anti-pattern," hyphenated or otherwise, nor "design pattern" for that matter) and it denotes a useful concept: something that "seems like a good idea at the time" but creates negative consequences that ultimately require the application of further solutions.

The truth is that what we call an anti-pattern may be thought of as a pattern that's almost always a bad idea. Any pattern is only a good idea in the appropriate context and most can easily be misapplied. In our pattern collection, for example, we don't brand Leaderboard as an anti-pattern although a majority of the examples we see out there are misapplied and create the problem of optimizing the wrong behavior.

Even the password anti-pattern has a spectrum of badness. The worst example would be a site that deceives you about its plans to spam your address book or keeps your password and uses it for nefarious purposes (sells to marketers? to continuously spam your address book). Sites like this exist but the next shade of slightly less evil is much more common: the UI perhaps with a checkbox that tends to fall below the fold, *tricks* most new registrants into agreeing to spam their address book. worked that way last time I checked.

Then there are the cases of "really just this one time for this one useful purpose, you trust us, right? our office is near the ballpark in SF" that may be much better intentioned but still erode people's habits in terms of their personal security.

Dag I'm longwinded this morning.... just found a lot of food for thought in the discussion upthread. Thanks!
posted by xian at 8:34 AM on August 10, 2009 [1 favorite]

« Older Kevin Smith on strip clubs   |   Plagarism and the art school Newer »

This thread has been archived and is closed to new comments