Version 6.4 is a major upgrade of the LibreOffice based office suite on your Apple and Android mobile device!
Note: if you want to learn about the history of this project you should also check the first and the second blog post in this series!
After roughly two years of hard work driven by Collabora the latest upgrade of their LibreOffice based iOS and Android app shines with many UI and UX improvements, better performance, important bug fixes and new features.
This blog posts highlights some technical details and explains why this release is so crucial.
The NotebookBar – a Simpler and Better User Interface
When Collabora and Adfinis started the journey of bringing LibreOffice to iOS (Oct. 2018) we first had to create a solid foundation to get the large LibreOffice code base reliably working on iOS. In the initial releases the user interface was more or less borrowed from what Collabora Online offered. This implementation was targeted to users who work with a mouse and a keyboard, but it was not yet fully optimized for a touch only environment, like the iPad.
This is how the main menu looked like in December 2018:
And this is from October 2019:
Meanwhile, Collabora also started to work on an Android and later also on a version for Chromebooks and it became clear, that the VCL based dialogs won’t be a good fit for those platforms. While the interface on Chromebooks has roughly the same requirements as on iPads, the story looks different for Android phones. Smartphones have a small screen and are usually only used with one or two fingers.
As a completely new UI implementation for touch devices would increase the maintenance cost significantly the Collabora engineers started to look for a different approach that makes it possible to reuse as much code as possible of the VCL based UI stack we have in LibreOffice. Szymon Kłos (Collabora) and Caolán McNamara (Red Hat) came up with a solution that allows the models that create the VCL dialogs to send JSON encoded widget information to clients who do not want to draw VCL (or GTK/QT) widgets. This approach is called “jsdialog” and you can find the commits in the core repository of LibreOffice.
New Touch Optimized Interfaces
Based on the jsdialog solution it is now possible to create HTML/CSS/JS based user interfaces and get JSON encoded information from the core about the buttons, lists, labels, etc. that need to be placed on a window/form. The widgets can now be styled with CSS and the rendering is done by the browser engine which renders highly optimized widgets that work perfectly well in a touch only environment.
Based on this approach, Szymon, Jan Holesovsky, Pedro Pinto Silva, and many other Collaborans implemented two new touch optimized interfaces: one for tablets and one for phone screens. And these new interfaces can now be used in Collabora Online and all the apps that build upon it (iOS, iPadOS, Chromebooks, Android).
With 6.4 this new tablet interface (called “notebookbar”) became the default for Chromebooks and iPads and it can also be enabled in Collabora Online using the user_interface.mode config setting.
On smartphones (iPhone and Android) the new interface is called “mobilewizard” and it is already active since the 4.2 release back in February.
The following picture is from the 6.4 release and shows, how the “notebookbar” looks on an iPad.
The buttons are all big enough to be used with a finger and some widgets on iOS even call native dialogs (UIKit); for example for printing or choosing a font.
Opening Doors to More Improvements
The foundation of the work explained (jsdialog) also is the basis to get more dialogs converted to HTML/CSS/JS and to improve other areas as well. For example the sidebars, which currently still rely on the rendering of VCL dialogs onto a browser canvas. As explained before: this is a good approach to make existing features available straightforward, but it also comes with some UI/UX problems, especially on touch only devices.
It’s not clear yet if or when this area can be addressed but it’s something that we’re already discussing with Collabora and is high up on our wishlist.
The whole jsdialog for sure is a significant technical step to further improve the UI/UX aspects and also lowers the bar to get involved. Modifying the UI is now possible with HTML/CSS skills and it’s therefore easier than ever to get involved in this awesome project.
A big thanks to Pedro and Andreas Kainz for their wonderful work they put into improving UI and UX; this really makes a big difference!
A Newer Core, Better Interoperability and new Features
With the 6.4 release the core of the Collabora apps as well as Collabora Online was updated to what the latest Collabora Office builds on; all components are based on the LibreOffice 6.4 engine now. The impressive amount of work that went into this release by different organizations (Collabora, CIB, NISZ, Red Hat, …) and the community (individuals and TDF) brings many improvements to the Collabora app bundle.
The release notes list most of the improvements, but there are a few things we’d like to highlight:
Better SmartArt import/export (see: part 1, part 2, part 3, part 4, part 5 and part 6). This was one area where interoperability with other office suites was not great; this was much improved and most SmartArt drawings are finally handled quite well.
Support for padded numbering (see: part 1 and part 2). This feature was made possible through Adfinis funding and it also closed an interoperability issue that prevented people working in the area of patents to use LibreOffice.
Advanced Emoticons/Emojis with multiple code points are now supported by LibreOffice (see: part 1).
It’s now possible to add tab stops using the ruler in a writer document (see: #128468).
One area where users will also encounter a significant improvement on iOS and Android is rendering speed. The overall responsiveness has much improved and it’s generally much more pleasant to work with the apps. Some areas are still to be optimized but all in all, it starts to be fun to use the apps on a daily basis.
Of course development doesn’t stop here. Thanks to the fact that most of the code is shared among the different implementations (Online, Android, iOS, Chromebooks), improvements in one solution usually have a positive impact on all the versions.
One area that is being worked on at the moment, is the rendering of the actual content of the document. So we may expect some improvements in this field in the near future. The initiative is called “CanvasTileLayer” and the commits can be found in the online repository. The aim of this work is to get rid of some scaling issues, improve zooming, further speedup rendering and remove code complexity.
Some other things we have in mind, but still need to be discussed (and funded):
- Integration of a grammar check
- Support for adding and editing math formulas
- Creation of more and better templates
Reclaim Your Digital Sovereignty
We believe, the 6.4 release is an important step to support the movement to reclaim digital sovereignty. LibreOffice is the F/OSS cornerstone in terms of processing documents, spreadsheets and presentations in a trusted manner and thanks to Collabora it’s finally possible to use the LibreOffice technology on all major platforms.
Judgments such as “Schrems II” once again clearly show that it is delicate to rely on solutions from the large cloud providers when it comes to processing and storing sensitive personal data. The situation is different, clearly much more positive, when using self-hosted solutions from the F/OSS ecosystem and Collabora Office certainly is a good tool that checks all the boxes in this regard. There are no hidden tricks integrated to create a productivity score of its users, the apps support open file formats as first class citizen, the code is entirely auditable and the user don’t need an account from a 3rd party provider to edit files – it’s a solution you and your organization can trust.
It’s easy: there is no other office suite that treats its users in the same fair and transparent way as LibreOffice and solutions building upon it (like the enterprise versions from Collabora)! With the new interface, the much improved performance and its best in class interoperability support it’s now more fun than ever to use LibreOffice on iOS, Android and Chromebooks!
There’s still some work ahead of us until all bugs are fixed, UI and UX is perfect and millions of user are happily using it, but if you’re a privacy respecting organization or you deal with sensitive data you should definitely check out the latest version of the apps and share your feedback with us!
Become a User and Help to Improve It!
The apps are now available in all major stores and it’s also possible to become a tester and report bugs.
- Get the app from the F-Droid repo (do read this blog https://www.collaboraoffice.com/releases-en/collabora-office-on-mobiles-supporting-password-protected-documents-and-available-on-f-droid/ )
- Get the app from the Apple App Store
- Get the app from the Google Play Store
If you’d like to become a tester of the iOS app, you need to follow the following steps:
- Download Testflight through the Apple Store https://testflight.apple.com/join/TEnBWi68
- Click here to join the testflight program; this will give you the latest releases (which are not yet tested)
You can also become a tester for the Android app:
- either use the snapshot from Collabora’s website
- or send a mail to be added to the channel for beta-testers
If you find a bug you can report it on the public bug tracker on GitHub.
And you can also join the great developer community either through IRC (#cool-dev on Freenode) or Telegram.
It’s Your Turn: you can Help to Make This Even Better!
Let’s be frank: money is very helpful to further speed up the development. So, if your organization plans to use LibreOffice on iOS we’re happy to get you on board! Please don’t hesitate to contact us directly to discuss possible ways to support the development.
If you plan to use LibreOffice in an enterprise environment whether on the desktop, on Android, on an iPad or in your private cloud – we strongly recommend the enterprise ready version offered by Collabora. You’ll get long-term support with SLAs, access to the bug tracker, feature back ports and a lot more!
Some Words of Thanks
This fantastic work would not be possible without the strong support and investment of Collabora. Their support and outstanding expertise form the solid base of this effort – without them, we would not have made it as we did. A special “Thank You” goes to Tor Lillqvist who put a lot of work into this and did most of the engineering/coding. I’m delighted to be able to work with Tor on this and look forward to planning more such excited things with him.
Last but not least, Adfinis pays some of the bills here as well – thanks to the entire crew who works hard every day to provide more Free and Open Source solutions to the world! If you need a friendly partner to work on F/OSS stuff: we’re happy to help, please get in touch with us.
As a company, we shape a world of innovative, sustainable and resilient IT solutions. These solutions are built on trustworthy open source technology to unlock the full potential of our customers.
For over two decades Adfinis has been consistently active in the Open Source environment. With around 70 employees in Switzerland, Australia and the Netherlands it has successfully established itself as one of the leading providers of Open Source technologies.
As a reliable service provider and partner, Adfinis supports customers from the private and public sectors in planning, implementing and operating custom infrastructure and software projects. The core competences of Adfinis are Open Source engineering, 24/7 managed services and software development.
More information: www.adfinis.com and www.linkedin.com/company/adfinis-com