Some people say that the most profound change that the Internet has brought to human society is that it has changed the way people collaborate with each other and greatly reduced the cost of information dissemination. Being in the Internet industry, studying the methods and means of information dissemination is our daily homework. Synchronous transmission of information Information is consumed as it is produced. Words come out of my mouth and enter your ears. After this moment, it is very troublesome to restore the scene and feelings. Most of the time, it is not necessary. In synchronous scenarios, the production of information often does not require careful consideration, but through discussions and clarifications, the overall picture of the topic is gradually outlined. The timeliness of expression is more important than the richness of the method. Typical scenarios include instant messaging, voice calls, video conferences, etc. Simple and clear, without too many formats. Asynchronous transmission of information The production and consumption of information occur asynchronously. Typical scenarios include forums, blogs, document libraries, and emails. When I write this document, you can't see it. When you read it, I have already finished writing it. In asynchronous scenarios, the producer of information will carefully consider the wording to ensure that his meaning is accurately conveyed. The richness of expression is very important. In addition to text, paragraph structure, lists, diagrams, and tables are all conducive to the accurate expression of information. How documents express information The traditional document information expression method is a typical asynchronous communication. The above-mentioned asynchronous scenarios can all be seen in the shadow of documents. With the ability to transmit information both synchronously and asynchronously, the birth of collaborative documents has undoubtedly brought a revolution to Internet-based communication and collaboration. In 1989, Microsoft Office, which represents "documents", was first introduced to the world on the Macintosh system, and the operation transformation algorithm, which represents "collaboration", was also first seen in a paper. Data consistency problem and operation transformation algorithm The simplest understanding of collaborative editing is similar to group chat. Each person modifies the document on his or her own computer and sends the operation to other users who have opened the document. When the operation is received from other users, the operation is replayed. For example, the following example: However, beautiful ideas are inevitably challenged by reality. Because of network latency, operations from different users may be executed in different orders on each end. The same operation, but in different execution orders, will produce different results. For example: Data consistency is the minimum requirement for collaborative editing. Of course, we can force operations to be sorted by the time they arrive at the server, but this ordering will destroy the context of the user's editing at the time, resulting in editing results that do not meet the user's expectations. Operational transformation algorithm is not an algorithm, but a general term for a class of algorithms. They solve the same problem for different document data models: Of course, there is still a lot of depth in collaborative documents and operation transformation algorithms. This article is just a brief introduction to the basic principles. If you want to learn more, you can refer to the following literature: Operational Transformation Frequently Asked Questions and Answers Google Wave Operational Transformation Achieving convergence, causality-preservation, and intention-preservation in real-time cooperative editing systems Context-based Operational Transformation in Distributed Collaborative Editing Systems Conclusion In March 2006, Google Docs was launched. Its real-time collaborative editing function amazed the world and shocked Microsoft Office, which was firmly in the top position of office suite. Office caught up, but Office 365 with the same function was launched five years later. What kind of strong fortress is collaborative editing that stopped Microsoft, which was so powerful, for five years? What core technologies are needed to make a collaborative editor? What inspiration can collaborative editing technology bring to ordinary front-end application development? In D2, we will share more technical principles and practices with you. |
>>: In order to "force" users to switch to 5G, operators have come up with new moves?
The business of the three major operators has bee...
According to the latest survey report titled &quo...
AkkoCloud is a Chinese hosting company establishe...
September 1 news, at the main forum of the "...
US-based telecom operators have been working on h...
[51CTO.com original article] This is not the firs...
In 2019, Samsung and Apple were the first to intr...
LPWAN deployment for IoT devices aims to provide ...
V5.NET has launched a regular promotion this mont...
The last time I shared information about ShockHos...
AkkoCloud is a Chinese hosting company founded in...
Recently, the Future Mobile Communications Forum ...
As an operation and maintenance person, operation...
Today, applications are in a stage of explosive g...
[[428158]] I have used JWT as an authentication t...