Collabora Online tiles paradigm

Forgive my naive question, but I wanted to know if Collabora Online has the plan to switch away from its tiles paradigm.
I know several people having tried CO and they found that the rendering was laggy on the client while the bandwidth and CPU ressources are high on the server. So these people just moved to OnlyOffice, a suite designed from the beginning to be online.
From my non-expert point of view, this tiles paradigm seems to be a dead end. So I would like to know what the experts think and what are their plans.
I understand this is not a trivial task, but I would be delighted to see a Collabora Online developed with web technologies, since I am a fan of LibreOffice and ODF.

Forgive my naive question, but I wanted to know if Collabora Online
has the plan to switch away from its tiles paradigm.

Good question; and the answer is no and partly yes, let me expand:

There are clearly benefits on eg. mobile devices from having the work done on a server. We can load, render and deliver a view of a large document to a dozen mobile editors far faster than downloading the document, downloading local Javascript, JIT-ting that JS, creating an in-memory data-model for that, doing the layout and locally rendering it. That ultimately saves bandwidth, battery, etc.

When it comes to spreadsheets, re-using the mature and powerful, threaded calc core to re-calculate can give a one thousand X speedup for calculation of large sheets (vs. some native JS alternatives).

Also there are very significant engineering advantages to re-using eight million lines of mature, tested, existing LibreOffice code - rather than try to re-write and manage a similar volume of code in a type-unsafe language, run locally on your phone. There are also huge advantages to not trying to synchronize out of order editing across multiple different models in each client.

Our approach caches tiles on the client, to allow smooth zoom & pan, without the need to go to the server to re-render. Lots of operations are extremely snappy.

Having said that - we are working to reduce latency, and improve interactivity. Only this weekend we discovered and fixed some particularly pointless side-bar re-rendering during calc editing =- that completely dominated the experience of cell editing; that should now be silky smooth. Similarly, we accelerated PNG compression by ~30% which is a chunk of our server-side cost. You can check that out in the pending 6.4.4 release. If you’d like to get involved with tracking and optimizing bogus invalidations do get in touch.

Moving forward we expect to move more of the furniture of document rendering to the client - document page backgrounds, spreadsheet background and grid etc. to the JS - to provide further acceleration and interactivity improvements. We’re also mid-way through re-working our front-end rendering to target the canvas natively which should significantly simplify the client-side code while improving crisp-ness and snappiness. That should also make further optimization of our image deltas compression far simpler to deploy.

So - I believe we have a lot of runway left to improve the experience here. If you’re aware of any particularly slow interactions in COOL 6.4.4 that are in common use - it would be great to know about them in the ticket tracker.

Thanks.

1 Like

Thank you Michael for the detailed and interesting explanation.

I tested again today your demo server, and when typing a in a document the letter was appearing ~0.3 s after typing the keyboard. This is not terribly bad, but if that could be <0.1 s, that would clearly be more comfortable. Maybe it would be possible to display the current characters in js, before the new tile appears?

I would suggest to put your arguments on your web site.
OnlyOffice has detailed web pages where they compare OnlyOffice to Collabora and give their own technical arguments:

There is also something which I like in OnlyOffice.
They have OnlyOffice personal, where you can use the software for free for personal use.
That makes it far simpler to test and start using the software.
I would really appreciate to have something similar for Collabora.

All the best.

I would suggest to put your arguments on your web site.
OnlyOffice has detailed web pages …

I don’t think it makes sense to engage in actually senseless argument, which is clearly trying to trick users into impression that these technical details really matter for them, when what in fact matters for users is actual performance and reliable support (something that Collabora indeed provides). As you see, we have our vision on this, other products may be based on different ideas, and all may have their merit. The technical discussion is fine e.g. on Collabora Online Weekly Meetings (see respective section on the forum), when someone intends to help development, and wants to discuss the direction, but not as IMO ill-formed marketing.

… personal, where you can use the software for free for personal use.
I would really appreciate to have something similar for Collabora.

Please take a look at CODE:

Get your own online Office Suite up and running at home with CODE!
… aimed at home users …

Or you may have it as part of e.g. NextCloud solution.

Or are you talking about offline office suite?

Thank you for your answer.

Personally I think it is OK to describe your own technical advantages if it is done in a fair way (you don’t actually need to mention the competitors).
It actually helps people to decide what is best for them.

I will take a look at CODE, but if I understand correctly, you have to set up and manage your own server to use Collabora Online. Most interested people will not be able to do that.
It would be far easier to just log on a provided server with a login and password, as is the case with your demo server but without the restrictions so that you can use it for real use.

All the best.

Do you mean that the other suite you mentioned provides some free-to-use cloud service?
It is not what Collabora offers, neither for free not commercially; we offer a software on-premise solution (if we talk about Collabora Online), and the demo server is just what “demo” implies: something to test, not to work with your data.

For those who do not want to manage their own server, Collabora Online is not the right tool. There are local solutions, both supported commercial (Collabora Office, also on MS Store and AppStore) and free (Collabora Office on Google Play, LibreOffice for desktops).

(Actually, this topic about “something similar” is a bit off-topic here in the “Collabora Online tiles paradigm”. It would be better if you created a separate thread, so that people who look for information about tiles were not distracted by unrelated stuff :slight_smile:)

Thank you for your message.
I think now I better understand the advantages of the tiles/display-on-server paradigm, which I tries to summarize here:

  • 100% compatible with the offline version of LibreOffice (same code)
  • No problem of synchronizing different file versions, since there is only one file version (on the server)
  • faster to load big files (network is not involved)
  • faster than web technos (javascript) on resources-hungry files (e.g., big spreadsheet file)

I hope the latency problem can be further improved.
I will open a different thread for the personal service wish.
All the best.

PS: maybe this thread should be moved to “development”, I picked the wrong thread, I think, sorry.

@parrenin I would modify your last point:

  • faster than web technos (javascript) on resources-hungry files (e.g., big spreadsheet file) or resource-poor clients

And I believe that this is also true (but don’t take my word for it as I’m not a dev…)

  • avoids data leakage into temporary files on the client