Спільний редактор в реальному часі

Спільний редактор у режимі реального часу (англ. Collaborative real-time editor)—це тип програмного забезпечення для спільної роботи, що дає змогу спільного редагування в режимі реального часу, одночасне редагування або редагування в реальному часі того самого цифрового документа, комп'ютерного файлу чи даних, що зберігаються у хмарі (наприклад, електронної таблиці, документа, бази даних або презентації) одночасно різними користувачами на різних комп’ютерах або мобільних пристроях, з автоматичним та майже миттєвим об’єднанням їх правок.

Спільне редагування в режимі реального часу може відбуватися в Інтернеті у таких вебпрограмах, як Microsoft Office (раніше Office Online), який підтримує синхронне редагування (яке Microsoft називає "співавторством") документів Word, електронних таблиць Excel, PowerPoint та інші документи Microsoft Office, що зберігаються на Office.com, хмарному сховищі OneDrive або SharePoint, або Документах Google та інших програмах G Suite (офісний пакет) для спільного онлайн-редагування документів та файлів, що зберігаються на Google Drive. Спільне редагування в режимі реального часу може також здійснюватися гібридно, наприклад, за допомогою Power Sheet BI для Excel,[1] в автономному режимі, в Інтернеті та в режимі спільного редагування у встановленому програмному забезпеченні, а також у вебпрограмах та мобільних додатках, які можуть синхронізуватися автоматично з миттєвим доступом до історії версій. У 2020 році відродився інтерес до вбудовування цих додатків у захищені вебпрограми, особливо для бізнес-випадків, коли Microsoft і Vaadin взяли на себе ініціативу створення спеціалізованих сервісних програм для співпраці в режимі реального часу.[2][3]

Історія ред.

Перший приклад спільного редактора в режимі реального часу був продемонстрований Дугласом Енгельбартом у 1968 р., у The Mother of All Demos. Широкодоступні варіанти реалізації концепції з’явилися через десятки років.

Instant Update був випущений для класичної Mac OS у 1991 році від ON Technology.[4] Потім також була випущена версія для Microsoft Windows, що дозволяє в реальному часі працювати із цими двома операційними системами.

Феномен Web 2.0 викликав вибух інтересу до інструментів редагування документів на основі браузера. Зокрема, продукт під назвою Writely спричинив бурхливий ріст користувачів і був придбаний Google у березні 2006 року (пізніше став відомим як Google Docs, а згодом перейменований на Google Drive). Ще одним раннім рішенням на основі Інтернету було JotSpotLive, в якому одночасне редагування було доступне майже в реальному часі.[5] Google Sites був запущений у лютому 2007 року як перероблений JotSpot.[6][7]

У 2009 році Google розпочав бета-тестування Google Wave — середовища для співпраці в режимі реального часу, яке повинно було витіснити електронну пошту та обмін миттєвими повідомленнями. Пізніше EtherPad був придбаний Google, і він виділив команду EtherPad для роботи в рамках проекту Wave. У грудні 2009 року спільнота випустила повний рерайт з назвою Etherpad lite, який повністю написаний на JavaScript і побудований на node.js. Іншими інструментами, заснованими на технології операційної трансформації, є CKEditor та SubEthaEdit.[8]

У 2020 році Microsoft також випустила свою програму Fluid, яка працює на новій технології Total Order Broadcast.[9][10]

У жовтні 2020 року компанія Vaadin Ltd. випустила V1.0 свого Collaboration Engine.[11] На даний момент ця функція підтримує Java, хоча постачальник зазначає, що API на основі TypeScript також підходить. Після нещодавнього розширення платформи Vaadin, з'явилась можливість побудови інтерфейсу на основі TypeScript в майбутньому завдяки майбутній структурі Fusion.[12][13]

Технологічні виклики ред.

Складність рішень для спільного редагування в реальному часі випливає із затримки спілкування. Теоретично, якби спілкування відбувалося миттєво, створення спільного редактора в режимі реального часу було б не складніше, ніж створення редактора одного користувачі, оскільки документ можна редагувати за допомогою алгоритму:

  1. Запит щодо маркеру редагування документа
  2. Очікування відповіді серверу щодо своєї черги редагувати документ
  3. Внесення правок, безпосереднє редагування
  4. Завершення редагування

Однак швидкість зв'язку обмежена через затримку в мережі. Це створює проблему: користувачам потрібні власні правки, включені в документ миттєво, але якщо вони включені миттєво, то через затримку спілкування їх правки обов’язково повинні бути вставлені в різні версії документа.

Таким чином, завдання спільного редагування в режимі реального часу полягає в тому, щоб точно з’ясувати, як застосовувати редагування віддалених користувачів, яке спочатку створювалось у версіях документа, які ніколи не існували локально, і які можуть суперечити локальним редагуванням користувача.

Див. також ред.

Примітки ред.

  1. PowerSheet.ai: free all-in-one no-code collab, auto mobile apps, BI, Excel, RPA. PowerSheet.ai: free all-in-one no-code remote collaboration, auto apps, analytics & planning platform (англ.). Процитовано 22 квітня 2021.[недоступне посилання]
  2. Fluid Framework. fluidframework-docs.azureedge.net (англ.). Архів оригіналу за 24 квітня 2021. Процитовано 22 квітня 2021.
  3. Ltd, Vaadin. Collaboration Engine | Vaadin. vaadin.com (англ.). Архів оригіналу за 20 квітня 2021. Процитовано 22 квітня 2021.
  4. Instant Update. web.archive.org. 21 лютого 2009. Архів оригіналу за 21 лютого 2009. Процитовано 22 квітня 2021.
  5. JotSpot Live – The Perfect Wiki?. TechCrunch (амер.). Процитовано 22 квітня 2021.
  6. It Took 16 Months, But Google Relaunches Jotspot. TechCrunch (амер.). Процитовано 22 квітня 2021.
  7. Chartier, David (28 лютого 2008). First look: Google relaunches JotSpot as Google Sites. Ars Technica (en-us) . Архів оригіналу за 22 квітня 2021. Процитовано 22 квітня 2021.
  8. Sun, Chengzheng; Sun, David; Ng, Agustina; Cai, Weiwei; Cho, Bryden (4 січня 2020). Real Differences between OT and CRDT under a General Transformation Framework for Consistency Maintenance in Co-Editors. Proceedings of the ACM on Human-Computer Interaction. Т. 4, № GROUP. с. 06:1–06:26. doi:10.1145/3375186. Процитовано 22 квітня 2021.
  9. Frequently Asked Questions. fluidframework-docs.azureedge.net (англ.). Архів оригіналу за 22 квітня 2021. Процитовано 22 квітня 2021.
  10. Fluid Framework. fluidframework-docs.azureedge.net (англ.). Архів оригіналу за 22 квітня 2021. Процитовано 22 квітня 2021.
  11. Meet Collaboration Engine: The simplest way to build collaborative web apps. Vaadin (англ.). Архів оригіналу за 22 квітня 2021. Процитовано 22 квітня 2021.
  12. A sneak-peek at the future of Vaadin’s real-time collaboration features. Vaadin (англ.). Архів оригіналу за 22 квітня 2021. Процитовано 22 квітня 2021.
  13. Introducing Vaadin Flow and Fusion. Vaadin (англ.). Архів оригіналу за 22 квітня 2021. Процитовано 22 квітня 2021.