Floating Voting (For Plone Enhancement Requests, That Is)
Jul 25th, 2008 by Jon Stahl
Dear Plone community,
Here’s a little trial balloon I’d like to float. Potshots welcome.
I’ve been thinking for a while that we need more structured, scalable ways to listen to our worldwide user community. In particular, I think we need better ways to listen to them for feature ideas, and better ways to understand which of the many great ideas out there would be the most valued for our users.
Community-generated “ideas” sites have become very popular in the technology community in the past year; you can see 3 very successful ones in action over at Ubuntu, at Salesforce.com and at Dell. I think we could get 80% of the bang for 2% of the effort with one simple trick. Ready?
Let’s install the VotePlugin into the main Plone issue tracker.

As you can see, it’s a simple, unobtrusive plugin that lets logged users register +1/-1 votes for Trac objects. Even better, you can make Trac reports based on votes, such as Trac’s own report of the most popular tickets.
A few thoughts:
- It would give core developers a better sense of where our community’s pain points really are.
- It would give non-core users a clear, simple way to submit ideas and express support for others’ ideas. People like to be listened to.
- It helps new contributors figure out where they could have the most impact.
- It would use the proven, existing community collaboration tool that are already working well for us.
- Voting wouldn’t be binding; that is, developers might not fix the most popular tickets first. But at least it would give core developers some idea of what hurts the most in the community, and that may be useful in helping folks choose where to spend their scarce and valuable time.
One caveat:
- VotePlugin requires Trac 0.11; Plone.org is running Trac 0.10, so we’d have to upgrade. No idea how much of a PITA this is, but I’m guessing it’s not too bad.
So, whaddya think?
Anybody willing to tackle upgrading Plone’s Trac, installing the VotePlugin, and creating a custom report or two?
dev.plone.org uses a trac with custom modifications for the CIA support. It always takes a while to port that over to a new trac.
In addition I’m waiting for trac 0.11.1 to be released; that will includes some important bug fixes.
John, great idea.
Wichert, what is CIA support?
+100
@Antonhy: CIA is the bot that echoes Trac activity to our IRC channel.
@Wichert: I hear ya, this can certainly wait for a 0.0.1 release, assuming that’s not forever. A quick bit of googling suggested that perhaps feeding IRC via an RSS-reading bot might be easier than re-customizing CIA (http://trac-hacks.org/ticket/1952). Dunno if that helps.
That would violate the ‘no bots’ rule in the IRC channel
But seriously, I’m all for anything that improves the Trac experience for the community, and I can help with the deployment.
Alex, we already have the bot running in the channel — it’s the only one we allow, because it’s so darn useful.
I am for the idea of voting for features, but……….plone trac?!?!? AHHHHHHHHH (/me runs). That place is scary. Sorry, I think lots of people manage to make good use of it, but I find it (a) terrifyingly huge (the entire history of plone development in one place…), (b) crappy at search, (c) very slow.
Re the first two, the search is very simple for something that contains a gazillion records. I remember trying to report 3.0 beta release bugs and finding it impossible to find the records (which actually were there).
An explanation of “what am I supposed to do/know here” for Plone trac would be a helpful way to get over this sensation, for starters. Remember that many people who would be doing simple feature requests might not be familiar with this interface.
Additionally, it will require new UI for feature requests. I looked around the existing reports, and couldn’t find anything to let me know I would view a collection of feature requests (though on the front page that is requested).
Finally, I would rip out the “down” vote, so you only get people voting “for” things (know we have talked about this before…), so you avoid people ripping on ideas without offering anything constructive (/me goes to bed before he has to drink own koolaid :P).
Chris-
No offense, but looking at an issue tracker is a pretty fundamental “participating in open source” skill, IMHO. Trac is a pretty friendly issue tracker, as far as things go. It already has an “enhancement” ticket type (which could easily be renamed to “feature request” and better documented on the wiki homepage). I think we can probably build some friendlier custom reports to better surface enhancement requests and most popular ones.
The reason I think this is at least worth discussing is not that it’s a perfect solution (I have a whole ‘nother, much more ambitious idea for that!), but because it’s implementable with minimal work and no new, unfamiliar systems.
+1 to removing “-1″ votes, btw.
I think there are numerous ways on which “people” can “participate” in open source. The very examples you gave for Ubuntu, Salesforce and Dell provide a richer interface designed not to developers nor people who’re used to follow nightly builds and Track; they’re more likely to follow Twitter =)
I believe there could be two systems, as integrated as possible on those reports and next steps. One for Floating Voting and another for Ideas Gathering.
What do you think of that?