Wikimedia Developer Summit/2016/T112984


T112984 - This is the session pad for the Real Time Collaboration session, slated to begin at 10:00 AM on Tuesday, January 5th.


We have the backend infrastructure mostly in place for real time collaborative editing. But actually rolling out collaborative editing requires more than just the Visual Editor team. It will require a coordinated effort to re-imagine what editing is like. We will need mechanisms to create user groups, real time chat mechanisms, mechanisms to temporarily persist collaborative sessions, perhaps even new core mechanisms for describing revisions (at the very least, revisions can have multiple authors!). We also need to think about social mechanisms and preventing harassment and vandalism of collaborative sessions. Pau has given us a starting point we can discuss, but we need to achieve broad consensus on the overall direction, refine the details, and figure out how to get there from here, with a unified roadmap across design, services, and editing.





  • Agree on a concrete "next step", whether that is a UX experiment or a backend implementation task (support for temporary storage of in-process edits, for example).
  • Discuss community implications, and develop a plan for managing harassment/abuse/etc in a real-time collaborative environment.
  • Agree on broad-stroke integration of collaborative UX into our current mediawiki skin. The existing design prototypes have been built against Winter, and we need to figure out how the pieces can be built on top of the skin we actually use (or a new standalone prototype needs to be built).


This section is where an attempt is made to capture the gist of who said what, in what order. A transcript isn't necessary, but it's useful to capture the important points made by speakers as they happen.

Session guidelines[edit]

This checklist exists to help each session at WikiDev meet the following goals:

  • Have productive discussion about topics that need face-to-face time
  • Make progress towards agreement on a solution
  • Document what was discussed, including areas of agreement and disagreement
  • Create written list of action items for follow up
  • Update or create Phabricator tasks as appropriate

Specific tasks:

  1. Assign meeting roles:
    • Facilitator
    • Gatekeeper
    • Scribe
    • Timekeeper
  2. Facilitator: run session to achieve specific goals.
    • State or build consensus towards meeting goal and style, referencing one of these meeting types:
      • Problem-solving: surveying many possible solutions
      • Strawman: exploring one specific solution
      • Field narrowing: narrowing down choices of solution
      • Consensus: coming to agreement on one solution
      • Education: teaching people about an agreed solution
    • Identify agenda items and guide discussion to stay on topic
    • Redirect participants who begin venting or discussing things that can be done online
  3. Scribe(s): Document the session
  4. Gatekeeper: Actively manage participation
    • Interrupt people if they are dominating the discussion
    • Help people who are having difficulty being heard
    • If the gatekeeper is talking too much, someone else should interrupt them
  5. Timekeeper: Keep track of time left and point out time passing to facilitator
    • If possible, estimate time for each topic written by scribes
    • Let people know when a topic has gone over its time
    • Give a warning when 5-10 minutes are left