ONLYOFFICE vs Collabora: why we are sure that our solution is better

    Hello! ONLYOFFICE team returns to Habr, as we promised. We will try to write more often and more, and generally keep you up to date with events. 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, along with the question: “What are you better than Google Docs?” they began to ask us the question “Well, why are you better than Collabora?”. This is due to our integration with ownCloud and Nextcloud services, of which Collabora is the official partner.

    If we talk about the advantages, then Collabora has a lot in front of us - ideological. It lies in the fact that this product is the successor of OpenOffice and LibreOffice. It is not easy to fight with them for users, but we have strong arguments in our favor. Now we will tell.

    Where is the editor? A brief digression into the anatomy of Collabora and ONLYOFFICE

    Collabora is a view of an editor open on the server in your browser. And this editor is LibreOffice. In many ways, Collabora’s behavior resembles a thin client because almost nothing happens on your computer. All 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).

    At ONLYOFFICE we try to use the client’s resources. That is, the editor really works in your browser, it just periodically exchanges data with the server. If in Collabora on the server a little more than everything happens, then on our server there are only a few processes, including saving, converting and checking spelling. This allows you to save server resources and work faster.

    About rendering and typing

    It’s easy to see how rendering works in Collabora. 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 at all. When testing this product, we had to look at gray spots.

    In general, the Collabora device involves some natural slowdown: the editor is on the server, it is torn 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-fledged 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: about 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 that is in Libre. In other words, they * had a table of contents * earlier than the product itself (since 2003, approximately).

    * and here you 100% remember us that we, for example, have no table of contents so far. We advise you to do this quickly right now, before it's too late. Because this claim does not last long.

    In fact, it’s too early to rejoice anyway: we already mentioned that Collabora has its own web interface, and so far not everything has been dragged into it. You cannot add not only a table of contents, but even a banal auto-shape or diagram. In general, despite the fact that the opening of documents at Collabora is now at the desktop Libre level, its editing capabilities are still extremely basic. Because, apparently, there is no functionality - no problem *

    * * but we went the other way

    You know, there are such events where we represent ONLYOFFICE editors and they ask us something like: can you change the font or highlight the text in bold? We are upset and ask to give us a harder task because we have passed this stage a long time ago - we added all possible objects, beautiful diagrams, working with autofigures and formulas. Now we are completing the table of contents, pivot tables (they 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 recall, the fact that 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 with whom you work have remained faithful to ODF, then this will not be a problem for you. This will be a problem for those who openly prefer Microsoft, or who work with a wide range of documents from various sources. Collabora will not suit them (especially the first).

    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 a world leader and their editors are still everywhere and have been saving documents in such formats since 2007.

    In ONLYOFFICE, we use the docx, xlsx and pptx formats as the base formats, because we want to open most of the documents perfectly, not a smaller one. And yes - we will certainly 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 convertible. And the quality of conversion is constantly growing.

    Architecture: why is it expensive to use Collabora?

    Mostly because it uses server resources. This is the main disadvantage of just starting the editor on the server and connecting everyone to it. In the end, if it were beneficial, then you-Know-Who * would have used this scheme for a long time.

    (* Microsoft)

    Let’s explain: you open a document and it takes up 500 MB of memory (and at the same time it can increase consumption during formatting). Then your colleague opens his document - another minus 500 MB of memory. And if someone opens a document of 700 pages - another minus 1.5 GB. How much memory and servers will you need to cover the needs of your team? 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, use one common kernel to run, but the document is still written to memory - to the server’s memory in the case of Collabora.

    The scheme that Collabora developers have chosen simply devours your resources. If you have a large company, then with such an office you will have to deal exclusively with servers: there will be a lot of them and it will be necessary to constantly balance the load between them, because clients should not interfere with each other (but they will).

    The balancing possibilities are not endless, if only because in such a scheme the client is attached to the server. The main binding here is co-editing. For example, you invite a colleague to join the editing of the report that you are currently working on. Great, but in the Collabora scheme, he needs to go into the same editor on the same server on which you are now. And it doesn’t matter that another 10 people rule their documents on it, understand where we are going? You will interfere with each other and everything will slow down.

    Of course, Collabora is trying to somehow level it all 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 pass there, changes are not loaded. Saving.

    ONLYOFFICE architecture: why is it better?

    Because we use the computing resources of the client, not the server. Of course, we consume server resources too, but to a much lesser extent than Collabora. Communication between the client and server is supported, but not significant. Testing (and practice) shows that on a server (for example, with an Intel Core i5 processor) with ONLYOFFICE deployed, we can comfortably allow 75 users (more precisely, 75 open tabs with editors) per core.

    Thus, on a hypothetical machine with two cores, only 8-10 users can work in Collabora, and 150 in ONLYOFFICE.

    Co-editing: pain or joy

    Collabora introduced co-editing. It is based on the fact that editors go to the same editor on the same server. The inconvenience is connected with this: there are things that are included for the entire document. That is, if you are both in a document in Collabora and someone turns on Track Changes, then Track Changes turns on for everyone. And you cannot avoid it. Perhaps that is why Collabora has no printable characters yet.

    In ONLYOFFICE, this basically will not happen: you really have a full-fledged editor in your browser, and this is completely your space where you can turn Track Changes on and off without intruding on anyone's personal space. And not just Track Changes.

    What do you want to do when you press undo?

    Another point in working together 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.

    Collabora undo / redo is pass-through 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 cannot do it. The Undo button will be active only for the second user, because the last action belonged to him. In general, poor user User 1 will not be able to undo his last action until User 2 cancels his last action, that is, the letter "B". This means that there is no difference in Collabora, 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 at the same time changes occur in the toolbar: as, for example, for 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 is happening 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 this? Mostly because we do almost everything on the client. A list of actions is stored there - not only ours, but also strangers. Your own actions are flagged so that you can roll back later. In this case, the server is used as a database, with the help of which we synchronize edits on clients. We have already described the technical details of the implementation here . The most important difference between undo / redo implementations is that it works for us "from the user", and for Collabora - "from the document".

    Brief conclusions

    • Collabora is better than ONLYOFFICE to open OpenDocument documents, but much worse to open OOXML (docx, xlsx, pptx).
    • ONLYOFFICE functionality is currently broader than Collabora functionality. But Collabora potentially has all the features that are in Libre.
    • On one server with 2 cores, 8-10 users can work simultaneously if Collabora is deployed on it, or 150 users if ONLYOFFICE is installed on it.
    • In Collabora, processing of all actions from the user occurs on the server, in ONLYOFFICE - on the client.
    • Collabora is slower, it's an architecture cost.
    • Collabora co-editing is based on the fact that users go to the same document in the same editor, which causes a number of inconveniences.
    • In ONLYOFFICE, each user has his own full-fledged editor in the browser. The server is used as a database for storing user edits and subsequent assembly of the file.

    You can draw your conclusions or consider aspects that we have missed. But you know what? In our opinion, so far Collabora is a slow product (this can be solved with good Internet), raw (but can be modified), with a lot of bugs (but they will be fixed, of course), but most importantly, their architecture is economically disadvantageous and plantain isn’t 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 tools are grouped into thematic tabs. This allowed us to make it easier to navigate the editor’s tools, and also to make visible many important things - for example, plugins (we will talk about them separately soon). What the new interface looks like and what became where in this video .

    Also popular now: