Page MenuHomePhabricator

Real-time chat
Closed, ResolvedPublic0 Estimated Story Points


Type of activity: "Pre-scheduled session"
Main topic: None

The problem

At the October 2016 Editing offsite, we built some consensus around a minimum viable product for real-time collaboration.

Unfortunately, one of the features axed from the MVP was real-time chat, because it's hard. This was the right decision for the MVP, since users can type at each other in the editing session and there wasn't consensus on how to build a safe and "wiki" chat feature.

But let's not leave it there. Let's try to tackle the hard problem. Let's figure out what real-time chat for a wikimedia project *should be*. We'll probably fail a number of times before we get it right, but we need to start trying.

Expected outcome

Some visions for how real-time chat should work on our projects, with an understanding of the associated legal and social issues. A plan for dealing with archives, harassment, and patrol and for keeping the focus of the feature on the work of the projects.

Current status of the discussion

There have been a few strawmen, for example:

FIXME: This link requires special permissions.
  • Something based on Flow or Echo
  • "Like Google Docs does"


  • ...

Event Timeline

Qgil subscribed.

Can you add projects/tags related to the topics discussed, please?

What's the difference between this proposal and T149663: Next Steps for Real Time Collaboration? Could both proposals be merged?

It's not obvious that the next step for real-time collab is "add chat".

But as I described on a post to wikimedia-l, there are a bunch of "conversations" happening across our platform, with no unified mechanisms tying them together, implying also no unified code of conduct, means to fight harassment or vandalism, or user tools to self-manage. So this topic area (related also to T149665: UX to create safe spaces) is an attempt to start trying to tackle the "big questions" of communication on our platform, instead of kicking it down the road.

OTOH, "kick it down the road" is exactly what T149663: Next Steps for Real Time Collaboration should be doing, since it's concentrating on getting real-time collab as quickly as possible to a deployable state. "Reinventing our conversations" is definitely not part of that task.

See also T150732: Provide a group chat system for mentoring, for a specific area where our lack of modern communication system is hurting out outreach efforts, and an area where trials of new approaches would be welcomed and localised and constrained to short projects not needing to impact our existing communication systems.

I feel like this topic needs a reminder of certain important requirements for content-creation extensions: specifically, that all user actions be sufficiently visible (project logs, user logs), and that all additions can be modified/deleted.

Real-time chat comes with extra issues that other content doesn't have: Dealing vandalism/abuse suddenly becomes time-sensitive. It can no longer wait until the next time an admin refreshes the relevant page in however many minutes. The time from (preferably single-click) reporting abuse to deletion and blocking (or local "suspension", perhaps) should be seconds. This requires a broader live notifications system, including a way of alerting available members of particular groups (such as administrators).

By the way, if the officewiki page linked in the description doesn't include any specifically confidential information, could someone post it to a non-private location like Mediawikiwiki or here on Phabricator?

@yuvipanda has been experimenting with Matrix, a modern group chat system with Slack-like features that can be bridged seamlessly with IRC. IMO we should put more resources into that.

experimenting with Matrix

Regarding Matrix, there are also some instructions on

Some relevant links:

I'd like to a chat routing system be used for newcomer socialization. Maybe @Capt_Swing would like to spend some time imagining use-cases for Teahouse Hosts/Guests.

@Halfak what about a chatbot? @MelodyKramer helped build one for new employee onboarding at at previous employer:

We could use CirrusSearch and mine the Teahouse Q&A corpus for answers. Shame to direct newbies to IRC, though. Is there a FLOSS competitor to Slack, yet? has been around for a while. In the work I did around Live Chat, I looked into XMPP (protocol that used to be behind gchat) and that has clear support for "rooms" and PMs.

Since this proposal doesn't fit in any main topic and there are other proposals that have received more support, maybe it would be better to move this session under Unconference.

In terms of room capacity and configuration, what would be your preference?

  • The biggest room in theater configuration (up to 200 people, only chairs, no tables) and required video recording (meaning also that people have to wait for the mic to speak etc).
  • A big room in classroom configuration (up to 70-80 people, chairs and tables) and required video recording (meaning also that people have to wait for the mic to speak etc).
  • A big room in classroom configuration (up to 70-80 people, chairs and tables) and optional video recording (i.e. only recording the initial introduction but then relaxing things during the discussion, or no recording at all).
  • A smaller room, flexible configuration, optional video recording...

@cscott Hey! As developer summit is less than four weeks from now, we are working on a plan to incorporate the ‘unconference sessions’ that have been proposed so far and would be generated on the spot. Thus, could you confirm if you plan to facilitate this session at the summit? Also, if your answer is 'YES,' I would like to encourage you to update/ arrange the task description fields to appear in the following format:

Session title
Main topic
Type of activity
Description Move ‘The Problem,' ‘Expected Outcome,' ‘Current status of the discussion’ and ‘Links’ to this section
Proposed by Your name linked to your MediaWiki URL, or profile elsewhere on the internet
Preferred group size
Any supplies that you would need to run the session e.g. post-its
Interested attendees (sign up below)

  1. Add your name here

We will be reaching out to the summit participants next week asking them to express their interest in unconference sessions by signing up.

To maintain the consistency, please consider referring to the template of the following task description:

Aklapper renamed this task from Tackling Chat to Real-time chat.Jun 19 2020, 5:37 AM
Aklapper triaged this task as Lowest priority.

This task has been assigned to the same task owner for more than two years. Resetting task assignee due to inactivity, to decrease task cookie-licking and to get a slightly more realistic overview of plans. Please feel free to assign this task to yourself again if you still realistically work or plan to work on this task - it would be welcome!

For tips how to manage individual work in Phabricator (noisy notifications, lists of task, etc.), see for available options.
(For the records, two emails were sent to assignee addresses before resetting assignees. See T228575 for more info and for potential feedback. Thanks!)

Six years after the hackathon it was proposed for, I'll boldly close this. There's Matrix and Wikimedia Chat, with some similar tasks.