Tech Blog.

Thoughts, stories, ideas.

Office365, Google Docs or data integrity?

13. May 2017

Clouds are sexy! Set them up instantly, maintenance and care are outsourced, scale resources without assistance, and web solutions now often offer functions you can only dream of with desktop solutions.

Since Google began demonstrating how people can collaborate on the same document online, even die-hard Word freaks have noticed that text editing is primarily about contents. And contents are faster and simpler to produce, now that you and your co-workers or fellow students can work directly on the same text.

The same goes for project management tools. Even the biggest fans of conventional desktop solutions are noticing how practical it is to be able to easily update the status of a task via browser.

The list of such applications keeps growing and growing, and it’s no surprise that ever more workflows are moving to the web… but what happens to the data?

The use of Dropbox, Google Docs, SmartSheet, etc. has one major disadvantage: all the data is placed in the hands of third parties, and any organisation which takes this step runs the risk of its company secrets ending up in the wrong hands.

It’s a choice between using the advantages of the cloud or guaranteeing data security.

Collabora Online – Functionality and Data Security

With LibreOffice, the Open Source Community has created an Office Suite which is already well-established and is very rapidly being further developed.

Our colleagues at Collabora are among the biggest supporters of this project and saw early on that a web-based solution needed to be found in order to also cover the new requirements facing web-based workflows.

Collabora Online embedded into Nextcloud

Instead of starting from field 1 and developing a completely new Office solution for browsers, the Collabora developers have added on to LibreOffice, creating a sort of web front end around it.

The resulting solution is called Collabora Online, is completely open source, can be run on your own infrastructure and is topped off with commercial support services.

How does Collabora Online work?

Collabora Online is comprised essentially of a server component, which can best be described as a sort of headless LibreOffice.

This daemon renders the documents on the server. It uses the same code basis as the desktop version. But instead of using a GUI for the drawing interface, it directly creates bitmap representations of the documents. The server accepts external connections via HTTP(S) and provides WebSockets for communicating with the browser.

In the client, an HTML/JavaScript application is run which is essentially based on leaflet.js. leaflet.js was created in the context of online maps, and you might be wondering how it’s relevant here. Now, if we divide a document up into 256×256 pixel segments and slap a zoom function on it, we suddenly see that an online representation of a document is pretty similar to a map display.

Above this “map display”, there floats a (transparent) layer, through which the user interacts with the document. Actions like highlighting text, moving objects around, etc. are performed on this layer and sent via the WebSocket to the server.

The server service rerenders the document and invalidates the areas of the document which need to be redrawn. The new tiles are sent to the browser, which then replaces the areas as needed.

Communication between client/server

The roundtrip-time (client → server → client) has a major influence on how smooth the editing feels. I wrote this text using Wifi and a conventional VDSL connection. I noticed some typing latency. The ping times to the host were about 20ms, but I didn’t find this lag to be all that bothersome. However, when moving images around, it became more of an issue.

Range of functions

The range of functions currently includes a subset of the possibilities offered by desktop applications. However, all the basic functions are available and are working perfectly so far.

It doesn’t matter if you’re working with a text document, a table or a presentation – all of these file types are supported equally well.

Of course, the collaborative editing option is what sticks out about this solution. A document can be edited by multiple users simultaneously. Each cursor is displayed separately – just like we’ve seen in solutions like Google Docs.

Outlook

Collabora is working intensively on making more LibreOffice functions available for your browser. By the end of 2017, many more functions are expected be added to the online version. Of course, it really helps that all the features have already been implemented on the server side and “only” the front end part needs to have the appropriate calls added.

Test account

We are currently running intensive tests and gathering operating experience for the solution. We are happy to set up test accounts for interested readers of our blog. Just shoot an email to info@adfinis.com – however, at this point, we cannot yet guarantee the availability of this service! But the data are stored on the servers of our infrastructure, and we won’t mess around with it – we promise! 🙂

Conclusion

Collabora Online has real potential! This solution from Collabora is simple and brilliant. Documents are rendered perfectly, and there is 100% compatibility between the desktop and the online version. This advantage alone is a USP in and of itself. Even more importantly, you can run the solution in your own data centre, as if that weren’t enough. The whole thing is open source and even commercial support offers with local partners are already available.

The only down-side: the round-trip times will be problematic with slow connections. With the approach being taken, this will still remain an issue in the future.

Links