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.

 

 

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.

 

 

Developers Day: September 30th

COOL Days 2021 starts very soon with a Developers Day. Meet other developers at this event. It is free to join, virtual this year, and we expect the very first of many COOL Days to come! Reserve your seat by filling the form.

Developers Day features more than 40 sessions with included breaks for Q&A. All talks will be short, from 5 to 15 minutes, this in turn will allow you to watch more cool stuff and perhaps participate in Q&A slots! The full schedule will be released soon, but here is a test.

Starting off with the opening keynote at 09:30 CEST then a couple of talks ranging from insight on Localization of Collabora website; walk-through the Notebookbar structure; Updates on newly FreeBSD port; HowTo session on the Cypress tests and ending the morning session with Canvas for rendering UI.

Q&A ( max 15 min) followed by lunch break (1 hour), during the conference you will have multiple opportunities to participate during these Q&A time slots.

In the afternoon session, attendees will receive an update on the latest Calc canvas improvements followed by a presentation on Performance wins; Editing simulation; Android and iOS new features; Scaling improvements and Dialog improvements.

Q&A break (max 15 min)

See some of the Mobile design improvements; Get to know the ins and outs of bisecting; Collabora Online forum update; Learn how to get involved with translation; Stability and cleanup improvements; How 1&1 embeds COOL and right before the break Kubernetes setup & deployment.

Q&A break (max 15 min)

At 20:00 attendees will hear about all of the effort on the New sidebar and dialog backend. The proceeding talks will touch a variety of challenges and improvements: Async-save design; VBA macro support; OOXML document analysis; Rendering wasteage; Document searching; Multi-page PDF viewing; Text/JSON protocol performance improvement; Fuzzing / asan / string-vectors; User sentiment reporting; Setting up your own Collabora Online; SDK: creating a new integration.

Q&A break (max 15 min)

The last Collabora Online related talks centers on integration pieces and the latest development on that front. From the New Nextcloud/richdocuments pieces and New ownCloud integration pieces to the Moodle integration or the New Mattermost integration ending with a talk on how to contribute and the closing session.

The event as a whole is a great opportunity for people who are familiar with Open Source and Collabora Online. People who just want to learn more about the technology free of cost also have a great opportunity to experience the openness of COOL and the event itself.

Join us to celebrate the 1st COOL day on September the 30th, it’s free of charge:

Reserve your seat


If you have more of a business interest in deploying Collabora Online in the enterprise
then perhaps you should attend the Business Day? Early booking: 50% off before September 18!

Important new spreadsheet features and many other improvements in Collabora Online 6.4.3

Pivot Tables, Managing Names and Statistical Tools – new in Collabora Online 6.4.3

Version 6.4.3 brings powerful features to Calc online. You can now insert or edit Pivot Tables, and can now Define and Manage Names and use new Statistical Tools in spreadsheets. AutoFilter works more smoothly as well. Writer gains the ability to Insert Bookmarks and Reference Fields and there are many improvements to make Collabora Online better looking, easier to use and to offer more functionality. The full overview is in the release notes page.

Using Pivot Tables in Collabora Online

Pivot Tables are a flexible and powerful analysis tool for mixed data sets. The Pivot Table icon on the Data tab starts the wizard to create a Pivot Table in three steps. Editing the lay out of an existing Pivot Table, can be started with the same button. To create a new Pivot Table, do the following:

    1. Select the source (use the current selection or define one)
    2. Define the layout by dragging the available fields to the desired part of the Pivot Table
    3. Make final adjustments like defining the destination (new tab, or a position on the current one) of the Pivot Table and other options.

 

Select the data source for the Pivot Table
Step 1: Select the data source for the Pivot Table
Defining a Pivot Table layout in Collabora Online
Step 2: Drag and drop the available fields to define the layout of the Pivot Table
Pivot Table wizard in Collabora Online
Step 3: Make final (optinal) adjustments, like e. g. destination of the Pivot Table
Filtering data and adjusting the finest details to get the perfect result, with a rich set of sub-dialogs familiar from the desktop!

 

Defining and managing Range Names in Calc Online

Define Names allows you to specify easy to use names for selected areas. Access this function via the Data tab in Calc (or the Insert tab in later versions). Once one or more ranges are defined, they can be managed through the Manage Names function. While calculation in Online always used these names, the ability to manage them online is very convenient.

Defining range names in Collabora Online
Manage range names in Collabora Online
Mind that via the Options in Define Names, you can also define a Print Range. Print ranges are essential to configure and print useful PDF documents from a spreadsheet focused on the areas of greatest interest. Another great win in this new Collabora Online version!

 

 New look of AutoFilter in Collabora Online

The AutoFilter feature has been redesigned and is now using natively themed dialogs. It generates a rich combo box on the data columns of a range, that allows you select the data to be displayed and as well start the dialog for the even more flexible Standard Filter dialog.

 

Statistical tools for data analysis

Calc offers more than a dozen powerful statistical tools. Those are now available in Collabora Online via tab Data, tab. For statistical analysis you can access:

  • Sampling
  • Descriptive Statistics
  • Analysis of Variance (ANOVA)
  • Correlation
  • Covariance
  • Exponential Smoothing
  • Moving Average
  • Regression
  • Paired t-test
  • F-test
  • Z-test
  • Chi-square Test

A more detailed description about the statistical tools is available in the Collabora Online documentation. The Fourier Analysis can also be found inside the Statistics menu.

 

Improved document jail performance

Then there is an important improvement in performance for some users in Collabora Online 6.4.3. The details are rather technical. Collabora Online isolates each document into a secure jail. This is done by falling back through a series of options to ensure performance and security. The fastest approach (tried first) is bind-mounting, after which Collabora Online tries to use capabilities like cap_fowner to hard-link system files in. Unfortunately, in the 6.4.x series an intersection with systemd namespaces crippled this hard-linking optimization. In 6.4.3 this is now solved by copying files out of the system to a place that can safely and quickly hard-linked so then they can be shared. This is far faster than the ultimate fallback: raw copying of the data. The developers further accelerated the raw copying case by avoiding copying dictionaries too. For some systems this should give a significant performance win for document thumbnailing and load times, we also warn when hitting this slowest code-path too.

 

More new features in Collabora Online 6.4.3

Collabora Online is in permanent development, steadily introducing safe new features into our stable releases and constantly improving interoperability and user experience. Please check-out our release notes to find out about the latest features and improvements. Would you like to test the latest version with all new features? Then simply request a free demo!

 

 

How to access the new features in the classic UI

The new icons are only available in the new NotebookBar UI. However, if you are using the classic UI you will also be able to access the Pivot Table, AutoFilter, Define Name & Manage Names via the Data tab. On mouseover, a dropdown menu will give you access to the features.

About Collabora Productivity

Collabora Productivity is the driving force behind putting LibreOffice in the cloud, providing Collabora Online and a range of products and consulting to enterprise and government. Powered by the largest team of certified LibreOffice engineers in the world, it is a leading contributor to the LibreOffice codebase and community. Collabora Office for Desktop and Collabora Online provide a business-hardened office suite with long-term, multi-platform support. Collabora Productivity is a division of Collabora, the global software consultancy dedicated to providing the benefits of Open Source to the commercial world, specializing in mobile, automotive and consumer electronics industries. For more information, visit www.collaboraoffice.com or follow Collabora Office on Twitter .

 

Collabora Productivity releases Collabora Online 1.0 “Engine” for Hosters and Clouds.

Collabora Online (COOL)

Cambridge – 2 June 2016

Collabora Productivity, the driving force behind putting LibreOffice in the Cloud, has released the first production grade version of Collabora Online, its flagship cloud document suite solution. “Engine” is targeted specifically at Hosting and Cloud businesses who wish to support both commercial and consumer document viewing, creation and editing services in their portfolios.

Collabora Online 1.0 is the culmination of several years’ intensive work”, said Michael Meeks, General Manager of Collabora Productivity. “Our objective is to enable key document suite service delivery for hosters by integrating seamlessly with their existing groupware, storage, file sharing and other customer solutions. Critically, Collabora will tailor the look and feel of the integration to complement a hoster’s identity and desired product experience

collabora_online_writer_1
collabora_online_writer_2
collabora_online_writer_3

 

collabora_online_writer_4
collabora_online_writer_5
collabora_online_calc_1

 

collabora_online_calc_2
collabora_online_calc_3
collabora_online_impress_1

 

collabora_online_impress_2
collabora_online_impress_3

separator

engine_libreoffice_icon

LibreOffice Online:

Collabora Online 1.0 “Engine” is a powerful LibreOffice-based online office suite, that enables users to access documents online, author new content and work collaboratively.

engine_server_icon

Customizable Integration:

Collabora Productivity offers customizable integration with existing infrastructure (identity management, storage, HA etc.) and tailor solutions to existing hardware and network needs.

engine_customize_icon

Customizable User Interface:

Collabora Online 1.0 “Engine” is designed to easily be adjusted to any online environment, so it will share the same look and feel.

 

Want to try it out yourself? Simply fill in this demo form and get receive access to the demo. The demo includes the files that were used for the screenshots above.

Request a Free Demo!

 

About Collabora Productivity:

Collabora Productivity is the driving force behind putting LibreOffice in the Cloud, providing a range of products and consulting to enterprise and government. Powered by the largest team of certified LibreOffice engineers in the world, it is a leading contributor to the LibreOffice codebase and community. Collabora Office for Desktop and CloudSuite provide a business-hardened office suite with long-term, multi-platform support. Collabora Productivity is a division of Collabora, the global software consultancy dedicated to providing the benefits of Open Source to the commercial world, specialising in mobile, automotive and consumer electronics industries. For more information, visit www.collaboraoffice.com or follow @CollaboraOffice on Twitter.