My last project for Eric was building a system for him to run a weekly photo competition on Wetpixel.com. This turned out to be a bit larger project than we thought, but we also added a bit more to the system than we’d originally planned.
Using the admin interface, Eric and the other Wetpixel admins can create future competitions and they are automatically turned on and moved from the entry stage to the voting stage to the closed stage with winners being picked. Visitors get to upload their photos and enter information about them as competition entries. The photos are then resized to a few preset sizes while the original image is archived. Visitors can also add comments on the entries, etc. It even supports “ranked” competitions (pick your top 3 photos, in order) and “scored” competitions (rate each photo on a 1-10 scale). There is still a little to be done still on my end, but Eric says that it’s been working out well so far.
A couple weeks ago, I started thinking about trying to introduce a voting system for FeedLounge features. The idea was to reduce a little of the potential “vocal minority” effect that can sometimes occur in the forums, give the users a way to make their voices heard as a group, and not lose great feature requests just because they got pushed off the first page in the Feature Requests forum.
I thought about trying to showhorn in an existing mod for a voting system into the forums themselves, but none of the systems I found really supported the requirements I had in mind:
- Items can be added at any time.
- Users can change their votes at any time.
- Users can give weighted votes to more than one item in the list.
- Votes are shown publicly.
- Integrated with the forum login so that both FeedLounge users and potential users can participate.
I chatted Geof up on the topic since he’s got experience running a forum community, but he didn’t know of an ideal system either. It was about that time that I started considering re-purposing the Wetpixel photo competition code.
The system had intentionally been built in a somewhat generic way as Eric thought he might want to run other types of competitions on it in the future, so there wasn’t that much that had to change for me to use it to drive the feature voting for FeedLounge.
In the FeedLounge feature voting system, there is only one “competition”: FeedLounge features. Each feature is an entry, and I repurposed the comment system to allow us to attach forum threads to each feature for discussion. The only code I really had to write was voting results display. The list itself is quite different than the Wetpixel competition entry display and the Wetpixel competitions don’t allow voting and entries at the same time.
I’m pleased that the system is working well in both places, and that I was able to re-use it to create the FeedLounge feature voting system (instead of writing something custom).
If I hadn’t just told you they were using the same engine, would you have known?
Popularity: 5% [?]
Eric Cheng adds this Comment:
Very cool, Alex! I’m glad writing it to be generic paid off. The Wetpixel folk are really enjoying the POTW system.
February 10th, 2006 at 9:10 am
Geof F. Morris adds this Comment:
:chuckle: I’m surprised that you saw that comment in that entry to comment on it.
Glad you got to do some good code re-use!
February 10th, 2006 at 10:31 am
Alex adds this Comment:
It actually came up in the del.icio.us/tag/feedlounge feed before your daily linkdump hit your site.
February 10th, 2006 at 11:13 am
Geof F. Morris adds this Comment:
Ahhhh … I didn’t know that you aggregated that. Cool.
February 10th, 2006 at 2:51 pm
Eirik adds this Comment:
What I really like the most about the software you make is how easy it is to use, and the simple elegance of your solutions. The way the voting system is implemented for FeedLounge is a good example
February 11th, 2006 at 2:57 am
Alex adds this Comment:
Thanks Eirik!
February 11th, 2006 at 11:00 am