Flow/Release planning

The first release of Flow targets mostly experienced users on WikiProject talk pages. After this first release, we have a lot of potential directions to go. This doc is meant to capture thinking on personas, target namespaces, and feature buckets for post-MVP.

Article talk

 * New users
 * Reader/potential editor who wants to comment on an article.
 * New article creator who has had their article nominated for deletion and is being asked to contest deletion.
 * New editor interested in improving an article or suggesting improvements.


 * Existing users
 * Existing editor interested in improving an article or suggesting improvements.
 * Existing editor wants to get consensus for major changes to an article.

User talk

 * New users
 * New editor/article creator who has gotten feedback on their contribution from another user.
 * New editor who wants to ask for help and mentoring from experienced editors.
 * New editor wants to request unblock after being blocked.
 * Bots leaving messages for new users.
 * Experienced users leaving barnstars and/or wikilove for new users.


 * Existing users
 * Existing editor/article creator receiving messages from/discussing content with other users.
 * New page & recent changes patroller delivering welcomes/warnings to new users.
 * Admin blocking disruptive new users or answering unblock requests.
 * Bots leaving messages for experienced users (newsletters, notices, and other workflow messages)
 * Users leaving barnstars and/or wikilove for other experienced users.

Search/browse/filter

 * Granular ways to navigate discussions.

In-board search: I want to search through current and old topics on the board.

Planned I want to filter or re-order Flow topics by various criteria, including: "most recently active", "most active", "unsummarized/unresolved", "topics I've participated in", etc

Planned Allow topics to categorize a board (as existing templates do)


 * Show topics where I'm mentioned differently
 * Search old page archives from pre-Flow transition, as part of Flow in-board search. I want to hunt for old discussions about the idea/problem that I have, to avoid WP:PEREN (perennial ideas).
 * I can search from the MW search box and get matches for Flow topics, so I can find a Flow board I came across.
 * Search/Browse by date range
 * Interactive and/or timeline view of board history (to see how boards/topics evolved step by step)
 * I want to add #tags to topics, so that they can be seen in context with related topics from other Boards.
 * As a user interested in learning about other users, I want to search for topics and or responses by a user, so that I can see their contributions in one place.

Smart Flow

 * More intuitive, responsive, customized for my preferences, beyond what talk pages can currently support.

✅ Show my posts differently, to enable easier scanning of long pages.

Sticky collapse. When I set a preferred view (collapsed, small) I see content in that view until I change it again.

Planned Easier permalinking (copy to clipboard, one click to share link in new post).

Planned Show read/unread state. I have an indication of when I've seen something vs. when something is new/unread.

Requires RfC, input from Platform – Content updates in real time (no need to refresh the page to see new topics/posts), edit conflict avoidance (“user x is editing this post”). As an editor, I want to be able to see that someone else is editing/typing into a topic, so that I can wait until they finish to reply.

Requires re-architecting the watchlist Per-topic subscriptions. As an editor, I want to subscribe to individual topics, so that I can keep track of single discussions in very active pages, without being overwhelmed by everything else.

Requires input from Legal, re-enabling "real name" field. As someone who is confused by usernames like WOSHFKH89, I want to see those around me with more human-readable names so that I can easily recognize those I interact with most often, and be reminded they are people.

Unprioritized

 * Drafts function
 * As an editor, if I'm interrupted while responding and must leave the conversation, I want to be able to save my partial response, so that I can come back and finish it later.


 * VE integration
 * As an experienced patroller, I would like to be able to "template" users without relying on exactly the default text of the template (I want to be able to customize a use of a template, at time of use).
 * As a user, I want mentions to autocomplete for me, so I don't have to type the full markup/username of the person I'm mentioning
 * As a user, I want an easy, lightweight way to format my posts, so I can easily link, bold, etc. without knowing wikitext markup


 * Misc.
 * As a user who participated in a conversation which I am no longer interested in, I should be able to "mute" a conversation so that I will no longer get notifications which i don't care about. (Without un-watching it entirely)
 * As an article writer, I want maintenance tags (eg. clarify) to link directly to the topic that discusses the issue. (Ie. utilize the ambox "|discuss=" parameter better)
 * Transclude a topic across multiple boards
 * Sticky topics that always stay at the top of the board
 * As an experienced user using the wikitext interface, I want to use the edit-toolbar, to add markup (bold, strikeout, etc) and complex templates (eg properly formatting a citation template).

Widgets and workflows
Thank user

Summarize. As an experienced user, I want to close and summarize topics and posts, so I can make a decision, or end long, heated debates

Planned As an Oversighter, I need to have access to suppressing topics and individual elements (comments, usernames) within topics, as well as entire topics, and I need to be able to nuke all instances of those things with as few actions as possible. Oversighters work from page history to make operations.

Planned splitting/merging. As an experienced user, I want to split off tangents into separate discussion, so I can keep the focus on one discussion.

Planned As a new user, I want to be able to ask for unblock, so I can continue editing productively (and I am more comfortable filling in a form than being asked to generate this request myself).

Unprioritized

 * scratchpads. (perhaps in realtime, like etherpad? Main problem to avoid is them turning into "chatrooms")
 * to-do lists. As a new editor who is passionate about hurricane articles, I want to be able to know what other collaborators are currently working to improving hurricane articles so I can take part even though I came in late and feel connected with the editor community within this topic too.
 * warn user.
 * Topic/Header undo. As an experienced user (or admin), I want to be able to undo the most recent change to the content of the header/topic title so when there is vandalism, I don't have to copy/paste the old content.
 * widget interface or workflow toolbar. As a user of Flow, I want to understand that I have more options than just posting, so I can make use of workflows and widgets.
 * quoting. As an experienced user, I want to be able to easily quote parts of earlier discussions in my posts, so I can refer to them in my new post
 * polling and !voting support. As an experienced user, I want to engage in existing polling and !voting processes with greater ease, but retaining the flexibility that we currently have.
 * Reminders. As an editor who has promised "to get back to this in a week", I'd like an easy way to set myself a reminder notification. ([//en.wikipedia.org/w/index.php?title=Wikipedia%3AVillage_pump_%28miscellaneous%29&diff=588789972&oldid=588767750 orig. request])
 * Newsletter delivery
 * opt new users into receiving notifications for updates to the Signpost (newsletters, notices, etc)
 * deliver some or all of the Signpost to their Flow board or feed

Mobile and tablet

 * Making Flow truly cross-platform (Flow on the Go).

✅ Alternatives for rollover-heavy design

Planned As a new (mobile) user, I want to be able to read and reply to discussions, so I can stay in the loop across platforms

As a user who moves between desktop and mobile, I want my comment drafts sync'd between platforms so I can participate without wasting time. (private user-specific content storage needs to be cleared w/Legal)

Unprioritized

 * As a user who has received notifications on desktop and read them I want to see them marked as such no matter the platform, so that I don't have to clear read states per platform, and only see whats new
 * As an existing (mobile) user, I want to see all Flow topics I'm part of on mobile, so I don't have to load each whole page individually (mobile feed)
 * As a user who moves between desktop/laptop/mobile, I want to see things like read and collapse states sync'd between platforms so I can participate without wasting time.

Accessibility, configurability, internationalization
As a user with accessibility requirements (bad eyesight, colorblind, unable to use mouse, etc), I still want to be able to view (visually or with the use of a screenreader) and use (both by mouse or keyboard) all of Flow so that I can partake in discussions & their moderation.

As a user with limited eyesight I want to be able to greatly magnify the interface in my browser without elements overlapping, covering each other, or being pushed off the screen because of fixed widths.

As a blind user, I want to be able to read (listen to) and contribute to Flow, with minimal problems.

As a user who has disabled javascript, or has no access to javascript (old browser, corporate restrictions, etc), I still want (all|most) of Flow to work.

As a non-English user, I still want all of the Flow magic work fine in my own language (RTL support, non-latin characters).

Planned As a user, I want to use the standard keyboard shortcuts (Keyboard shortcuts).

Requires SUL finalization As a multi-project user I want to see Echo notification get to me no matter what project I'm currently looking at so that I can respond quickly.

Unprioritized

 * As an experienced editor, I want to change the default settings for how various things are displayed for me personally. (visual-density, display order, exact vs elapsed timestamps, mouseover effects vs static, etc.)
 * As an experienced user (or admin), I want to be able to configure nesting changes (deeper threading/different visual representations of comment/reply hierarchy) on different kinds of pages, so I can adapt the page for different kinds of discussions.
 * rename/move boards.
 * As a multi-project user, I want to be able to keep track of, and contribute to, discussions on various wikis. (cross-wiki user feed)

Software architecture
performance monitoring and improvements

Unprioritized

 * switching to ContentHandler to simplify/streamline moderation actions
 * storing data at the topic level