Flow/MVP

This document outlines the high-level requirements for the first release of Flow as an opt-in beta to Wikipedia; specifically, to a subset of WikiProject discussion spaces where users have agreed to trial the software. These requirements are subject to change, and very much open for discussion.

Rationale
Users of Wikimedia projects need a lean, responsive, modern interface for collaboratively improving content. WikiProject discussion pages are one of the places where peer-to-peer content collaboration occurs. The first release of Flow to a live Wikimedia project will be geared toward tackling the core needs of Flow as a peer-to-peer content discussion feature in the WikiProject talk space.

This release aims to support existing discussion workflows (talking about content, including markup from that content), as well as improve the user experience of talk pages by facilitating:


 * 1) Productive, efficient discussions that resolve the issue at hand quickly. E.g., It should be fast and easy to ask and answer a question.
 * 2) Transparency and clarity of communication to ensure good-faith dialog among peers. E.g., It should be easy to get a sense of the main points of a discussion and understand who is addressing whom.
 * 3) Ease of use, inviting users to participate if they have something constructive to add to the conversation, regardless of their level of experience with the WikiProject, the Wikimedia project, or with editing wikis in general. E.g., a volunteer translator with no Wikipedia editing experience who is assisting a WikiProject should feel comfortable discussing her translations in the WikiProject discussion space.

In addition to providing users with intuitive, easy-to-use discussion software that allows them to collaboratively improve content, we need to ensure that users can quickly and easily moderate sensitive or offensive comments.

Personas and goals

 * 1) As a user who wants to take part in a WikiProject discussion, I want to be able to start new topics and reply to comments in existing topics.
 * 2) As a user discussing content within the scope of a WikiProject, I want to be able to use markup in comments, so I can talk about how to improve markup and formatting as well as text content.
 * 3) As a user watching a WikiProject discussion, I want to be able to hide nonsense/test comments or personal attacks.
 * 4) As an administrator, I want to be able to delete harmful vandalism or spam.
 * 5) As an oversighter, I want to be able to suppress comments that contain sensitive information, such as personally identifiable information from minors.

Proposed user experience
A Flow-enabled WikiProject discussion space will become a structured discussion spaces with the following features:


 * A configurable header area (for information about the discussion space, links to archives and FAQ, or any other information that the WikiProject facilitators deem useful)
 * A "start new discussion" affordance, containing:
 * a dialog for naming and starting a new topic
 * A list of topics, in order of most recently updated to least recently updated, top to bottom. Each topic contains:
 * an editable title
 * an affordance for collapsing or uncollapsing all comments in the topic
 * a history view of the topic, including modification and state changes of each child element (edited, hidden, unhidden, etc.)
 * Threaded replies. Each individual comment contains:
 * whom the comment was posted by (automatically generated signature)
 * a human-readable timestamp indicating when a comment was posted and when it was last modified (and by whom, if not the original poster)
 * Parsoid compatibility, allowing users to copy-paste markup for most templates and advanced wiki syntax (math, IPA symbols, etc.) into their comments
 * an affordance for editing a comment (available to those with correct user rights)
 * an affordance for hiding or unhiding a comment – hidden comments will leave a placeholder visible to all users
 * an affordance for deleting or undeleting a comment (viewable only for administrators) – a deleted comment will leave a placeholder visible to all users
 * an affordance for suppressing a comment (viewable only for oversighters) – a suppressed comment will only be viewable to oversighters
 * a history view of the comment, including modification and state changes (edited, hidden, unhidden, etc.)
 * Topics and comments will not be archived; instead, they will be lazy-loaded, with less recent conversations accessible by scrolling down.
 * A search box to search the contents of the board for:
 * Topic title
 * Post authors
 * Post content