Etherpad

{{Short description|Open-source web-based collaborative real-time editor}}

{{Use mdy dates|date=September 2016}}

{{Infobox software

| logo = Etherpad logo.svg

| screenshot = Etherpad-1.8.4.png

| caption = Etherpad 1.8.4 with two plugins enabled

| developer = Etherpad Foundation

| released = {{Start date and age|2008|11}}

| latest release version = {{wikidata|property|edit|reference|P348}}

| latest release date = {{start date and age|{{wikidata|qualifier|P348|P577}}}}

| programming language = JavaScript (Node.js)

| operating_system = Cross-platform

| language = English

| genre = Collaborative real-time editor

| license = Apache License 2.0

| website = {{official url}}

}}

Etherpad (previously known as EtherPad){{cite web|url=http://etherpad.com/ep/blog/posts/etherpad-temporarily-reverts-to-closed-beta |title=EtherPad Blog: EtherPad Temporarily Reverts to Closed Beta |url-status=dead |archive-url=https://web.archive.org/web/20100102004457/http://etherpad.com/ep/blog/posts/etherpad-temporarily-reverts-to-closed-beta |archive-date=January 2, 2010 |access-date=September 23, 2016 |df=mdy }}{{cite web |url=https://code.google.com/p/etherpad/ |title=EtherPad Open Source Release, Google Code |access-date=February 14, 2013}} is an open-source, web-based collaborative real-time editor, allowing authors to simultaneously edit a text document, and see all of the participants' edits in real-time, with the ability to display each author's text in their own color. There is also a chat box in the sidebar to allow meta communication.

First launched in November 2008, the software was acquired by Google{{cite web|access-date=2021-01-05|title=How I reverse-engineered Google Docs to play back any document's keystrokes|author=James Somers|url=https://features.jsomers.net/how-i-reverse-engineered-google-docs/|website=features.jsomers.net|date=2014-11-05}} in December 2009, and released as open source later that month. Further development is coordinated by the Etherpad Foundation.

Features and implementation

Anyone can create a new collaborative document, known as a "pad". Each pad has its own URL, and anyone who knows this URL can edit the pad and participate in the associated chats. Password-protected pads are also possible. Each participant is identified by a color and a name.

The software auto-saves the document at regular, short intervals, but participants can permanently save specific versions (checkpoints) at any time. Merging of changes is handled by operational transform. A "time slider" feature allows anyone to explore the history of the pad. The document can be downloaded in plain text, HTML, Open Document, Microsoft Word, or PDF format.

Automated markup of JavaScript code was made available shortly after the launch.

Etherpad itself is implemented in JavaScript, on top of the AppJet platform, with the real-time functionality achieved through Comet streaming.{{cite web

| url = https://techcrunch.com/2008/11/19/etherpad-shows-google-docs-how-its-done/

| title = Etherpad Shows Google Docs How It's Done

| author = Michael Arrington

| publisher = TechCrunch

| date = November 19, 2008

}}{{cite web

| url = http://ejohn.org/blog/etherpad-real-time-editing-with-javascript/

| title = EtherPad: Real-time Editing with JavaScript

| author = John Resig

| date = November 19, 2008

}} At the time of its launch, Etherpad was the first web application of its kind to achieve true real-time performance, a feat previously only achieved by desktop applications such as SubEthaEdit (for Mac), Gobby, or MoonEdit (both cross-platform). Existing collaborative web editors at the time could only achieve near-real-time performance.{{Cite web |last=Fleishman |first=Glenn |date=2009-02-16 |title=EtherPad Brings Simultaneous Writing to the Web |url=https://tidbits.com/2009/02/16/etherpad-brings-simultaneous-writing-to-the-web/ |access-date=2023-07-04 |website=TidBITS |language=en}}

The client-side text editor in Etherpad and its Etherpad Lite fork is implemented using Appjet's in-browser text editor, written in JavaScript.{{Cite web |date=2015-02-18 |title=Online, Collaborative Editing with Etherpad |url=https://www.sitepoint.com/community/t/online-collaborative-editing-with-etherpad/113300 |access-date=2023-12-12 |website=SitePoint Forums {{!}} Web Development & Design Community |language=en}}

Launch

Etherpad was launched on November 19, 2008 by David Greenspan, Aaron Iba, and J.D. Zamfirescu (the latter two being former Google employees).{{cite web

| url = http://blogoscoped.com/archive/2008-11-20-n42.html

| title = EtherPad

| author = Philip Lenssen

| publisher = Google Blogoscoped

| date = November 20, 2008

}} They were later joined by former Googler Daniel Clemens and designer David Cole.{{cite web |url=http://etherpad.com/ep/about/company |title=AppJet Company Overview |publisher=EtherPad |access-date=February 14, 2013 |archive-url=https://web.archive.org/web/20100102003829/http://etherpad.com/ep/about/company |archive-date=January 2, 2010 |url-status=dead }} The original website was etherpad.com.

Etherpad was covered by Slashdot on November 21, 2008,{{cite web

| url = http://tech.slashdot.org/article.pl?sid=08/11/21/1626208

| title = A Web App For Real-Time Collaborative Writing

| date = November 21, 2008

| publisher = Slashdot

}} resulting in server slowdown and downtime. This led the developers to temporarily revert the tool to closed beta, not allowing new pads to be created (but providing full and unrestricted access to the existing ones), while the server infrastructure was being improved.{{cite web

| url = http://etherpad.com/ep/blog/posts/etherpad-temporarily-reverts-to-closed-beta

| title = EtherPad Temporarily Reverts to Closed Beta

| publisher = The Etherpad Blog

| archive-url = https://web.archive.org/web/20100102004457/http://etherpad.com/ep/blog/posts/etherpad-temporarily-reverts-to-closed-beta

| archive-date = January 2, 2010

| date = November 21, 2008

}}

After the rewrite of the software was completed, the new version went live on 29 January 2009,{{cite web

| url = http://etherpad.com/ep/blog/posts/beta-update-now-running-new-etherpad-software

| title = Beta Update: Now running new EtherPad software

| date = January 29, 2009

| author = Aaron Iba

| publisher = EtherPad Blog

}} and on February 3, the site became again open to all.{{cite web

| url = http://etherpad.com/ep/blog/posts/etherpad-now-open-to-all

| title = EtherPad Now Open to All!

| date = February 3, 2009

| author = Aaron Iba

| publisher = EtherPad Blog

}}

Acquisition

When Google Wave was announced, the Etherpad team wrote on their blog comparing the two platforms and stating that the minimalist and targeted Etherpad interface could be an advantage in some use cases.{{cite web|url=http://etherpad.com/ep/blog/posts/google-wave-joins-etherpad |url-status=dead |archive-url=https://web.archive.org/web/20100102004338/http://etherpad.com/ep/blog/posts/google-wave-joins-etherpad |archive-date=January 2, 2010 |title=Google Wave Joins EtherPad in Real-time Collaboration |author=Daniel Clemens |date=June 3, 2009 |publisher=EtherPad Blog |access-date=September 23, 2016 |df=mdy }}

Still, on 4 December 2009, Etherpad announced on its blog that it had been acquired by Google for integration into Google Wave. Existing Etherpad users would receive invites for Google Wave.{{cite web |url=http://etherpad.com/ep/blog/posts/google-acquires-appjet |title=Google Acquires AppJet |archive-url=https://web.archive.org/web/20091206200422/http://etherpad.com/ep/blog/posts/google-acquires-appjet |archive-date=December 6, 2009 |url-status=dead |access-date=September 23, 2016 |df=mdy }}

On 31 March 2010, Etherpad announced that creation of new pads would be allowed until April 14 (pad creation was still allowed as of April 18, though) and existing pads could still be accessed and used until May 14. Options for download/export were available. The Etherpad service terminated on May 14.{{cite web

| url = http://etherpad.com/

| title = EtherPad Homepage

| publisher = EtherPad

}}

Open source

Google released the source code for Etherpad under the Apache License version 2.0 on December 17, 2009.{{cite web

| url = http://etherpad.com/ep/blog/posts/etherpad-open-source-release

| title = EtherPad Open Source Release

| author = Aaron Iba

| publisher = EtherPad Blog

}}

Subsequently, Google asked the Etherpad code maintainers to remove JSMin from its code tree due to a clause in its license stating, "The Software shall be used for Good, not Evil," which is not compatible with the open source licenses allowed on Google Code.{{cite web

| url = http://wonko.com/post/etherpad-source-includes-jsmin

| title = Etherpad source includes JSMin, which Google Code doesn't allow

| author = Ryan Grove

| publisher = Wonko.com

}}

After the release of the software as open source, a number of people have set up Etherpad servers,{{cite web

| url = http://tech.slashdot.org/article.pl?sid=09/12/19/0059221

| title = Swedish Pirate Party hosts EtherPad.

| author = Thomas Nybergh

| date = December 19, 2009

| publisher = Slashdot

}} as clones of the original website. Soon after, users and programmers of Etherpad, after an initial meeting,{{Cite web |url=http://doc.etherpad.org/ep/pad/view/ro.yeXzIY6BakG/latest |title=EtherPad: Ro.yeXzIY6BakG / Latest text of pad v0PmO3y02h |access-date=October 7, 2010 |archive-url=https://web.archive.org/web/20110726035239/http://doc.etherpad.org/ep/pad/view/ro.yeXzIY6BakG/latest |archive-date=July 26, 2011 |url-status=dead }} created the Etherpad Foundation{{cite web|url=http://etherpad.org |title=etherpad.org |publisher=etherpad.org |access-date=December 11, 2013}} to coordinate further development. Their website maintains a list of a growing number of [https://github.com/ether/etherpad-lite/wiki/Sites-That-Run-Etherpad sites that run the Etherpad] software.

Etherpad Lite

Etherpad Lite is an almost complete rewrite of the original Etherpad software, based on different technical foundations and written by different authors.

While the original Etherpad is written in Java and Scala{{cite web |title=Etherpad on Github |url=https://github.com/ether/pad |website=GitHub |access-date=4 April 2019}} and has quite demanding system requirements,{{cite web

| title = Etherpad Vs Etherpad Lite — Which is right for you?

| date = 2012-01-15

| url = https://blog.etherpad.org/2012/01/15/etherpad-vs-etherpad-lite-which-is-right-for-you/

| access-date = 2021-01-31

}} Etherpad Lite is written in server-side JavaScript using Node.js. The original realtime synchronization library (called Easysync) remains the same.

Etherpad Lite has some distinctive features which are not available in the original version:

  • An HTTP API which allows the user to interact with the pad contents, and with user and group management
  • A jQuery plugin exists which helps embedding the collaborative editor in other sites{{cite web|url=https://github.com/ether/etherpad-lite-jquery-plugin |title=ether/etherpad-lite-jquery-plugin ¡ GitHub |publisher=Github.com |access-date=December 11, 2013}}
  • Clients for PHP,{{cite web|url=https://github.com/TomNomNom/etherpad-lite-client |title=TomNomNom/etherpad-lite-client · GitHub |publisher=Github.com |access-date=February 14, 2013}} Python,{{cite web|url=https://github.com/devjones/PyEtherpadLite |title=devjones/PyEtherpadLite · GitHub |publisher=Github.com |access-date=February 14, 2013}} Ruby,{{cite web|url=https://github.com/jhollinger/ruby-etherpad-lite |title=jhollinger/ruby-etherpad-lite · GitHub |publisher=Github.com |access-date=February 14, 2013}} JavaScript,{{cite web|author=README.markdown |url=https://github.com/tomassedovic/etherpad-lite-client-js |title=tomassedovic/etherpad-lite-client-js · GitHub |publisher=Github.com |access-date=February 14, 2013}} Java,{{cite web|url=https://github.com/jhollinger/java-etherpad-lite |title=jhollinger/java-etherpad-lite · GitHub |publisher=Github.com |date=January 20, 2013 |access-date=February 14, 2013}} Objective-C{{cite web|url=https://github.com/alexzautke/etherpad-lite-objc |title=alexzautke/etherpad-lite-objc · GitHub |publisher=Github.com |access-date=February 14, 2013}} and Perl,{{cite web|url=https://metacpan.org/pod/Etherpad |title=Etherpad - interact with Etherpad API - metacpan.org |publisher=metacpan.org |access-date=May 30, 2023}} which interface with the API.
  • More than 50 plugins,{{cite web|url=https://github.com/ether/etherpad-lite/wiki/Available-Plugins |title=Etherpad Available-Plugins · GitHub |publisher=Github.com |access-date=July 22, 2014}} among them email_notifications, invite_via_email, offline_edit, fileupload, tables or rtc for video calls based on WebRTC.

Etherpad Lite offers a number of export formats, including LaTeX, but {{as of|2019|06|lc=true}}, not Markdown.

{{cite web

| title = Markdown support. ep_markdown is abandoned — Issue #3503

| date = 24 October 2018

| work = etherpad-lite

| url = https://github.com/ether/etherpad-lite/issues/3503

| access-date = 2019-01-21

}}

But there is an official addon to export in markdown.{{Cite web|title=ep_markdown|url=https://www.npmjs.com/package/ep_markdown|access-date=2021-07-25|website=npm|language=en}} Etherpad Lite supports many natural languages. Localization is achieved collaboratively through translatewiki.net.

See also

{{Commons category}}

References