
Welcome our readers. Although the last time I have not much time (hmm, tautology, however), but once again looking through the news feed, I came across a description of an interesting service, an online text editor to work together. Of course, there are
Google Docs ,
Zoho Writer and many others, including the
Adobe Buzzword , but from experience this is either difficult decisions or aimed at a full replacement of word processors, for example, MS Office Word. And what if a simple editor is required, where, say, only one function will be available - text editing itself? Yes, with a reservation - with the possibility of parallel work on one document of several users. Someone in this case uses wiki-systems and they just provide joint editing of the text, allowing you to roll back to any number of versions back and view the edits of users. But the wiki has never been a means of working in real time - that is, I open the document, make edits and save, and only after that I see what has changed, taking into account edits of other users (if they have saved their add-ons at this point). And if it is necessary to work in real time?
This is where
the EtherPad project comes
into play . This is a very simple, even more - absolutely simple editor in which you can create your own documents (pad in the terminology of the project) and invite other users to edit. What is significant, there are no fundamentally any means of text formatting - only the input field and the line numbering function (a very correct and necessary option, I dare say). Such a restriction immediately puts an end to other applications of the service - it clearly does not unfold here, showing to the colleagues the art of drawing up a document in three fonts and six styles simultaneously. However, this is the main strength of the editor.
The author of the document can, by e-mail, invite any number of other users for editing (this registration is not required, only a unique URL for each pad), each of which receives its own color to highlight its own corrections (similarly to the mode of working in Word). , I remember how I made up contracts with lawyers, the document was literally full of all the colors of the rainbow). I have not yet found an indication of the number of simultaneous editors of a single document, but it is logical to assume that the limitation of the system has nothing to do with it - after five or six people who will be in charge at the same time, without clear rules you will get confused and no tools will most likely will not help.
')
Characteristically, all edits made by one user are very quickly, literally instantly, accessible to everyone -
Comet technology is used for continuous communication with the server,
the developers themselves oppose this to the classic AJAX approach, in the same Google Docs, where saving a document takes several, or even tens of seconds. Here, visually often invisible delay, which allows to achieve almost live communication.
Additionally, there is a chat for communication of the editing participants - it is also without excesses, which is very pleasing (phew, I'm so glad that there are no smiles here). It will be useful for general notification of the participants or clarification of certain amendments. Chat history is saved when you reboot and re-enter the editor, which is also a big plus.
The editor has a version system, albeit adjusted for the specific application. Any user can save the current state of the document to the revision, along with all revisions made so far, and in the future you can return to any intermediate version or simply view it (but with restrictions only in plain text). It is commendable that all intermediate versions are available at their unique addresses and can be distributed to others or bookmarked - documents will always be available, and if you have the right to edit them, then you can immediately start working with any intermediate version.
It should be said that the revision is saved here manually, and not automatically, as in Google Docs, and this is the right decision. In most cases, the document is updated directly as text is typed by another user, therefore automatic scheduled saving of text would hardly give the desired result β the document is already persistent, that is, the current copy is saved, and where and when, at what stage to create intermediate versions may be needed, already the personal file of the editors themselves.
There are not so many options in the editor that you can customize, but one I would like to point out especially - the JavaScript code! If you are editing not just a text document, but JS source code, then this option will make it much more convenient to organize your work. Honestly, it is in this function that the main purpose of the editor is hidden, in my opinion - it is very convenient for learning or parsing difficult moments in code between developers. Well, or for pair coding, following the popular XP methodology - you do not have to sit at one desktop and share one computer, you can be anywhere, but work together. Well, a nice little thing - the editor can be expanded to the entire area of ββthe screen, even hiding the options panel and chat, thus freeing up maximum space for the text itself.
Honestly, the project is really simple, yes, there is nothing in it ... and all together is just fine! It turns out that there is no need to fence the most complicated interfaces and use super technologies, itβs enough to implement just a few, but the most necessary and used features, that's all.
What can be added or improved? I would expand the communication part in terms of communication between the editors of one document - it would be worth adding here if not full IM support, then at least an extension towards voice communication, I think that would be a good addition. The lack of formatting tools is hampering only at first, it really is not really necessary here, but it would be very worth expanding support for syntax highlighting to other languages ββ- and first of all to popular ones in the web environment. At first I wanted to write that autosave is still needed, but then I realized that it is there, the document is constantly stored after each change, so the revision mechanism simply complements it, implementing the forks of the main document, so to speak. Something else to add is difficult, I see that the project is really finished, and any of its extensions will change it in the other direction, destroying the original idea.
By the way, the platform itself, on which the project is designed and executed, deserves a separate study.
AppJet is an online platform that uses JavaScript, executed on both the server and the client, to build a web application. At the lower level, on the server, a servlet is executed that provides all the other possibilities β scaling, access to databases, implements the Comet protocol, the built-in object database, and even a simple IDE for development, which also works directly in the browser. However, you can find out the details yourself on the project website, and I promise to write a separate review of this platform soon.
PS But still, a blog is power! EtherPad now has private beta status and there is no open registration. But it was enough to write to the administration and indicate that I want to receive an invitation in order to write a review, by the way, the first one in Runet, as I kindly sent the invitation within a few hours.