Wednesday, September 12th, 2007

Yahoo! introduces new “Vote to Promote” pattern

Category: Yahoo!

Yahoo! is known for having a comprehensive design patterns library providing patterns for a variety of use cases. Their newest pattern aims to tackle Digg & Reddit types of scenarios in which a user wants to “promote a particular piece of content in a community pool of submissions”.


This pattern has come to popularity recently (most notably on link-popularity sites Digg, Reddit, Newsvine, among others). Such systems for collective choice are a good way to promote community participation, and provide a low-cost means for surfacing popular content. Note, however, that popular content does not necessarily equate to quality content, so no promises of content quality should be made.

Use When

Use this solution when

  • Users in the community have the ability to submit content to a ‘pool’ of resources.
  • Some democratic form of judgment is needed, to allow the community to compare the subjective quality of one submission to another.
  • A sizeable-enough community is required. Ideally, popular submissions in the pool should receive significantly more (dozens, hundreds?) votes than non-popular ones, in order to make comparisons meaningful.

In addition to the new pattern, Yahoo! has now introduced the concept of a pattern gallery which, in conjunction with diagrams and templates will allow developers to see actual examples of specific pattern usage via a Flickr gallery. The “Vote to Promote” pattern is the first to use a pattern gallery.

Posted by Rey Bango at 6:30 am

3.1 rating from 22 votes


Comments feed TrackBack URI

do we really need a framework for such a simple task?

Comment by zero0x — September 12, 2007

@zero0X: Its not a framework being discussed. Its a pattern for solving a specific use case.

Comment by Rey Bango — September 12, 2007

I read through their analysis, but I’m not seeing how this is anything new or innovative. Their solution is this:

1. User clicks on a submission they like
2. Submission is made more popular
3. Less popular submissions disappear.

Their solution looks like the first draft that any programmer would start out with if given this task. If they tackled how to avoid voting fraud or catch people who purchase votes, that would be worth writing about, but this article is on par with instructions on how to put on a pair of pants.

Comment by Brian — September 12, 2007

@Brian: They should patent those set of rules and demand royalties for it!

Comment by Jordan — September 12, 2007

The internet seems to be getting jammed with articles about CSC101 topics like they are some new invention.

Comment by Andy — September 12, 2007

Your recent posts are good and all.. but they come a little later than the original posts came out. Ajaxian has a reputation for being 0day on a lot of its news and I ask that you uphold it. :)

Comment by Paul Irish — September 12, 2007

It seems some don’t understand the idea of a pattern. The whole idea is that it’s not original! It is a known problem or challenge, a general solution and usually an example implementation.

The reason to write them is to create a library, a knowledge base. It represents the knowledge among a group of people or in a specific field. In architecture, a design pattern can describe a hanging bridge as a means to cross a wide river.

Comment by Mike — September 12, 2007

@Paul: Thanks for the feedback. Unfortunately, I have a day job so I can’t always get 0day news. Hopefully, you’ll continue to enjoy what I put out, even if its not something that was posted on the same exact day.

Comment by Rey Bango — September 12, 2007

Interesting discussion. Yes, the idea of patterns, pattern languages, and so on are to document established working practices that ought to be considered when solving common problems. Fundamentally, we capture the patterns to guide our own designers and to promote consistency where it make sense. The guidelines laid down in Vote to Promote may seem obvious to the reader but, believe me, they are violated frequently.

Also, please note that entry above quotes from the pattern as written but is not the complete pattern itself.

Having said that, there is definitely room to delve deeper into how to prevent voting systems from being games and so on. We don’t intend our open pattern library to be the final word on anything. We welcome feedback, criticism, and so on, and we will link freely to great extensions, child patterns, alternate schemes, and so on. Also, the Yahoo Pattern Library is covered by a Creative Commons license that allows anyone to reuse and remix the content.

One more note, while the legendary Bill Scott wrote and curated a huge collection of awesome rich interaction patterns frequently tied to the YUI codebase, not every pattern in the Yahoo library is going to be akin to a framework for an Ajax interaction.

As we roll out more of this new batch of social media patterns, my hope is that the relationships between the patterns will themselves be useful.

Comment by xian — September 14, 2007

Leave a comment

You must be logged in to post a comment.