-
-
Notifications
You must be signed in to change notification settings - Fork 196
Escalating privileges: proposal for initial version
sebbacon edited this page Feb 16, 2012
·
12 revisions
See also more extensive vision-type proposal at Escalating privileges system #Goals
The goals for later versions will be to help with the administrative burden. The initial version will be focused on improving the quality of requests. The idea is to:
- Encourage good quality questions
- ...but without censoring anything
- Specify and implement a first version release promptly
- ...but ensure we provide solid foundation for future iterations
#Tactics
- Make good quality questions stand out throughout the system
- Conversely, make bad quality questions less visible
- Provide incentives to people to ask good quality questions in the form of privileges
#Specifically
- Provide upvote and downvote buttons for requests. When a request is marked down, include a small "reasons" text field.
- On Authority pages and Search pages, list only requests with a score of more than 0 unless explicitly asked otherwise via some UI widget (TBC)
- On Home page, list only recent requests with a score of more than 1
- On requests with a score of less than 1, include a banner that says "This request has been marked down by other site users for the following reasons"
- and link to page that describes what makes a good quality question
- Incentives:
- Privileges: privileges should be making multiple requests, the ability to vote, and the ability to comment
- Users with negative points can't make any requests
- Users with 0 points can only make one request per day
- Users with 1 point can make up to 5 requests per day
- Users with 20 points can make up to 20 requests per day
- Users with 5 points can comment on requests
- Users with 15 points can vote requests and comments up
- Users with 30 points can vote requests and comments down
- Points can be earned or lost by:
- Filling in your profile (+1)
- Having a request voted up (+5)
- Having a request that's been voted up at least once enter a finished state (successful, unsuccessful) (+3)
- Having comments voted up (+1)
- Having requests voted down (-2)
- Having comments voted down (-1)
- Privileges: privileges should be making multiple requests, the ability to vote, and the ability to comment
- Seeding:
- All current site admins have 200 points to start with
- All site users who have previously made a comment get the privilege to make comments anyway
#Implementation
- Put some thought into designing user authorization system: roles, permissions, groups?: 1d
- Design the points earning data structure (around events, so we can explain them to users?): 1d
- Wireframe / design new UI components: 1d
- earning new privileges (and losing them): flash for letting user know it's happened
- encouraging earning new privileges: flash letting them know how to reach next level? (e.g. "if you earn [10 more points] you can post multiple requests per day"
- badges or similar for listing privileges on user profile page
- list points-earned-history for user profile page
- flash for pointing out new features (e.g. highlighting new upvote/downvote buttons, etc)
- upvote/downvote on requests: ensure it's obvious if/why you can't use it (yet)
- unhiding downvoted requests on results page (or maybe they are still returned but very subtly compared with upvoted?)
- asserting that a given request is demoted and making it clear how to find out why
- Implement base authorization system: 10d
- implement API
- admin backend for editing all permissions directly
- integrate / refactor / migrate current admin permissions into new system
- Implement upvote/downvote for requests: 6d
- Implement request hiding / demoting / promoting: 3d
- Implement user-profile related changes (list of privileges, history of points earned, etc): 5d
- Integrate same into admin backend: 1d
- HTML mucking around: 3d
- Testing, bug fixing, iterating: 10d
Total: 41d