بهاو
Flow is no longer in feature development, and is progressively removed from the wikis. See more information here and in the Wikitech mailing list. |
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
At the time that Flow was conceived, the Wikimedia Foundation believed that:
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.
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.
Better methods for collaboration will improve collaboration, which will 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:
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
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
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
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
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 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
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!