Hello! ONLYOFFICE team returns to Habr, as we promised. We will try to write more and more, and generally keep you informed. Recently, we have something to tell and show.
The topic of the first article was suggested to us by life itself. Not so long ago, on a par with the question: “And what are you better than Google Docs?” They started asking us the question “Well, and what are you better than Collabora?”. This is due to our integration with the services ownCloud and Nextcloud, whose official partner is Collabora.
If we talk about the benefits, then Collabora has in front of us a very large - ideological. It lies in the fact that this product is the successor of the OpenOffice and LibreOffice business. It is not easy to fight with them for users, but we have weighty arguments in our favor. Now tell.
')

Where is the editor? A brief excursion into the anatomy of Collabora and ONLYOFFICE
Collabora is the editor view open on the server in your browser. And this editor is LibreOffice. In many ways, Collabora’s behavior is reminiscent of a “thin client”, because almost nothing happens on your computer. All the magic happens exclusively on the server. True, there is one difference - Collabora does not look exactly like LibreOffice, it has its own interface (we will return to it later).
In ONLYOFFICE we are trying to use the resources of the client. That is, the editor really works in your browser, just periodically it communicates with the server. If in Collabora a little more than everything happens on the server, then we have only a few processes on our server, including saving, converting, and spell checking. This allows you to save server resources and work faster.
About drawing and typing
Seeing how the drawing is arranged in Collabora is easy. The page is divided into blocks, this allows it to load faster (do you remember that these pictures come to you from the server?). But the Internet is a tricky thing, so some of them may load more slowly or not load at all. When testing this product, we had to look at gray spots.
In general, the Collabora device assumes some natural slowdown: the editor is on the server, it is detached from the user. The cursor that we see on the screen, in fact, is not the cursor that is in the editor. Between them there is a delay - sending coordinates. You see just a picture from the editor.
ONLYOFFICE is a full-featured editor in the browser. We fully process all user events on the client and send information about them to the server. It turns out much faster.
Functionality: Potential and Real
The legacy of LibreOffice is a significant advantage of Collabora. Its developers do not need to write all the functions anew; they automatically have everything Libre has. In other words, they had a table of contents earlier than the product itself (from 2003 onwards).
* and here you are 100% remember us that we, for example, have no table of contents yet. We advise you to do this quickly right now, before it’s too late. Because to live this claim is not long.In fact, it's still too early to rejoice: we have already mentioned that Collabora has its own web interface, and so far not everything has been dragged into it. You can not add not only the table of contents, but even a banal autoshape or diagram. In general, despite the fact that the discovery of documents from Collabora is now at the level of the desktop Libre, the editing capabilities of it are extremely basic. Because, apparently, there is no functionality - no problem *
* but we went the other wayYou know, there are such events where we present ONLYOFFICE editors and ask us something like: can you change the font or make the text bold? We are frustrated and ask to give us a more difficult task, because it has long passed this stage - we have added all possible objects, beautiful diagrams, work with autoshapes and formulas. Now we are completing the table of contents, summary tables (they are now open only for viewing) and a digital signature.
Legacy compatibility issues
Everything is clear here: Collabora received all the problems and bugs of Libre as an inheritance. And the main problem here is poor compatibility (very) with Microsoft formats. As we remember, the fact that the Microsoft OOXML formats (docx, xlsx, pptx) are relatives of the OpenDocument formats does not add compatibility to them.
Although, of course, if you and everyone you work with, stay faithful to ODF, then this will not be a problem for you. This will be a problem for those who frankly prefer Microsoft, or work with a wide range of documents from different sources. They (especially the first) Collabora will not work.
Recall that most of the documents on this planet are tied to docx, xlsx and pptx. No matter how much we admire open office suites, Microsoft is still the world leader and their editors are still standing everywhere and have been saving documents in exactly such formats since 2007.
In ONLYOFFICE, we use the docx, xlsx and pptx formats as basic ones, because we want to open most of the documents, not less. And yes - we will definitely open such documents a million times better than Collabora (and Libre). This is our job, we specialize in these formats.
Do we work with ODF? Yes, but we convert. And the quality of conversion is constantly growing.
Architecture: Why use Collabora - is it expensive?
Mainly because it uses server resources. This is the main disadvantage of simply launching an editor on the server and connecting everyone to it. In the end, if it were profitable, then you-Know-Who * would have used this scheme for a long time.
(* Microsoft)Let us explain: you open the document and it takes 500 MB of memory (and at the same time it can increase the consumption in the formatting process). Then your colleague opens his document - even minus 500 MB of memory. And if someone opens a document of 700 pages - even minus 1.5 GB. How much memory and servers do you need to cover your team’s needs? You can calculate: if you have two cores and two gigabytes of memory for each of them, then this is enough for 8-10 people. And if you still have + 8-10 people, then you already need a second server.
You can try to optimize something, for example, to use one common kernel for launching, but the document is still written to memory — to server memory in the case of Collabora.
The scheme chosen by the developers of Collabora simply consumes your resources. If you have a big company, then with such an office you will have to deal exclusively with servers: they will need a lot and you will need to constantly balance the load between them, because customers do not have to interfere with each other (but they will).
The possibilities of balancing are not infinite, if only because in such a scheme the client binds to the server. The main binding here is co-editing. For example, you invite a colleague to join editing a report that you are currently working on. Great, but in the Collabora scheme, he needs to go to the same editor on the same server where you are now. It does not matter that 10 more people rule their documents on it, do you understand where we are heading for? You will interfere with each other and everything will slow down.
Of course, in Collabora they are trying to somehow level this all up and save memory. For example, you may notice that an open document that you don’t touch for a while becomes inactive. While it is inactive, autosave does not work there, changes are not loaded. Saving.
ONLYOFFICE architecture: why is this better?
Because we use the computing resources of the client, not the server. Of course, we spend server resources, too, but to a much lesser extent than Collabora. Communication between client and server is maintained, but not significant. Testing (and practice) shows that on a server (let's take, for example, an Intel Core i5 processor) with ONLYOFFICE deployed, we can comfortably afford 75 users (more precisely, 75 open tabs with editors) per core.
Thus, only 8-10 users can work on a hypothetical machine with two cores in Collabora, and 150 on ONLYOFFICE.
Joint editing: pain or joy
Collabora has been co-edited. It is based on the fact that editors enter one editor on one server. This is what causes the inconvenience: there are things that are included for the entire document. That is, if you are two in a document in Collabora and someone includes Track Changes, then Track Changes is included for everyone. And you can not avoid it. Perhaps that is why there are no non-printable characters in Collabora yet.
In ONLYOFFICE, this will not happen in principle: a full-fledged editor really works in your browser, and this is your entire space where you can turn Track Changes on and off without interfering with anyone’s personal space. And not only Track Changes.
What do you want to do when you press undo?
Another point in collaboration in Collabora is the undo / redo device. So what do you want when you press ctrl-z? We assume that, like any sane person, you want to cancel YOUR last action. Let's see how undo works in our editors to see if we can achieve this goal.
In Collabora undo / redo end-to-end for the entire document. Consider the situation:
User 1 enters the letter "A"
User 2 enters the letter "B"
User 1 wants to cancel the letter "A". He can't do it. The Undo button will be active only for the second user, because the last action belonged to him. In general, the poor fellow User 1 will not be able to cancel his last action until User 2 cancels his last action, that is, the letter “B”. This means that in Collabora there is no difference, joint editing or not, the main thing is to roll back the changes in the sequence in which they entered the document.
Thanks to this undo / redo scheme, such magical moments are born when you seem to be doing nothing, but changes occur in the toolbar: for example, in User 1, when User 2 marked the letter B, the undo button immediately became active. It seems to be a trifle, but it turns out as if what happens in your editor does not depend on you, but on some external factors.
As for ONLYOFFICE, you can undo your last action in any of the co-editing modes (we have two of them, more in
this article ). How do we do it? Basically, because we do almost everything on the client. There is also a list of actions - not only their own, but also others. Your own actions are flagged so that you can roll back later. The server is used as a database with which we synchronize the edits on the clients. We have already described the technical implementation details
here . The most important difference between undo / redo implementations is that it works “from the user” for us, and for Collabora it is “from the document”.
Brief conclusions
- Collabora is better than ONLYOFFICE opening OpenDocument documents, but OOXML (docx, xlsx, pptx) is much worse.
- ONLYOFFICE functionality is currently broader than Collabora functionality. But Collabora potentially has all the features that Libre has.
- On one server with 2 cores, 8-10 users will be able to work simultaneously if Collabora is deployed on it, or 150 users if ONLYOFFICE is installed on it.
- In Collabora, all actions from the user are processed on the server, in ONLYOFFICE - on the client.
- Collabora is slower, this is the cost of architecture.
- Collaborative editing in Collabora is based on the fact that users log in to the same document in the same editor, which causes a number of inconveniences.
- In ONLYOFFICE each user has his own full editor in the browser. The server is used as a database for storing user edits and the subsequent assembly of the file.
You can draw your own conclusions or consider aspects that we have missed. But you know what? In our opinion, so far Collabora is a slow product (this is solved by a good Internet), raw (but it can be improved), with a lot of bugs (but they will, of course, be fixed), but most importantly, their architecture is economically unprofitable and attach, while ONLYOFFICE can be used now. You can start, for example, with our
solution for integration with third-party cloud services, such as Nextcloud and ownCloud.
PS By the way, we recently released ONLYOFFICE editors with a redesigned interface, in which the tools are grouped into thematic tabs. This allowed us to facilitate navigation through the tools of the editor, and also to make visible many important things - for example, plug-ins (we will tell about them soon separately). What does the new interface look like and what has become where in this
video .