TU Darmstadt / ULB / TUbiblio

Optimizing Collaborative Plain Text Editing Algorithms for Decentralized Non-Realtime Text Editing

Hedtke, Moritz (2024)
Optimizing Collaborative Plain Text Editing Algorithms for Decentralized Non-Realtime Text Editing.
Technische Universität Darmstadt
doi: 10.26083/tuprints-00027834
Bachelorarbeit, Erstveröffentlichung, Verlagsversion

Kurzbeschreibung (Abstract)

Text editing is ubiquitous, as it occurs on almost every website, mobile app, and desktop application. Collaborative text editing avoids manual synchronization when working together with others on text. This requires algorithms that can efficiently combine the concurrent edit operations in an intent-preserving way. Additionally, supporting a wide range of network scenarios enables offline work in a decentralized manner with better availability and reliability than with central servers. In this thesis, we first look at prior solutions for plain text editing and their ability to preserve user intentions, as users should not experience unexpected behavior when concurrently editing text. Then, we improve the benchmarking approach of prior research to estimate asymptotic complexity and to measure performance of algorithmic edge cases. Based on that, we propose optimizations for a prior collaborative text editing algorithm called Fugue. Our optimized algorithm can handle character insertion and deletion in logarithmic runtime in relation to the text length and with constant memory usage per character operation. It uses 25 bytes and one microsecond per operation on four Intel Xeon Gold vCPUs for a representative text with 25 million operations. We also develop a local web application as a proof of concept for working on plain text collaboratively using WebRTC. Additionally, we show that the maximally non-interleaving property in the Fugue paper can exhibit interleaving when deletions are involved.

Typ des Eintrags: Bachelorarbeit
Erschienen: 2024
Autor(en): Hedtke, Moritz
Art des Eintrags: Erstveröffentlichung
Titel: Optimizing Collaborative Plain Text Editing Algorithms for Decentralized Non-Realtime Text Editing
Sprache: Englisch
Publikationsjahr: 19 September 2024
Ort: Darmstadt
Kollation: 69 Seiten
DOI: 10.26083/tuprints-00027834
URL / URN: https://tuprints.ulb.tu-darmstadt.de/27834
Kurzbeschreibung (Abstract):

Text editing is ubiquitous, as it occurs on almost every website, mobile app, and desktop application. Collaborative text editing avoids manual synchronization when working together with others on text. This requires algorithms that can efficiently combine the concurrent edit operations in an intent-preserving way. Additionally, supporting a wide range of network scenarios enables offline work in a decentralized manner with better availability and reliability than with central servers. In this thesis, we first look at prior solutions for plain text editing and their ability to preserve user intentions, as users should not experience unexpected behavior when concurrently editing text. Then, we improve the benchmarking approach of prior research to estimate asymptotic complexity and to measure performance of algorithmic edge cases. Based on that, we propose optimizations for a prior collaborative text editing algorithm called Fugue. Our optimized algorithm can handle character insertion and deletion in logarithmic runtime in relation to the text length and with constant memory usage per character operation. It uses 25 bytes and one microsecond per operation on four Intel Xeon Gold vCPUs for a representative text with 25 million operations. We also develop a local web application as a proof of concept for working on plain text collaboratively using WebRTC. Additionally, we show that the maximally non-interleaving property in the Fugue paper can exhibit interleaving when deletions are involved.

Status: Verlagsversion
URN: urn:nbn:de:tuda-tuprints-278347
Sachgruppe der Dewey Dezimalklassifikatin (DDC): 000 Allgemeines, Informatik, Informationswissenschaft > 004 Informatik
Fachbereich(e)/-gebiet(e): 20 Fachbereich Informatik
20 Fachbereich Informatik > Softwaretechnik
Hinterlegungsdatum: 19 Sep 2024 08:21
Letzte Änderung: 23 Sep 2024 10:33
PPN:
Export:
Suche nach Titel in: TUfind oder in Google
Frage zum Eintrag Frage zum Eintrag

Optionen (nur für Redakteure)
Redaktionelle Details anzeigen Redaktionelle Details anzeigen