Jump to content

Submissions/Real-time Collaborative Editing with TogetherJS

From Wikimania 2014 • London, United Kingdom

This is an accepted submission for Wikimania 2014.

Submission no. 5037
Title of the submission
Real-time Collaborative Editing with TogetherJS
Type of submission (discussion, hot seat, panel, presentation, tutorial, workshop)
presentation
Author of the submission
C. Scott Ananian
E-mail address
Special:EmailUser/cscott
Username
cscott
Country of origin
USA
Affiliation, if any (organisation, company etc.)
Wikimedia Foundation
Personal homepage or blog
http://cscott.net
Abstract (at least 300 words to describe your proposal)

"Edit conflict! Someone else has changed this page since you started editing it."

It's hard to take turns. Collaboratively writing or editing an article can be an awkward process on a mediawiki. For new editors, the wiki is an empty place: all the other readers, editors, and authors are invisible. Even the article text is surprisingly fluid: while you were writing a supporting argument, someone else stole the thesis statement.

Real-time collaborative editing can help! Of course, there are difficult questions to solve: how do I find other editors? How do we record the "author" of a revision we wrote together? Within a session, how can I keep track of who wrote what, and who decides when we're done?

I can't solve all those problems at once! But I've written mw:Extension:TogetherJS to begin the investigation. This extension builds on Mozilla's TogetherJS library to allow real-time collaborative editing of wikitext. By the time Wikimania arrives, we might even have it working with Visual Editor. This talk will describe our work on the extension, how to enable it on your wikis, and touch on the social and interface issues involved in making real-time collaboration part of our community.

For hard-core nerds, the talk will include a dive into the details of Operational Transformation, conflict resolution, and Visual Editor's transaction API, and describe the architecture of Mozilla's TogetherJS library. I will discuss basic mechanisms for finding collaboration partners and handling out-of-band discussion. Blue sky proposals will include integrating "circles of friends" and highlighting content contributed by your "friends", richer revision annotations to preserve multi-party authorship information, persistent site-wide chat, and real-time updates to articles without page reloads. We will consider how new-user on-ramps like the Teahouse might be reinvigorated with real-time features. Finally, we will speculate on the future of Wikipedia as a real-time community hub: where the people behind the pages are visible and available, and reading an article is interactive with the topic-focused community maintaining it.

Track
Technology, Interface & Infrastructure


Length of session (if other than 30 minutes, specify how long)
30 minutes
Will you attend Wikimania if your submission is not accepted?
yes
Slides or further information (optional)

Google Present PDF

Special requests

Can't conflict with Parsoid team talk.


Interested attendees

If you are interested in attending this session, please sign with your username below. This will help reviewers to decide which sessions are of high interest. Sign with a hash and four tildes. (# ~~~~).

  1. Marcoil (talk) 17:26, 28 March 2014 (UTC)[reply]
  2. Rillke (talk) 16:13, 29 March 2014 (UTC)[reply]
  3. Jodi.a.schneider (talk) 20:05, 31 March 2014 (UTC)[reply]
  4. GorillaWarfare (talk) 22:11, 4 April 2014 (UTC)[reply]
  5. --Santhosh.thottingal (talk) 11:58, 5 April 2014 (UTC)[reply]
  6. Ocaasi (talk) 01:53, 8 April 2014 (UTC)[reply]
  7. the wub "?!" 23:42, 13 April 2014 (UTC)[reply]
  8. Elitre (talk) 13:25, 20 April 2014 (UTC)[reply]
  9. MLWatts (talk) 08:56, 28 July 2014 (UTC)[reply]
  10. Sshhiivv (talk) 16:16, 4 August 2014 (UTC)[reply]
  11. Add your username here.