Wednesday, September 12th, 2007
Yahoo! introduces new “Vote to Promote” pattern
<>p>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”.Rationale
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.
Related Content:











do we really need a framework for such a simple task?
@zero0X: Its not a framework being discussed. Its a pattern for solving a specific use case.
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.
@Brian: They should patent those set of rules and demand royalties for it!
The internet seems to be getting jammed with articles about CSC101 topics like they are some new invention.
Rey,
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. :)
Cheers
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.
@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.
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.