Jump to content

Flow

From Meta, a Wikimedia project coordination wiki

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 LiquidThread are both being removed from the wikis.

Conceptual goals

[edit]

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—are antiquated and user-hostile. Experienced editors lose 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 has 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 will improve collaboration, which will help good editors be more productive.

Problems identified

[edit]

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

[edit]
Comparison of wikitext and Flow user-talk discussion systems
What you do now What you will do then
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 will automatically appear in your feed
Keep checking the person's talk page for a reply Any reply will automatically, immediately appear 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 are automatically indented
Sign your comment by typing ~~~~ Do nothing: your comments are always signed automatically
Leave {{talkback}} messages so the other user can find your reply Do nothing: your reply will automatically appear in the other user's feed
Search for new messages on your talk page using page history and diffs Have all new messages automatically appear 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 features:

  • No edit conflicts, except when trying to edit someone else's comment.
  • No {{unsigned}} posts in discussions—all posts and comments will be 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 will 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

[edit]
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 is 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. We are starting our focus only on what we call "User to user discussion" as these discussion types are not overly complex. As we learn more, we can expand the technology to cover additional cases
  • A Workflow Description Language module. This will allow local wikis to create both simple and complex software workflows that work with in Flow. Example workflow ideas include:
    • A Block Module. This is an example of a specific user-discussion use case that is best solved in software.
    • A Welcome Module. This is an example of a specific use case that is 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.

Primary Use Cases

[edit]

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

Ease of use
The User talk system of responding in Wikitext is user-hostile.
Fragmented discussions
It is 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

[edit]

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

[edit]

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 will 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

[edit]

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

[edit]

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!