Topic: Discussion for a new engine: Feedback System


I'm a bit of a newcomer/lurker in these forums.  If anyone can suggest other communities that may be interested in this, please let me know!

I've been kicking around product plans for a while, including figuring what gets users on to a website and what makes them loyal.  I think a lot of that has to do with interactivity of a website, this can make the difference between a good website and a bad one. 

Any tools that encourage and empower users to talk about what they don't like and what they do, that gets them involved, increases a websites value in both feature capitol and customer capitol.  As they get involved and see their efforts pay off, they become dedicated.  This seems a prime candidate for an open source engine, as feedback is a simple something that could and should apply to any project.  I haven't noticed yet any projects that approach this, but stop me if I'm missing something!

I see three distinct modules for tracking features: invention, feedback, and propagation.  (Perhaps to be done in the way that devise does its modules.)  Each of these work with a distinct part of a feature's lifecycle, and would be pretty useful on its own.

The engine internally would hold databases for features, including fields on referencing features, any users proposing it, any discussion (pre conception) and feedback (post), and finally a table to track which users have which features enabled for themselves.


This is addressed all over the place, from github to UserVoice/GetSatisfaction.  Desired would be:
- A forum or <insert innovation here> for free input of ideas (aka discussable)
- Crowd ranking of favorite ideas (rankable, karmable)


Most of this implementation may be left to case by case decisions.  The engine could provide a some script to help setup an ajax request with the appropriate data, and maybe a default modal box.  Then projects could for example have a feedback button at the top, which would allow the user to select any element on the page and write about it.

For feedback on and propagation of discrete features, a is the ability to refer to them.  This could be approached withan attribute: data-feature='name: rating box;  version: 2.33;'.  Features would be tracked loosely-- the engine wouldn't know about a feature until someone comments on it; doing so would post data including the name, version, URI/route/page info, state, and the user's comments. 

Inspiration can possibly be taken here from the way G+ does feedback.


How features are rolled out is a pretty important topic.  Currently this is handled either not at all (a big on off switch), by rolling out to some random increasing fraction (all UIDs divisible by 20), or in more advanced cases by progressively enabling to ranks of users (first admins, then ambassadors, then everyone).

The goal is to allow selection of the best of a site, just as the best ideas spread on a free market, the best ideas should spread on a website.  This feels like an under-discussed/under-addressed problem.  At its core it's why Google Buzz and Wave, and Facebook Answers failed to gain significant traction, and it's why every big website faces the innovators dilemma* of how to keep innovation fresh in a massive system.  Those same forces are present no matter how large or small the company.

If we make features optional (like gmail or youtube labs), site admins can watch and control as the spread between users.  There are some great tools already invented to help this process:

Invitation-only.  Users can give a feature to other users of their choosing.  This is natural growth, but unfortunately requires self-organization, which can be slow (its not lean!).

Alternatively, we can take a site which has already its membership through an invitation system, and spread features between the same users, from invitor to invitee, across the entire site (with some possible accommodation for inactive users).

These would have the benefit of being able to throttle or spur growth, and they provide an opportunity to gather feedback at every step in the way!  When a user inspects a feature for the first time, they can submit one of three opinions, along with free comment: Share it, wait and decide, or disable it.

What do you think?  Would it work? Would you like to see it exist?  If there's lots interest, I may be able to devote significant energy in to making this a well-done open source project.

Thanks for reading,

Last edited by pehrlich (2011-07-07 20:11:42)

Re: Discussion for a new engine: Feedback System

I would definitely love this engine!

Last edited by justinror (2011-12-24 16:47:21)