Article feedback/Version 5/Feature Requirements

Feature Requirements
This page will describe the features to be developed for the Article Feedback Tool V5. Check the new AFT V5 project page for more information about this initiative. For a preview of what these forms and pages might look like, read below, or, which include simple wireframes for key touchpoints, as well a project plan and other useful exhibits.

The technical design of the AFT can be found here.

Overview
Key features for AFT V5 will include:
 * new feedback forms
 * calls to action
 * expanded feedback
 * feedback page
 * moderation tools

In the first phase of this project (Oct.-Dec. 2011), we will create and test four different ways to extend the current rating tool:
 * Option 1: Share your feedback - Did you find what you were looking for? Add a comment
 * Option 2: Make a suggestion Suggest an improvement, ask a question, report a problem or give praise to the editors
 * Option 3: Review this page - Rate this article. Add a comment or suggestion for improvement.
 * Option 4: Edit this page - Help improve Wikipedia (call to action, for comparison purposes)

We plan to A/B test these four options against the current rating tool, to find out which is most effective for engaging readers, supporting editors and improving article quality.

]

We plan to develop more features in a second phase (Jan.-March 2012), based on first phase results. We are starting a wish-list of features for that second phase and will link it here shortly.



Technical (non-functional) requirements

 * The AFT v5 shall be developed on top of the existing AFT implementation (MediaWiki extension), preserving its current functionality, e.g.:
 * Feedback items expire after 30 days
 * Feedback tool can be disabled in user preferences for registered users
 * Source control requirements:
 * Core - use v1.18 (REL1_18)
 * Extensions - from trunk
 * AFT being developed as an extension, forked (not branched) from trunk



Feedback functionality
For each article, the following feedback items shall exist:
 * Text comment
 * Comment tag, one and only one of:
 * Suggestion
 * Question
 * Problem
 * Praise
 * Ratings - numerical, on a scale between 0 and 5. The following rating criteria shall exist:
 * Overall rating
 * Credibility
 * Neutrality
 * Thoroughness
 * Well-written
 * Commenter's source of knowledge on the subject (pre-defined options - TBD: text entry for a generic "not listed here" option?)

For logged in users, feedback should be posted under their user account. Any registered user may only have one feedback record per article. New feedback from a user on an article he already posted feedback on should replace the previous feedback record for that user and that article.

For anonymous users, feedback shall be posted with their IP address. ''TBD: how to limit additional feedback from anonymous users? Time window? Session-based? None?''

All feedback records shall be time-stamped.



Feedback interface
The feedback interface appears on every article, as the current AFT does (unless disabled in user preferences). There shall be several options of the user interface, for A/B testing. Ultimately, one option will be selected for production use. the following 4 options shall be implemented, in addition to the currently existing one.
 * TBD: which articles do/do not display the feedback form (criteria)
 * The interface option to display shall be selected randomly. (TBD: equal chance? configurable/automatic weighted system?)



Option 1


This variation is a feedback form. The important parts of it are: Additional elements:
 * A yes/no question. The yes/no shall be mapped to 4 and 2 overall rating, respectively.
 * A comment box (multiline).
 * Label - served as a facade for the tagging functionality. The interface shall only allow 1 label (tag) to be selected for a comment.
 * Help button - functionality TBD
 * Links to feedback page and privacy policy
 * Post button



Option 2


This variation of the feedback form focuses on the text comment and its label (tag).
 * The title of the form shall reflect the currently selected label ("Make a suggestion"/"Ask a question"/etc)
 * Label selection (default selected is suggestion)
 * Comments box (multiline)
 * Submit button (caption shall reflect the selected label).
 * Links to the feedback page and privacy policy



Option 3


This version of the feedback form provides the users with the ability to give overall rating to the article (see rating functionality above), and a comment. Labels/tags input are not provided on this form.



Option 4


This variation does not provide feedback options. Instead its a direct call for the readers to edit the article. The "Edit" button takes the reader to the article's edit page. The "learn how to edit" link takes the reader to editing help hub. Only registered and logged in and anonymous users shall be able to edit the page. For anonymous users the edit button shall be replaced by the usual login/register options, while still maintaining the "Edit" call to action.



Calls to Action
After readers post their feedback, they will see one of these calls to action:
 * take a survey (link to survey page)
 * edit this article (if logged in)
 * sign up or login (if logged out)
 * get email notifications (if my post is used)

TBD: one of - some are overlapping, need to discuss exact functionality.

Take a Survey


This is one of the four calls to action to be displayed after the feedback had been submitted.

Re-submitting feedback
The user shall be able to go back and re-submit feedback for the article, as per current functionality and with accordance to the requirements outlined in the feedback functionality section above.



Feedback page


The shall display a list of the feedback items for an article. See all the posts for this article, vote them up or down (moderated by editors and administrators).

The feedback page shall support navigation functionality for the comments list:
 * Filtering (show: ...) - predefined set of options:
 * All - unfiltered
 * TBD - more options
 * Sorting (sort by: ...) - predefined set of options:
 * Date
 * Comment rating
 * Overall article rating
 * Search box - find comments matching certain keyword(s).
 * Search shall be activated via button (not live filtering).
 * New search shall respect the same pagination rules (see below)

The comments list shall display a configurable number (TBD: configurable how? per-user/systemwide? what is the default? this may require MediaWiki core changes) of items by default. The "show more comments" button at the end of the list shall load additional items, same amount, and, again, display the "show more comments" button at the end of the list.

Each item in the comments list shall display:
 * Logged user name/IP address
 * Overall article rating
 * Collapsable article rating details (collapsed by default)
 * Timestamp
 * Comment
 * Feedback on comment (+1/-1) - providing the ability to rate individual comments by other users.
 * Moderation tools (see below) - available only to moderators/administrators.

The feedback page shall support the following moderation tools for each comment, visible only to moderators and administrators:
 * Star - in phase 1 of the project this will promote the item to top of page.
 * Trash - mark the comment as deleted. Functionally, the comment is not deleted from the database, just not displayed unless a specific filter is selected.

Nested comments - the commenting functionality shall provide for nested comments (that should be reflected both in the database schema and in code infrastructure), but this functionality should not be available in the interface. The infrastructure should not impose limits on the depth of the comments tree. If such limits are to be introduced at later phases of the project, they shall be set in the code/configuration.

Expanded Feedback
(preliminary) (optional) - Tell us more: suggest improvements, rate article qualities or share your expertise.

Talk page features
- Tools to feature the best feedback on the article talk page, with a recommended check list for editors

Touchpoints
Here is an overview of how key features and touchpoints will interact with each other to make reader feedback more useful:





Community Ideas
Here are some of the community feature ideas which we have categorized so far:

Phase 1: (Q4 2011)
 * Comment box
 * "Did you find what you were looking for?"
 * Checkboxes for suggested improvements
 * Make rating tool more visually compact
 * Hide AFT for recently created pages
 * Different calls to action

Phase 1.5: (Q4 2011)
 * Dashboard with recent feedback and page metrics
 * Allow permanent linking of page scores
 * Courtesy diff link to the rated revision

Phase 2: (Q1 2012)
 * Ratings details (counts, distribution, averages over time)
 * Promote (or post) feedback/comments to talk page
 * Let registered users track pages they rated
 * Comments feed per article (for editors) – RSS/API?

Developer Ideas
Here is where we will add developer feature ideas as the project gets underway.