744:
349:
319:
490:, which allows for lock-free editing of a document by multiple users. It imposes no editing constraints and resolves all conflicts automatically. The algorithm overcomes one of the most significant challenges in designing and implementing real-time collaborative editing systems, namely consistency preservation. That is, to ensure that at quiescence (that is, when no messages are in transit) the shared document is identical for all participants.
74:
176:
33:
630:: Guarantees when the same set of operations (for example, an operation can be an insert/delete of a character) have been executed at all sites, that all copies (also known as replicas) of the shared document are identical. That is, this property ensures the consistency of the final results at the end of a cooperative editing session.
482:
Once a user has joined a shared document, he can freely edit the document at the same time with all participants as a virtual team. So-called awareness information helps to avoid unnecessary conflicts (that is, two users editing at the same time and text location). Awareness information includes the
690:
does not change the effects of independent operations. That is, this property ensures that executing an operation at remote sites achieves the same effect as executing this operation at the local site at the time of its generation, and the execution effects of independent operations do not interfere
620:
instances, each instance run by a different user. All instances are connected by a network. One of the most significant challenges in designing and implementing real-time cooperative editing systems is consistency maintenance among the different document replicas (one for each site). A cooperative
577:
The last point reveals some more potential for cooperative editing systems: Groups of two to three students can write essays together. On the one hand, they teach each other how to use the written language, and on the other hand, they can have fun together using a hands-on application on the
586:
A real-time cooperative editing system such as ACE allows multiple users to view and edit the same document at the same time from multiple geographically dispersed sites. The sites are connected by communication networks. The following requirements have been identified for such systems:
524:
Consider a collaborative editing session with three participants, named Bill, Steve, and Scott, as depicted by the figure. There is also a fourth user, named Sam, who does not participate in the session. The document which the users collaboratively edit is
466:
with standard features such as copy/paste and load/save. Multiple documents can be edited at the same time. Furthermore, ACE can share documents with other users on different computers, connected by communication networks
475:). ACE also discovers users and their shared documents automatically in a local area network. Users can opt to join any discovered shared document. For all this, no configuration is necessary because it is based on
310:
853:
612:: Multiple users are allowed to concurrently and independently edit any part of the document at any time, in order to facilitate free and natural information flow among multiple users.
541:
OS. Note that the blue color always denotes the text written by the local user of the ACE instance. The color to matching a participant is depicted in the participants view of the
186:
497:(RFC 3080) and zero-conf networking. All this leaves the possibility open to communicate even with different applications that understand the public protocol of ACE.
716:
is responsible for merging two concurrent operations. It is application dependent. For example, a text editor has different operations than a whiteboard application.
668:
at all sites. That is, this property ensures the consistency of the execution orders at all sites of dependent operations during a cooperative editing session.
848:
903:
200:
of the topic and provide significant coverage of it beyond a mere trivial mention. If notability cannot be shown, the article is likely to be
878:
709:
which is responsible of receiving, broadcasting and executing operations. It is independent of the type of document replica and application.
749:
722:
888:
289:
271:
157:
60:
450:. It is a real-time cooperative editing system that allows multiple geographically dispersed users to view and edit a shared text
893:
883:
197:
898:
757:
447:
95:
868:
476:
91:
46:
252:
193:
138:
606:: Cooperating users may reside on different machines connected by communication networks with nondeterministic latency.
224:
209:
110:
863:
387:
340:
858:
696:
487:
411:
231:
117:
84:
873:
238:
124:
21:
801:
597:
483:
cursor and the currently selected text of the other users marked with the color of the respective user.
318:
220:
205:
106:
596:: The response to local user actions must be quick, ideally as quick as a single user editor, and the
201:
592:
561:
486:
The heart of the application is a concurrency control algorithm based on the innovative concept of
394:
578:
computer, thus losing fear of contact with the computer, which is essential in today's education.
348:
382:
16:
This article is about the desktop-based collaborative editor. For the web-based code editor, see
787:
600:
for reflecting remote user actions is low (determined by external communication latency only).
530:
501:
367:
52:
406:
362:
621:
editing system is said to be consistent if it always maintains the following properties:
245:
131:
529:. User Scott is the owner and publisher of it. Note that users Steve and Bill work on
842:
513:
17:
626:
833:
762:
463:
399:
73:
739:
326:
701:(OT) algorithms. The OT algorithm approach consists of two main components:
720:
The theory on consistency maintenance stems from the research field called
534:
505:
472:
451:
371:
829:
422:
538:
509:
375:
192:
Please help to demonstrate the notability of the topic by citing
767:
728:
494:
542:
468:
309:
169:
67:
26:
695:
One solution to achieve consistency control is provided by
553:
Here is a list with a few examples on how ACE can be used:
854:
Free software programmed in Java (programming language)
802:"Windows vs MacOS vs Linux – Operating System Handbook"
570:
Write texts together (e-mails, letters, journals, etc.)
616:A real-time cooperative editing system consists of
417:
405:
393:
381:
361:
339:
325:
98:. Unsourced material may be challenged and removed.
500:ACE runs on all major operating systems such as
187:notability guidelines for products and services
682:at all sites are the same as the intention of
8:
302:
61:Learn how and when to remove these messages
493:ACE builds upon open technologies such as
347:
317:
308:
301:
290:Learn how and when to remove this message
272:Learn how and when to remove this message
158:Learn how and when to remove this message
779:
20:. For the society of film editors, see
768:Computer Supported Collaborative Work
7:
750:Free and open-source software portal
96:adding citations to reliable sources
788:"ACE - a collaborative editor Code"
723:Computer Supported Cooperative Work
14:
42:This article has multiple issues.
742:
174:
72:
31:
849:Collaborative real-time editors
185:may not meet Knowledge (XXG)'s
83:needs additional citations for
50:or discuss these issues on the
904:Software using the GPL license
758:Collaborative real-time editor
686:, and the effect of executing
448:collaborative real-time editor
1:
636:: For any pair of operations
477:zero-configuration networking
446:) is a platform-independent,
879:Cross-platform free software
444:ACE – a collaborative editor
678:, the effects of executing
920:
698:Operational Transformation
488:operational transformation
194:reliable secondary sources
183:The topic of this article
15:
889:Free software for Windows
560:Source code development (
357:
335:
316:
307:
894:Free software for macOS
884:Free software for Linux
714:transformation function
533:OS, whereas Scott uses
22:American Cinema Editors
899:Java platform software
672:Intention-preservation
634:Causality-preservation
567:Collective note-taking
331:pyron, rasss, zbindenl
707:integration algorithm
582:Technology background
869:Windows text editors
674:: For any operation
573:Educational purposes
92:improve this article
664:is executed before
557:Group brainstorming
304:
864:MacOS text editors
454:at the same time.
189:
859:Free text editors
531:Microsoft Windows
527:Collaboration.txt
437:
436:
300:
299:
292:
282:
281:
274:
256:
221:"ACE" editor
184:
168:
167:
160:
142:
107:"ACE" editor
65:
911:
817:
816:
814:
813:
806:freeCodeCamp.org
798:
792:
791:
784:
752:
747:
746:
745:
691:with each other.
656:is dependent on
520:Example use case
462:ACE is a simple
433:
430:
428:
426:
424:
412:GPL-2.0-or-later
363:Operating system
351:
321:
312:
305:
295:
288:
277:
270:
266:
263:
257:
255:
214:
178:
177:
170:
163:
156:
152:
149:
143:
141:
100:
76:
68:
57:
35:
34:
27:
919:
918:
914:
913:
912:
910:
909:
908:
839:
838:
826:
821:
820:
811:
809:
800:
799:
795:
786:
785:
781:
776:
748:
743:
741:
738:
584:
551:
522:
460:
421:
353:
296:
285:
284:
283:
278:
267:
261:
258:
215:
213:
191:
179:
175:
164:
153:
147:
144:
101:
99:
89:
77:
36:
32:
25:
12:
11:
5:
917:
915:
907:
906:
901:
896:
891:
886:
881:
876:
874:Free groupware
871:
866:
861:
856:
851:
841:
840:
837:
836:
825:
824:External links
822:
819:
818:
793:
778:
777:
775:
772:
771:
770:
765:
760:
754:
753:
737:
734:
718:
717:
710:
693:
692:
669:
631:
614:
613:
607:
601:
583:
580:
575:
574:
571:
568:
565:
558:
550:
547:
521:
518:
459:
456:
435:
434:
419:
415:
414:
409:
403:
402:
397:
391:
390:
385:
379:
378:
365:
359:
358:
355:
354:
352:/ 7 March 2006
345:
343:
341:Stable release
337:
336:
333:
332:
329:
323:
322:
314:
313:
298:
297:
280:
279:
182:
180:
173:
166:
165:
80:
78:
71:
66:
40:
39:
37:
30:
13:
10:
9:
6:
4:
3:
2:
916:
905:
902:
900:
897:
895:
892:
890:
887:
885:
882:
880:
877:
875:
872:
870:
867:
865:
862:
860:
857:
855:
852:
850:
847:
846:
844:
835:
831:
828:
827:
823:
807:
803:
797:
794:
789:
783:
780:
773:
769:
766:
764:
761:
759:
756:
755:
751:
740:
735:
733:
731:
730:
725:
724:
715:
711:
708:
704:
703:
702:
700:
699:
689:
685:
681:
677:
673:
670:
667:
663:
659:
655:
651:
647:
643:
639:
635:
632:
629:
628:
624:
623:
622:
619:
611:
610:Unconstrained
608:
605:
602:
599:
595:
594:
590:
589:
588:
581:
579:
572:
569:
566:
563:
559:
556:
555:
554:
548:
546:
544:
540:
536:
532:
528:
519:
517:
515:
514:free software
511:
507:
503:
498:
496:
491:
489:
484:
480:
478:
474:
470:
465:
457:
455:
453:
449:
445:
441:
432:
420:
416:
413:
410:
408:
404:
401:
398:
396:
392:
389:
386:
384:
380:
377:
373:
369:
366:
364:
360:
356:
350:
344:
342:
338:
334:
330:
328:
324:
320:
315:
311:
306:
294:
291:
276:
273:
265:
254:
251:
247:
244:
240:
237:
233:
230:
226:
223: –
222:
218:
217:Find sources:
211:
207:
203:
199:
195:
188:
181:
172:
171:
162:
159:
151:
148:February 2023
140:
137:
133:
130:
126:
123:
119:
116:
112:
109: –
108:
104:
103:Find sources:
97:
93:
87:
86:
81:This article
79:
75:
70:
69:
64:
62:
55:
54:
49:
48:
43:
38:
29:
28:
23:
19:
830:ACE (editor)
810:. Retrieved
808:. 2022-04-12
805:
796:
782:
727:
726:, for short
721:
719:
713:
706:
697:
694:
687:
683:
679:
675:
671:
665:
661:
657:
653:
649:
645:
641:
637:
633:
625:
617:
615:
609:
603:
591:
585:
576:
552:
526:
523:
499:
492:
485:
481:
461:
458:Introduction
443:
439:
438:
327:Developer(s)
286:
268:
259:
249:
242:
235:
228:
216:
154:
145:
135:
128:
121:
114:
102:
90:Please help
85:verification
82:
58:
51:
45:
44:Please help
41:
18:Ace (editor)
834:SourceForge
763:SubEthaEdit
652:(that is,
627:Convergence
604:Distributed
464:text editor
423:sourceforge
400:Text editor
198:independent
843:Categories
812:2023-01-25
774:References
232:newspapers
206:redirected
118:newspapers
47:improve it
593:Real-time
427:/projects
262:June 2013
196:that are
53:talk page
736:See also
660:), then
537:and Sam
535:Mac OS X
506:Mac OS X
473:Internet
452:document
383:Platform
372:Mac OS X
346:M4
598:latency
512:and is
502:Windows
418:Website
407:License
368:Windows
246:scholar
210:deleted
132:scholar
648:->
248:
241:
234:
227:
219:
202:merged
134:
127:
120:
113:
105:
644:, if
549:Usage
539:Linux
510:Linux
508:, or
376:Linux
253:JSTOR
239:books
208:, or
139:JSTOR
125:books
729:CSCW
712:The
705:The
640:and
495:BEEP
429:/ace
425:.net
395:Type
388:Java
225:news
111:news
832:on
543:GUI
469:LAN
440:ACE
303:ACE
94:by
845::
804:.
732:.
666:Ob
662:Oa
658:Oa
654:Ob
650:Ob
646:Oa
642:Ob
638:Oa
562:XP
545:.
516:.
504:,
479:.
471:,
374:,
370:,
204:,
56:.
815:.
790:.
688:O
684:O
680:O
676:O
618:n
564:)
467:(
442:(
431:/
293:)
287:(
275:)
269:(
264:)
260:(
250:·
243:·
236:·
229:·
212:.
190:.
161:)
155:(
150:)
146:(
136:·
129:·
122:·
115:·
88:.
63:)
59:(
24:.
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.