Collaborative editor

del.icio.us del.icio.us
Digg Digg
Furl Furl
Reddit Reddit
Rojo Rojo
Add to OnlyWire

A collaborative editor is a software application that allows several people to edit a computer file using different computers. There are two types of collaborative editors, real-time and non-real-time. Real-time collaborative editors allow users to edit the same file at the same time. Non-real-time collaborative editors do not allow editing of the same file at the same time, thus being similar to revision control systems.

Contents

History

Instant Update was released for Macintosh in 1991 from ON Technology. [1] Later, a version for Windows was released as well, allowing cross-OS real-time collaboration. Instant Update relied on a workgroup server to coordinate documents updated in real time on multiple clients.

More recently, SubEthaEdit is Mac-based, and leverages the Mac Bonjour communications platform. SubEthaEdit has won numerous awards. However, the level of voluntary donations was insufficient to keep the application free, and the product has now become commercial. The Gobby collaborative editor aims to be very similar to SubEthaEdit, and is cross platform and open source.

The Web 2.0 phenomenon has caused an explosion of interest in browser-based document editing tools. In particular, a product called Writely saw explosive user growth and was bought by Google in March 2006 (now called Google Docs & Spreadsheets). It provides simultaneous edits on the entirety of a document, though changes from other users are only reflected after polling the server (every half a minute or so). Another early web-based solution was JotSpotLive, in which line-by-line simultaneous editing was available in near-realtime.[2] However, after Google's purchase of parent company JotSpot in November 2006, the site was closed and no comparable Google product has been introduced. Google Sites was launched in February 2007 as a refactoring of JotSpot[3][4][5][6], but it doesn't provide the multi-user real-time abilities of JotLive. The Synchroedit (rich text) and MobWrite (plain text) projects have since emerged as two open-source attempts to fill the in gap real-time browser-based collaborative editing.

The availability of Java on most computers in the form of Java applets, combined with the growing availability and speed of broadband internet access, has enabled a more powerful range of collaborative editing tools, including web applications which enable collaborative video editing.

Technical Challenges

[original research?]

The complexity of real-time collaborative editing solutions stems from communication lag. In theory, if communication were instantaneous, then building a real-time collaborative editor would be no more difficult than building a single-user editor, because a document could be edited using an algorithm similar to the following:

  1. Request an 'edit document' token from the server
  2. Wait until the server says its our turn to edit the document
  3. Tell the server how to edit the document
  4. Release the 'edit document' token

However, the finite speed of communication, limited not only by the speed of light but also by network lag, creates a fundamental dilemma: users need their own edits incorporated into the document instantly, but if their own edits are incorporated instantly, then because of communication lag, their edits must necessarily be inserted into different versions of the document.

An example illustrates this problem. Suppose Bob and Alice start with the document Mary. Bob deletes 'M', intending to change Mary into ary. Bob then inserts 'H', to change ary into Hary. Alice, before she receives either edit from Bob, first deletes 'r', intending to change Mary into May, and then deletes 'a', intending to change May into My. Both Bob and Alice will then receive edits that were applied to versions of the document that never existed on their own machines.

The challenge of real-time collaborative editing, then, is to figure out exactly how to apply edits from remote users, which were originally created in versions of the document that never existed locally, and which may conflict with the user's own local edits.[7]

The most sophisticated solutions solve this problem in a way that does not require a server, does not use locking (all users can freely edit all parts of a document at the same time), and supports any number of users (limited only by the resources of the computers). UNA and SubEthaEdit are examples of two programs that take this approach.

While these sophisticated approaches enable the best user experience, a basic collaborative editor can also be created using a client-server architecture. In a client-server scenario, a single editor is assigned the role of collaboration server when the document is opened. This server ensures that other editors are kept in sync by determining network latency and acting as a time synchronization server. The server receives timestamped notifications of changes made to the document by other users. It determines how those changes should effect its local copy, and broadcasts its changes to the collaboration pool. In some models, the changes are not reflected on a client until an official response is returned from the server, even if those changes were made locally.

This approach, while significantly less powerful, allows for basic collaboration at a relatively low cost. This makes it preferable in situations where processing resources and limited, such as on Apple's iPhone platform. NetSketch is an example of a program that uses this model.

Future marketplace direction

In the past, Microsoft and IBM have worked to add collaboration facilities to their existing architectures. [8] Although marketed as real-time collaboration, these 'workspace' approaches require either document locking (so only one person can edit it at a time), or 'reconciliation' of conflicting changes, which is generally found by users to be unsatisfactory.

UNA is an attempt by N-BRAIN, Inc. to create a real-time collaborative development environment for software engineers. Because the application was designed from the start as a collaborative development platform, it enjoys collaborative features not shared by standalone platforms with bolted on collaboration facilities.[9]

With advances in internet capacity, collaborative video editing is also becoming mainstream. Collaborative TV production is possible, in which the directors, producers and editors, all of whom contribute to the post-production process, are able to work together remotely. Web-based non-linear editing systems allow collaborative editing of video, similar to the way in which collaborative text editors have worked for text. See Comparison of video editing software and Real-time video editing.

The increasing popularity of WiFi enabled mobile devices, such as Apple's iPhone, has also driven the development of collaborative tools. While simplistic in comparison to real-time video editing software, these applications allow users of mobile devices to create and edit documents over the wireless network. NetSketch was the first collaborative application for the iPhone, and focused on real-time collaborative drawing.[10]

List of current editors

Real-time collaborative text editing software

Software

  • Abiword (multi-platform) is a free software, open source editor that added a real-time collaborative editing plugin in the 2.6 release. This editor is the basis for the collaborative Write activity on the OLPC XO-1.[11]
  • ACE (Linux, Microsoft Windows, Mac OS X, Solaris, FreeBSD) is a free software, collaborative text editor.
  • CoWord (Microsoft Windows) converts Microsoft Word into a real-time collaborative word processor and allows multiple users to collaboratively edit the same Word document at the same time.
  • GNU Emacs provides basic collaborative editing support under the X Window System, using the "make-frame-on-display" command.
  • GNU Screen allows multiple users to share one console screen, but they have to share a single cursor.
  • Gobby (Linux, Microsoft Windows, Mac OS X) is a free software, open source project.
  • ICT is a framework that allows multiple users to edit a shared document with unmodified, heterogeneous single-user editors.
  • MoonEdit (Linux, Microsoft Windows, FreeBSD) is free for non-commercial use and allows basic collaborative editing.
  • Plutext is open source software for real-time collaborative editing of docx documents stored in Alfresco, with any of three clients: Word 2007 with an add-in (on XP or Vista), docx4all (all platforms supporting Java 6), or a web browser.
  • Shared Page (editor).
  • SubEthaEdit (Mac OS X).
  • SynchroEdit (editor).
  • UNA (multi-platform) is a multi-user development environment for software engineers, which includes a real-time collaborative editor.

browser-based

Other real-time collaborative editing software

  • Borland CodeWright has a CodeMeeting feature that supports chatting and exclusive file editing (1 user per file).
  • Coccinella is an instant messaging client with whiteboard and VoIP.
  • EditGrid supports real-time event-driven collaborative editing of spreadsheets on the web.
  • Inkscape compiled with --enable-whiteboard offers the Pedro XMPP client, for collaborative drawing of vector graphics in Jabber instant messaging/chat environments.
  • Marratech is commercial software with a whiteboard function.
  • NetSketch is a real-time collaborative drawing application for the iPhone.
  • TeamViewer is a desktop sharing application that allows (among other things) two people to edit the same document at the same time.
  • WhiteBoardMeeting is a multi-user whiteboard for Skype.
  • Zoho Sheet provides browser-based real-time collaborative editing of spreadsheets.
  • Eclipse has a plugin called Cola, that allows real-time collaborative editing of documents.

Relevant Patents and Patent Applications

Relevant documents include:

See also

External links

Notes

  1. ^ "User manual".
  2. ^ Michael Arrington (2005-09-27). "JotSpot Live - The Perfect Wiki?". TechCrunch.
  3. ^ Michael Arrington (2008-02-27). "It Took 16 Months, But Google Relaunches Jotspot". TechCrunch.
  4. ^ David Chartier (2008-02-28). "First look: Google relaunches JotSpot as Google Sites". Ars technica.
  5. ^ Dan Farber (2008-02-27). "JotSpot reincarnated as Google Sites". CNET News.
  6. ^ Mark 'Rizzn' Hopkins (2008-02-27). "Google Finally Frees JotSpot with Google Sites". Mashable.
  7. ^ Operational transformation
  8. ^ Microsoft Live Communications Marketed as real time but not real time in the sense of this article.
  9. ^ UNA Features Non-locking real-time editing, sharing of tools and searches, collaborative whiteboard, chat, and persistent, collaborative notes.
  10. ^ [1] NetSketch was the first collaborative editing application for the iPhone.
  11. ^ Rahul Sundaram (2008-05-08). "AbiWord Team Interview". Red Hat.

This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License.


Giant Panda

Mercedes Car
James Bond Guide
This site monitored by SitePinger.net