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? FF: Equal chance is fine, but include the current rating form as one of 5 options)



Option 1


This variation is a feedback form. The important parts of it are: Additional elements: FF: Note that I have just simplified this feedback form with fewer features for phase 1, removing the labels, which were confusing on this form. 
 * A yes/no question. The yes/no shall be mapped to 4 and 2 overall rating, respectively.
 * A comment box (multiline).
 * Help button - functionality TBD - FF: link to static page or FAQ with tips on how to give feedback.
 * 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. FF: fine, let's discuss on Friday - For now, please get screen shots of all current calls to action and post here. We will start with these, and add one more.''

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. FF: Note that I have just simplified this feedback page with fewer features for phase 1. The only thing is that we might add back the 'Was this feedback helpful? Yes/No' option.
 * 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.