Talks and Slides by Collabora at FOSDEM 2022

FOSDEM 2022 – The Talks and Slides from the Collabora Team

Whether on-site in Brussels or as an online event like the last two years, FOSDEM is and remains the largest and most important gathering of Open-Source developers in Europe. We’d like to express our gratitude to the community and the organisers. The Collabora team gave numerous talks in the LibreOffice Technology devroom. Missed a presentation? Below you will find links to all videos and to the downloads of the slides.

 

Gülşah Köse

LibreOffice Technology devroom

OOXML Document Analysis

Collabora developer Gülşah Köse explains how we respond when we receive a problematic OOXML document from a customer and demonstrates the solution to a sample bug. See details

Watch the talk!
Download the slides!

 

Miklos Vajna

LibreOffice Technology devroom

Document Themes in LibreOffice Impress and Elsewhere

LibreOffice has been capable of handling colour palettes on its UI for a while. Meanwhile, the competition introduced document themes, which are a fixed set of 12 colours, to be attached to various parts of documents. See what we have done to bring themes to LibreOffice and find out what still needs doing and how you can help. See details

Watch the talk!
Download the slides!

 

Gökay Şatır

LibreOffice Technology devroom

Canvas For Rendering UX

Gökay Şatır shows why we chose to use Canvas for rendering the UI and the document, and explains the structure we created to execute this task. See details

Watch the talk!
Download the slides!


Mert Tümer

LibreOffice Technology devroom

Editing Simulation

Performance measurements are really challenging. This presentation by Mert Tümer covers how we can achieve reliable and repeatable performance tests by implementing clever tools that simulate realistic use cases. See details

Watch the talk!
Download the slides!

 

Jan Holesovsky

LibreOffice Technology devroom

LibreOfficeKit Recent Developments

LibreOffice can be used by other applications via its C++ API called LibreOfficeKit. Primary use cases for this are document conversion and editing in Collabora Online. The LibreOfficeKit is currently being expanded. Jan “Kendy” Holesovsky talks about these recent developments See details

Watch the talk!
Download the slides!

 

 

Michael Meeks

LibreOffice Technology devroom

Online Performance – Making Collaborative Editing Quicker

Collabora Online has a novel model that re-uses the core LibreOffice Technology to provide rich collaborative editing. Recently, we have been focusing our development on improving the look and feel of document editing. Watch Michael Meeks talk about how Online performance wins are making browser-based collaborative editing quicker. See details

Watch the talk!
Download the slides!

 

Szymon Kłos

LibreOffice Technology devroom

Building Collabora Online UI Based on the LibreOffice Components

JSDialog is a “framework” for sharing UI components between Collabora Online and LibreOffice. It was used to bring the Sidebar, the NotebookBar, and dialogs to the web. It provides native HTML widgets connected to the original LibreOffice code, giving the user rich editing options even on mobile devices. Watch Szymon Kłos‘ talk for a brief summary of what has already been done and how it works. See details

Watch the talk!
Download the slides!

 

Pranam Lashkari

LibreOffice Technology devroom

Collabora Online on Kubernetes – Setup & Deployment

See this talk by Pranam Lashkari for a comprehensive demonstration of how to deploy Collabora Online using Kubernetes. See details

Watch the talk!
Download the slides!

 

Ashod Nakashian

 16:00 – 16:30 – LibreOffice Technology devroom

Collabora Online: Async-Saving Design and Testing

This talk explores the challenge of saving and uploading documents to the storage server in an asynchronous way, to improve performance, user experience and also ensure higher reliability and resiliency. Ashod Nakashian covers both the design and the challenges of testing a highly critical component of a production product.

See details Join video & conversation

Watch the talk!
Download the slides!

 

Henry Castro

LibreOffice Technology devroom

Macro Dialog Feature

Watch Henry Castro‘s talk on the implementation of a Macro Selector Dialog on the client side to execute VBA macros on the server side. See details

Watch the talk!
Download the slides!

 

 

About Collabora Online

Collabora Online 21.11 is our latest enterprise quality release. It’s suitable for large-scale deployment, and comes with SLA, enterprise support with signed security updates as well as interaction with product management, helping to direct our development priorities. Collabora Online integrates flawlessly into Nextcloud, ownCloud, Seafile, and many of the major file sync & share, groupware and hosting solutions. It’s ideal for organizations that want to collaborate on documents, without losing control over them or compromising on privacy. With the ability to host it on your own hardware or to integrate it into a trusted environment, Collabora Online is the ideal online office suite for digital sovereignty. Enterprises interested in using Collabora Online can check out our home page for more information on partner integrations and online demos. Hosting and Cloud businesses that wish to add Collabora Online to their product portfolio can become a partner. For any questions or tailored solutions, do not hesitate to contact hello@collaboraoffice.com.

 

Read More

Collabora Online performance wins – what we did for CODE and Collabora Online 21.11

Learn about the many performance improvements in CODE and Collabora Online 21.11

CODE 21.11 – announced yesterday – and of course also Collabora Online 21.11 bring together many performance improvements that we have been working on through the 6.4.x lifecycle as well as some more advanced optimizations. These are rather hard to screenshot for your viewing pleasure for obvious reasons, so please forgive some technical details and links to further reading for those interested. It is ongoing work; more about that at the end of this blog.

Asynchronous save

Collabora Online works hard to preserve your edits in the unlikely case of server-side failure. We regularly auto-save the document while users are editing, however in the past storing your document through to the back end storage had to be completed successfully before the user could continue typing. This could cause some jerkiness from time to time as people typed. Now this up-loading part of the saving is done asynchronously – i.e. in the background. For more technical details you can enjoy a talk on the design. For times when it is necessary to save synchronously such as during a save-as, we now provide animated user-feedback, color-coded according to the respective current application:

Accelerated JavaScript

Lots of work has been done first to profile, and then to optimize the performance of Collabora Online. Our profiles showed, somewhat surprisingly, that a lot of the scope for improvement was in the browser. As such we have significantly improved our websocket message handling, pixel processing and grouping of UI refreshes to give very significant interactivity improvements to more recent 6.4.x versions.

Online calc profile image before optimization
avoiding duplicate work (shown) by performing DOM updates after processing a batch of incoming events.

Moving more of the document to the client

Collabora Online 21.11 brings an understanding of text documents’ page positioning to the browser. That allows us to rendering page surrounds there avoiding a source of perceived flicker when moving up and down documents, and giving a smoother experience. This builds on more recent work in Calc to render worksheet backgrounds, and grid in the browser for similar reasons – giving slicker editing.

Improved spreadsheet performance in Calc

Collabora continues to put a lot of effort into enhancing the performance of our collaborative office suite. As an example, our streamlining of the Find & Replace functionality resulted in a massive performance boost. Also, opening speed of large XLSX files saw a some significant improvements. In Collabora Online 21.11, we have fundamentally revised the way spell checking is done in Calc with a new spell check that prevents continual re-rendering as strings are processed, while also caching spell-checking information, yielding considerable performance improvements. Similarly, AutoFilter searching has been optimized for large numbers of unique records.

Improved multi-user editing

One of the unfortunately pathological test-cases users like to do is to mash the keyboard – which generates text at around ten times the speed of a normal typist. Nevertheless this is something we have been optimizing along with scalability to larger numbers of concurrent editors of the same document. For more details checkout some insights into our ongoing work, or a deeply technical blog on optimizing for a larger number of users. Failing that – we have a video of a torture test of an intense multi-user editing session showing old, 6.4.x, and 21.11 versions from top to bottom:

Optimizing pathological loads – old/6.4.x/21.11

Ongoing work

We continue to work to profile and optimize uses-cases that are important to our users, the upcoming 21.11 micro-releases will exhibit more continuous improvement in this area – as well as ongoing improvements to our document pixel compression to make things even faster and lighter. It is well worth staying up-to-date with the latest releases.

There is also a summary talk of many other recent performance improvements for those with a deep interest in this area.

Test CODE 21.11

 

Please try out CODE 21.11 and let us know of any workloads which you find have issues so that we may expand our internal testing & benchmarking to include them.

About Collabora Online

Collabora Online is the powerful LibreOffice-based online office that supports all major documents, spreadsheets and presentation file formats, which can all be easily integrated in many infrastructures and solutions. Key features are collaborative editing and excellent office file formatting support. Collabora Online is excellent for enterprises that need a powerful office suite in the Cloud, or on-premises, that protects their privacy and allows them to keep full control of their sensitive corporate data. Collabora Online – built on LibreOffice Technology – enables Hosting and Cloud businesses to include document viewing and collaborative editing functionality into their service offerings.

 

 

Read More

Collabora Online performance wins – an insight into our ongoing work

Optimizing the performance of Collabora Online is one of the central focal points within our current development work. Following improvements in the recent Collabora Online 6.4.10 release, the upcoming 21.11 release will exhibit more of the continuous improvements in this area. The improvements may be noticeably experienced through a variety of daily work done by means of the software. But how exactly does the implementation of massive performance improvements work? It can be compared to solid detective work. Follow us through this search for clues!

Performance improvement for multiple users – a detective story 🔎

In advance of the actual coding, working on performance improvements closely resembles detective work. Simulating multiple users working on the same document, is something that turned out to be feasible with the feature in LibreOffice purposed for displaying a document within different windows (Window > New Window). This was a feature that already existed in LibreOffice predecessor OpenOffice. It may be a rarely used feature on the desktop, but it does mirror the way of collaborative editing with Collabora Online. However, one must then find out how this code scales… The investigator in this story is Collabora developer Luboš Luňák. He was on to something big here, which led to significant performance improvements across various levels, ultimately benefiting all users of LibreOffice Technology. The technical details of his search and subsequent conclusions can be seen on Luboš’ blog.

 

 

Performance wins illustrated 📊

While extensive work continues with its progress, a list of current performance improvements is also available on Luboš Luňák’s blog. The following video of the Collabora Online perf-test – a test routine we use to measure performance in Collabora Online – illustrates the performance improvements of the implementations already made. The test simulates the fast, simultaneous typing of six users in a document (the other five are not visible in the video because they are writing elsewhere in the document). The rigorous test setting, which goes far beyond what is required of the software in everyday use, is ideally suited to visualizing performance improvements. In the video, you can see the performance of Collabora Online before the latest optimizations in the upper excerpt, and the significantly better performance in current versions during (middle) and after optimizations have been implemented (bottom).

Optimizing pathological loads – before/during/after

 

Performance talk at COOL Days 2021 🆒

Collabora developer Luboš Luňák discussed the various performance improvements in Collabora Online during the Developer Day at COOL Days 2021, a conference hosted by Collabora and dedicated entirely to Collabora Online. His talk “Rendering wastage and performance wins” covered the profiling process, described existing performance issues and displayed a variety of improvements at different levels. Technically interested people can find his talk on YouTube. The corresponding slides are also available for download.

Watch the video!
Download the slides!

 

 

Please try out Collabora Online 21.11 – RC 1, and let us know of any workloads which you find have issues so that we may expand our internal testing & benchmarking to include them.

About Collabora Online

Collabora Online is the powerful LibreOffice-based online office that supports all major documents, spreadsheets and presentation file formats, which can all be easily integrated in many infrastructures and solutions. Key features are collaborative editing and excellent office file formatting support. Collabora Online is excellent for enterprises that need a powerful office suite in the Cloud, or on-premises, that protects their privacy and allows them to keep full control of their sensitive corporate data. Collabora Online – built on LibreOffice Technology – enables Hosting and Cloud businesses to include document viewing and collaborative editing functionality into their service offerings.

 

 

Read More