Update on LibreOffice support for ARM-Based Macs

It is always an exciting time to see freshly minted ARM based silicon arriving in the form of Apple’s massive shift to the ARM based M1. This of course means work for Collabora’s LibreOffice team too. The code needs to be prepared for M1, step by step. Here we update you on the status of the work, and what needs to be done.

With the launch of the new Apple devices nearing, it is important that suitable software arrives around the same time as new hardware. Apple ensures this by a translation layer, so that software for Intel Macs can be used, using Rosetta translation.

Nevertheless, given the code size of LibreOffice, for the best performance it makes most sense to have a pre-optimized native binary. As such Collabora joined the Universal App Quickstart Programme back in July and has been doing work on enabling LibreOffice for M1 since then.

This effort is made possible by the kind support of those who buy LibreOffice Vanilla in the Mac app store. Thank you! And thanks too to Tor Lillqvist for his patience and hard work here.

The status of the work

All of these changes are in master, or in the gerrit queue getting past our CI automation:

  • Configuration changes (mostly there). It should now possible to configure and build a native LibreOffice on a Apple Silicon, as well as cross-compiling to x86_64.
  • Patching and fixing of lots of bundled libraries to make them build cleanly.
  • Then there is a first attempt at a new C++/UNO ABI bridge – we need to match Apple’s ABI by tweaking Linux’s ARM64 support to match. This allows UNO scripting to work (in theory).
  • We still have some failing unit tests, that need investigation, as well as some other bits, described below.
All of this means that LibreOffice should start and work on M1! So far it has had only very basic Writer & Calc testing. The more exciting, complex features are not yet tested.

What’s next .. want to get involved?

Post-launch, if you can get an M1 Mac, then help is always most welcome! We have several missing pieces that will require further work, with some unusual low-level bits.

  • The new C++/UNO ABI bridge requires more testing, to ensure the UNO scripting support works smoothly.
  • Enabling bits we didn’t compile in yet: Firebird, Java (when there is a JDK).
  • Scripts to combine builds for arm64 and x86_64 into one universal app (i.e. one where binaries are “fat,” consisting of separate parts for each architecture)
  • Adaptation to whatever new checks are added for universal apps in the App Store. This is an ongoing unpredictable part of our work: adapting 8 million lines of code to the latest updated rules, keeping our builds compiling and signing with the latest tool chains.
Of course we’ll continue to work to bring the best LibreOffice possible to Apple Silicon as time permits, and we are confident that even if we don’t make it in the next month or two, Rosetta 2 will fill the gap using dynamic instruction set translation. And when all is done, our open source desktop productivity tools will benefit the full power of the new Macs!

Read More

Collabora’s contributions to the LibreOffice Conference 2020

Three full days dedicated to LibreOffice technology

The LibreOffice Conference 2020, this year also known as oSLO 2020, took place from 15 to 17 October 2020 as a joint online event with openSUSE. The number of participants at the online conference was roughly the same as at an on-site event. A total of over 320 participants had registered on the conference platform. Individual talks were attended by up to 150 people simultaneously. The LibreOffice community in Latin America had organized an additional track in Spanish and Portuguese. Our team contributed 16 talks (find the complete list here). Enjoy some recorded recordings, download the slides and feel free to ask further questions in our forum.

Collabora & the LibreOffice Ecosystem

Some much-acclaimed topics were the lectures by Michael Meeks, which highlighted the exciting and long-standing history of LibreOffice, and those that dealt with the relationship between profit-oriented companies and the voluntary community—and pointed out possible perspectives.

“Collabora & LibreOffice” by Michael Meeks
“Ecosystem, Branding & Investment” by Michael Meeks

Collabora Online

This year’s talks on Collabora Online had a strong focus on improving the user experience. Ashod Nakashian talked about the challenges of integrating Sidebars into Online, while Szymon Kłos explained the path to the NotebookBar, the new optional user interface. Tomaž Vajngerl showed the great new features for PDF files. Pedro Silva held a presentation on visual consistency, user experience, as well as possibilities for customization. He also showed how to join the project. Slides of his talk are also available in Portuguese (as part of the Latin-American Track). Muhammet Kara‘s presentation highlighted the new one-click option, that makes installing Collabora Online by home users much easier.

“Bringing The Notebookbar to Online” by Szymon Klos
“Improving visual consistency in Collabora Online” by Pedro Pinto Silva
“Making Online trivial to setup” by Muhammet Kara

LibreOffice & Collabora Office

These talks dealt with new functions added to LibreOffice by the Collabora team. This includes the extensive work with the SKIA graphics library, presented by Luboš Luňák, and the digital signing of files in PDF and OOXML, showcased by Miklos Vanja. Collabora Office is now also available on Chrome OS. Jan Holesovsky outlined what it took to port the Android app to Chromebooks.

“Implementing Vulkan-capable drawing using the Skia library” by Luboš Luňák
“OOXML / PDF Digital Signing in Draw and elsewhere” by Miklos Vajna
“Chrome OS as a new platform” by Jan Holesovsky

Collabora Office on Android & iOS

Our mobile apps are a lot of attention. Their huge success recently added 500K users to the LibreOffice user base. Szymon Kłos presented technical details how the LibreOffice Sidebar get re-used on phones. Tor Lillqvist focused, on the latest developments for Collabora Office on iOS, while Jan Holesovsky presented the history of online and mobile.

“Re-using the Sidebar on phones” by Szymon Kłos
“Mobile – Development on iOS” by Tor Lillqvist
“History of Online & Mobile” by Jan Holesovsky

Living on video?

Missed the conference? Would you like to watch or re-watch some talks? The sessions at the openSUSE & LibreOffice Conference have been recorded and are going to be published. We have a playlist collecting all the talks held by our developers. Find it here on YouTube. We are continuously adding the all published oSLO2020 talks there. In the meantime, please subscribe to our YouTube channel to not miss any updates from us.

Read More

Collabora developers mentor successful GSoC Projects

Autumn is just around the corner. For many participants in the GSoC 2020, a busy and instructive summer full of hacking on open source projects came to an end a few weeks ago. Commits have been contributed and final reports have been written. This year experienced Collabora Productivity developers were again mentors for various projects of the Google Summer of Code for the LibreOffice project. Here are some examples of projects our team helped to succeed!

Analysing Writer documents with the “Style Inspector”

The “Style Inspector” is a great new tool. You can access it through a new icon (an eye combined with a pencil) in the Sidebar (also via “Sidebar Settings”). The Style Inspector displays in full detail (and hierarchical) all styles and also direct formatting applied to a cursor position in a Writer document. So you can analyse, identify problems and clean them up. Sometimes formatting in documents is messy and people mix styles with direct formatting. The Style Inspector allows you to see that.
The feature is available for testing in pre-released development versions of LibreOffice. Shivan Kumar Singh picked up the proposal from the LibreOffice Design Team. He was mentored by Collaborans TomažVajngerl and MikeKaganski with Heiko Tietze from the LibreOffice Design Team. Take a look into Singh’s final report! It is an inspiring a guide on how to approach a big project like LibreOffice.

Improving the way to find and add extensions

There are many useful extensions to LibreOffice and users should be able to find them easily! Like in app stores like Gnome Software or the Play Store. That is basic idea behind “Tight Integrations” and the proposal from the LibreOffice design team. Yusuf Keten made this his GSOC project a success and added the possibility to search and sort the through extensions without having to leave LibreOffice. You start this new way to search with a clear yellow star with a download arrow, that is in the templates dialog, at the icons in the view options, or from the galleries pane in the side bar.
If you are curios about this handy extensions feature you can already test and find it in the latest LibreOffice pre-releases. Yusuf was mentored ba Collabora’s Muhammet Kara and Heiko Tietze from the LibreOffice design team. Find all the details of Yusuf’s work in his final report.

I learned a lot of things during the GSoC. Although GSoC is finished, I will continue to contribute to LibreOffice. I am very happy to be part of the LibreOffice community.(Yusuf Keten)

Access the Tight Integrations manager through the icon in Gallery
Browse, search and sort through Templates, Galleries & Icons in the new extension dialog.

Changing the contour – shadows are becoming blurry

New blurry shadow option

Did you know, that in LibreOffice the shadows are just a copy of the object? There are already a lot of settings to change their appearance, like its colour, its angle, the transparency and distance behind the object. Mentored by Collaboran’s TomažVajngerl and Miklos Vajna, Ahmad Ganzouri added another option. The “Blurry Shadows” make use of the already implemented BitmapFilterStackBlur and make the shape of the shadow look very realistic. Find the details around the development in Ahmad’s final report. We have seen the Blurry Shadow option in the master branch and expect it to be available to all users in Version 7.1 of LibreOffice. The option can be easily accessed via the “Area” dialog in “Objects & Shapes” or directly via the corresponding Sidebar module.

The blur setting can be defined Area dialog.

Searching for a mentor? Join us GitHub!

Google Summers of Code are an excellent opportunity to learn working in many open source projects. But where to find mentors during the rest of the year? We recently moved the code of Collabora Online to GitHub. You will find a growing community there, with easy hacks to get started. Community Mentor Muhammet Kara and the rest of our team of open source developers are there and willing to share their vast experience.

Read More

Updated LibreOffice growth infographic (2020)

Right after celebrating a great LibreOffice 10th Anniversary, we are delighted to present the 2020-version of our LibreOffice growth infoGraphic, including beautiful visuals and interesting numbers! We do hope you appreciate it and would love to hear your feedback. And of course it is great if you find the format, in which it is presented, convenient to share.

Many numbers are again up. Our devs are top code contributors to LibreOffice with 7518 code commits. And the popular “Collabora Online Development Edition” (CODE), for home use & small teams (find details here), has over 50 million Docker image pulls! We are extremely grateful for all partners and customers working with us to make this possible.

Would you like to see the previous versions; these are here: 2019, 2018, 2017, 2016, 2015, & 2014.

Soon there will be the  LibreOffice Conference 2020 (October 14 to October 16), where you can meet developers, including of course our developers, and other contributors from the community, and attend the online sessions of the talks of our developers.

So.. check out the updated LibreOffice growth infoGraphic on 2020 here:

 

Try out Collabora Office and Collabora Online!

Read More

Collabora’s LibreOffice development experts are supporting students for GSoC 2020

Collabora developers are mentoring students during this year’s Google Summer of Code

Google Summer of Code is an amazing, international program encouraging the participation of university students in open source software development. It enables students to independently gain practical experience on concrete projects and matches them with experienced developers. This year a record number of almost 1200 students is taking part in the sponsored projects. Collabora is always delighted to support GSoC projects: some of our experienced developers are mentoring the students: guiding them in the code, encouraging them, and supporting the growth of their skills.

Collabora developers at GSoC 2020

Also for this year’s GSoC several students are being mentored by Collabora Productivity team members. Tomaž Vajngerl, Muhammet Kara, Miklos Vajna, Mike Kaganski, and Michael Meeks are assisting the work on several projects around LibreOffice. And our companies involvement is not just limited to that. Andrej Shadura, a developer from our parent company Collabora, is in charge of various projects around the Debian operating system. Collabora’s support of these Google Summer of Code reflects our commitment to open source software and is also a matter of personal attachment. Several of today’s Collaborans like Elie Tournier and Rohan Garg have successfully participated in the GSoC program in the past. So have the current mentors Muhammet Kara, Miklos Vajna, and Pranam Lashkari from Collabora Productivity team.

A success story – development camps in Turkey

The successful application of no less than six LibreOffice office projects for this year’s Summer of Code would not be fully told without mentioning some previous happenings in winter. Collabora Productivity had sponsored the LibreOffice Developer Bootcamp in Ankara and the LibreOffice Development Workshop at the Anadolu University in Eskişehir (Turkey) during the Free Software Wintercamp 2020. These ambitious development courses by Muhammet Kara spawned no less than three of the six successfully submitted LibreOffice projects of GSoC 2020. Find out more about the great outcome of these development camps within our community news blog post.

LibreOffice projects mentored by Collabora Productivity

The student Ahmad Ganzouri has successfully submitted two projects. Supported by the mentors Tomaž Vajngerl, Miklos Vajna, and Michael Meeks, he will work on a project adding blurry shadows to objects in LibreOffice and on a second one that aims to move the current gallery data in favour to easier to handle ZIP files. Yusuf Keten, another participant of the LibreOffice Developers Bootcamp in Ankara, will be working on additions to better integrate extensions. Keten’s project is being mentored by Collabora’s Muhammet Kara.

Also Collabora’s parent company developers are mentoring

Another interesting GSoC project is bringing a CiviCRM integration to LibreOffice and Collabora Office. “Styles Inspector“, also mentored by Tomaž Vajngerl, is another project aimed at LibreOffice. We all look forward to the results of the students work. And for sure we will try to cover some of that here. Another wonderful story is that of Collabora Productivity developer Pranam Lashkari. He was a GSoC student during the last two years while graduating and this year he is already a mentor for two projects within the Boost C++ libraries. Collabora developer Andrej Shadura is mentoring no less than three projects focusing on Android SDK Tools for the Debian operating system. Find out more about these and other noteworthy projects in the Collabora news blog.

About Google Summer of Code

Google Summer of Code is a program awarding a three months stipend to students who successfully complete a free and open-source software coding project during the summer. The annual program started in 2005. This year, 199 organizations and 1199 student projects are taking part. Within the last 15 years more than 15.000 students from over 100 countries had been accepted. Developers from free and open source projects serve as mentors. Between 80 – 90% of the accepted projects get completed successfully.

Read More