Flow, also known as Structured Discussions, is an alternative system for discussion pages in the MediaWiki software. Flow provides features that are present on some other popular websites, but which were believed to be impossible to implement in wikitext. The main documentation for Flow, is located at Flow page at MediaWiki.org.

Note that Flow is not LiquidThreads, which is a similar forum-system used at some Wikimedia Foundation websites, which is also no longer under active development.

Flow and LiquidThreads are both being removed from the wikis.

Conceptual goals

At the time that Flow was conceived, the Wikimedia Foundation believed that:

Users expect and deserve a modern and intuitive discussion interface.

Talk pages—as a discussion technology—were antiquated and user-hostile. Experienced editors lost a lot of valuable time dealing with people who can't figure out how to reply to messages or who need assistance with things like signing their posts.

Users should not be surprised by the cultural norms of the community.

Many things about the culture that had grown up around talk pages (such as "talkback" templates or being able to change other people's comments) are confusing or inefficient.

Hence, a more modern user-to-user discussion system would improve the projects.

Better methods for collaboration would improve collaboration, which would help good editors be more productive.

Problems identified

The Wikimedia Foundation studied how editors use talk pages. This data is available online. Some of the major gaps between typical users' expectations and the wikitext system were:

User expectations versus reality in discussion systems
Expectation Current reality
Easy to distinguish topics Conversations that thread to infinite depth
Obvious and consistent comment authorship and automatic "signing" Comment authorship manually added at the end of comment (by convention)
A "reply" button Inconsistent reply system (whose talk page hosts the conversation?)
A simple comment field Wikitext/code
Notifications of replies to all discussions Notifications only when the conversation happens on their own talk page

Features

Comparison of wikitext and Flow user-talk discussion systems
What you do now What you would have done using Flow
Leave a message at someone's user talk page Leave a message at someone's user board
Watch a person's talk page Subscribe to the person's board
Wonder whether the other editor will reply on your talk page or theirs Any reply would have automatically appeared in your feed
Keep checking the person's talk page for a reply Any reply would have automatically, immediately appeared in your feed
Reply by clicking [Edit] Reply by clicking a "Reply" button
Indent the conversation by typing a series of colons Do nothing: replies would have been automatically indented
Sign your comment by typing ~~~~ Do nothing: your comments would have been always signed automatically
Leave {{talkback}} messages so the other user can find your reply Do nothing: your reply would have automatically appeared in the other user's feed
Search for new messages on your talk page using page history and diffs All new messages would have automatically appeared on your feed, no matter where the original comment was on the page
Watch the whole user talk page, even though you only care about one conversation Watch just the one conversation, if that's what you want
Edit your comment by clicking [Edit] Edit your comment by clicking an edit button

Flow featured:

  • No edit conflicts, except when trying to edit someone else's comment.
  • No {{unsigned}} posts in discussions—all posts and comments are automatically signed and dated.
  • No need to tell new users how to sign their posts or how to indent their comments.
  • No need to archive discussions—old posts automatically "fall off" the page, and can be retrieved by scrolling down.
  • No way for inexperienced people to accidentally remove your posts or vandalize them.
  • A place for an 'introduction' to the page, which can contain free-form text, user boxes, templates, etc.
  • A way to close or hat old threads to prevent further replies.
  • A way to link to previous discussions or individual comments.

Background

 
Flow activity process

Flow was intended to be rethinking of how we do collaborative work in the projects rather than a mere discussion system. Flow hoped to include:

  • The Feed module. This would have been a powerful way for users to have insight into their discussions and interests, and introduces several modern software conveniences (such as subscriptions and tagging)
  • The User Discussion module. The WMF started their focus only on what they called "User to user discussion" as these discussion types are not overly complex. They hoped to expand the technology to cover additional cases as they learned more
  • A Workflow Description Language module. This would have allowed local wikis to create both simple and complex software workflows that work with in Flow. Example workflow ideas included:
    • A Block Module. The WMF considered this an example of a specific user-discussion use case that would be best solved in software.
    • A Welcome Module. The WMF considered this an example of a specific use case that would be best served in software rather than templates (think: welcome templates that are interactive and teach new users how to edit before they make mistakes).

Other less concrete ideas included:

  • A Watchlist module
  • A WikiProjects module
  • Further Discussion modules to cover additional use cases (like !voting, noticeboards, the Teahouse, reference desks, article discussions, and so forth)

In the end, none of the modules other than "Feed" (via Echo notifications) and "User discussion" were ever built.

Use cases

The primary problems that Flow's user-to-user discussion system attempted to solve were:

Ease of use
The User talk system of responding in Wikitext was seen as user-hostile.
Fragmented discussions
It was seen as difficult to determine where a discussion is to take place.
Determining what's new
There is no easy way to see what has changed in a discussion without resorting to complex, power-user behaviors (such as viewing the diff between the current revision and the last viewed revision).
Contextual interest
Users are required to watch all discussion topics, not just the ones they are involved in.

Ease of use

Using wikitext as a discussion system was seen as antiquated, opaque, and frankly embarrassing in its difficulty. New users are often scared away by viewing talk pages. They are often afraid of "breaking" them and, once inside the code, don't have a clue about how to respond. There isn't a reply button. How do you indicate that you are replying to someone in particular? What are all these curly braces?

There are no other discussion systems in the world that require users to sign their own posts.

Even reading talk pages is problematic. Users can quickly get lost within deeply threaded discussions. Think about every other kind of conversation you get involved in—in person, via physical letters, via email, via forum software, chat systems, blog comments—you always know who is speaking before you read (or hear) the words. Always. Only in talk pages do you not know who is talking until after the fact.

Fragmented Discussions

When you leave a message on my talk pages, do I respond to you on my talk or yours? What happens if I do? How do you get notified if there are responses on my page? When I leave a message for you on your talk page and you respond to it, how am I alerted to this?

For many power users, using the watchlist to track conversations is useless. Some talk pages have such high activity that hundreds of responses to non-relevant topics are created per day. Some users page back through their contributions to find changes (which is again a power user ploy and still doesn't display if there has been new activity).

Determining What's New

Watchlists can tell us if there has been a change to a page, but determining what's changed requires a peek into the history. The typical way that one reads discussion pages on MediaWiki is by selecting different revisions and reading the diff. That is, frankly, crazy.

What's new should be obvious. You shouldn't have to resort to Black Magic and Other Trickery to keep up with a conversation. So let's fix that.

Contextual Interest

When I post a new message on someone's talk page, I really only care about that message. I don't care about the tens of other topics that are happening there. And yet, if I want to watch for replies in my topic, I have to see everyone else's. On some high-volume talk pages, my topic (and unread responses) may very well be archived away before I get back to reading them!