LibreOffice Podcast, Episode #3 – Quality Assurance (QA) in Free and Open Source Software

Xisco Fauli, Ilmari Lauhakangas and Mike Saunders from The Document Foundation, the non-profit organisation behind LibreOffice, discuss Quality Assurance (QA) in free and open source software . (This video is also available on PeerTube.)

Please confirm that you want to play a YouTube video. By accepting, you will be accessing content from YouTube, a service provided by an external third party.

YouTube privacy policy

If you accept this notice, your choice will be saved and the page will refresh.

Transcript

Mike Welcome to episode three of the LibreOffice and Open Source podcast. I’m Mike Saunders from the Document Foundation, the small non-profit organisation behind the LibreOffice project and community.

In the last two episodes, we talked about marketing free and open source software such as LibreOffice – the challenges and the opportunities as well. And then we talked in the second episode about design, UX, UI in LibreOffice and open source software – the challenges of making changes to user interfaces that people have been using for years, but also some of the cool things happening.

But today we’re going to talk about how we test half a million documents in LibreOffice. Yeah. So we sit down and load half a million documents into LibreOffice. File, Open, File Open and check the compatibility. Yeah, we’re very committed. Of course not – we do that automatically. I’m going to talk about that a bit later, because we’re talking in general today about LibreOffice QA – quality assurance – as well.

So how do we make sure that the software stays strong and stable and reliable when we add new features to LibreOffice, how are they tested and integrated before they go out to millions and millions of people as well.

How do we handle bug reports? So somebody submits a bug with the software. What makes a good bug report as well? And how do we maintain compatibility? There are billions and billions of documents out there in mostly Microsoft formats. So how do we make sure that LibreOffice stays compatible with them when things are changing, the formats are changing?

Microsoft’s famous transitional format makes life extra difficult for many of us. So, let’s talk a bit about QA. I’m joined, as mentioned, by two of my colleagues at The Document Foundation. So, again, we are the small 15 people non-profit organisation. But of course we at The Document Foundation are backed up by a community of hundreds of people making LibreOffice as well.

But I’m joined by Xisco Faulí, who is a QA engineer – I think is your title. Xisco is that right?

Xisco Yes, you’re right. Yes.

Mike And you’ve been at TDF for a few years now. I think the same as me.

Xisco More or less. I joined TDF in 2016. So it’s almost 10 years next year. And I joined as a QA engineer and since then I’ve been doing that.

Mike How did you get involved in QA before that? What’s your background leading to this?

Xisco Yeah, that’s a good question. So before that I studied computer science in the university and at the same time there was – and it’s still going – the Google Summer of Code program. So I first joined LibreOffice as a Google summer of Code student and then after that I got a job as a QA engineer in another company, and at that time I also contributed to the project doing QA as a volunteer as many other people do.

Nowadays they spend their time volunteering doing different things in the project and, yeah, I was doing QA – and then at some point the QA offer was published – this job position – so I applied and I got the position.

Mike And our other guest in this episode is Ilmari Lauhakangas – I think—have I pronounced that correctly?

Ilmari Yeah, Ilmari Lauhakangas

Mike Excellent. Yeah. Who does various things. We all do various things at TDF as well. There’s a lot of overlap in what we do and overseeing the community. But yeah, Ilmari, tell us a bit about what you do at TDF and how you got to this point.

Ilmari I was hired by TDF in 2019 to do mentoring and recruitment of volunteers. So I focus on onboarding new people and I do it for basically most of the areas where you can contribute. So in addition to quality assurance, development, design, documentation – so I also do stuff like web development for TDF applications and stuff like that.

And of course, there’s always room to grow at TDF, so it’s nice. And I got my start as a volunteer at around 2014. And back then I was contributing to a couple of open source projects. And I was wondering, how someone who does not know programming that well might help developers and kind of save them time to focus on the stuff that matters.

It hadn’t really occurred to me that testing bugs would be such an impactful thing. So when I somehow ran into the topic in the context of LibreOffice, I kind of really got excited and really put a lot of effort into regularly testing bugs. So that was a nice experience.

And even before that I had done some recruitment for other open source projects. So yeah, I was kind of motivated to see what was possible – like how can we collaborate as a team and how to organise all the information for contributors.

I was kind of impressed even at that time – like over 10 years ago – how well organised the whole thing was. There were these easy tasks for developers mainly, and all the information was laid out quite nicely in the wiki and then there were people helping, chatting, sending emails and it was quite a supportive experience back then.

Mike Yeah, the recruitment, the mentoring that Ilmari mentions is a big thing of what we do as well and in many other free and open source software projects – because it’s nice to have a load of users – we talk about having around 200 million users – but if nobody’s contributing, then what does that mean?

So a big part of what we do as well as doing our work in marketing, design, QA is mentoring people who want to contribute to the project, but often don’t know where to start – and of course we try to make that easier, but LibreOffice is I think 7 million lines of source code has quite a complex build system (although I think that’s been simplified a lot over the years).

So when people come to us and say “I want to contribute, but where do I start I’m daunted?” Then Ilmari often does interviews with them – just a chat to say right where do you want to go, instead of sending people straight to a big wiki page – which is helpful for some people they like that approach, but often it’s nice just to have a chat and say “Right what do you want to do and where can we get started”.

Of course we’re hugely international project as well – I’m in Germany, Ilmari’s in Finland and Xisco’s in Spain – so that’s just a few, but we have contributors in I think the majority of the 190-ish countries in the world.

Ilmari Yeah. And it was nice for me to discover bug testing. I didn’t have any experience any training on it. So everything I know I learned in the context of LibreOffice originally, and it was nice to have such a low threshold for contributing. So you don’t really need to know anything.

Just follow the steps and then you can progress to more challenging investigations and yeah. It’s also quite a pleasant thing to do – like a very calm activity. So usually when your software crashes you get mad, but in case of QA you’re glad that it crashed because you found something interesting or you could reproduce something. So there’s not that much stress in it as an activity. So that was nice as well to discover.

Mike Yeah. And we see as well over the years, lots of contributors in the LibreOffice project who started out on with QA and testing some things – confirming some bugs and then as we’ll talk about in a moment – but they’re moving on to other stuff in the project as well.

So I think it is a good kind of onramp to contributing. But how does the QA team work then? I guess most of the work is centred around the Bugzilla instance we have. Is that right Xisco?

Mike Yeah that’s correct. So Bugzilla is the bug tracker where all the issues are reported, and where developers coordinate and check the issues that they have to fix or they have to work on. So yeah basically the QA activities around Bugzilla – we have to deal with the reports that the users report in Bugzilla and once we deal with those reports we have to talk with the developers and try to find someone to work on those reports.

Mike And, so when a bug comes into Bugzilla it’s not automatically marked as new. Somebody first has to confirm it. Xisco, is that right?

Xisco Yeah, that’s correct. That’s called triage. It’s basically the same that is done in hospitals for instance. When a new patient comes in, we have to do some triaging and see what’s the problem. So we do the same here. When a new report comes in we check the report; we see if they if the information provided is enough to reproduce the issue and then once we try to reproduce. If we succeed to reproduce it, then we try to analyse it and try to have as much information as possible to help developers, to make their life easier. So for them it gets easier to fix those issues.

Mike And on the QA blog which we’ll link to in the notes, you post monthly reports as well Xisco about the number of bugs fixed. I think it’s often like 400 or 500 issues resolved.

Xisco Yeah that’s correct. We have a monthly report where we talk about QA and development activities. It’s a picture of what’s going on. Not everything is mentioned there because we have list of top 10 QA triagers for instance.

So it’s not like we only have 10 people. We have hundreds of contributors, but we only list the most relevant or the most active ones. But yeah, it’s a way to, at least from my point of view, it’s a way to say thank you to all these people contributing in QA – to say, okay, your work is it’s really appreciated and well, at least you’ve been listed here in these metrics and, at least from my side, it’s a way to say thank you to them.

Mike And occasionally on the other blog on the main TDF blog, we’ve posted some stories about a bug report coming in and then a developer jumping in two hours later to look at something and then resolving the issues. I know that’s not always the case.

Some things take a lot more time, but there have been some stories of bugs being resolved in a few hours because everyone’s in the right place at the right time – and those make nice stories as well.

What I also find interesting, as somebody who’s not involved in QA but watches a lot of what you guys are doing, is the ability to pinpoint exactly where a change took place that caused a problem.

So we do a new major release of LibreOffice every six months. About once a month we have a point release with largely bug fixes or security updates.

But I see that when you guys get a report, a bug report comes in, you can analyse, often pinpoint the exact code change that caused this issue, if it was a code change that made it happen. It could just be another general bug. But if a code change somewhere in the past in all the years of development, you can identify the exact build of LibreOffice – even a development snapshot. And I think, Ilmari, this is called bibisecting. I have no idea how to pronounce it…

Ilmari So it comes from binary bisecting. So we can say bibisecting. So we emphasise binary here because we offer repositories which contain thousands of runnable LibreOffice versions. So each code change can be run as a program – as a binary. So this is a very convenient way for contributors to participate. They don’t have to have a development environment. They don’t have to wait how many hours it would take to do the building of each of these – like, I don’t know, 13 tries when you’re testing a specific bug.

So you might have to do the same steps like 13 times in a row. So it can be a bit tedious, but it’s also very powerful way to help developers. And yeah, obviously if we go into practical things, it will take a lot of space on your computer if you want to really have a long history of the different versions. But of course most of the old issues have already been analysed.

So a new contributor can do a lot of good work with just a handful of the newer repositories.

And yeah, it’s really nice to be able to help developers in this way. And it’s also kind of a way to learn more about the code, in a kind of a soft-landing way. So you get closer to the source code. You can read it exactly where the issue is and learn about it that way.

Mike Thousands of builds that must be take up quite a bit of space.

Ilmari Yeah, it does have some kind of compression benefits there. So they don’t exactly take like terabyte per repository. It only takes like seven gigabytes about per repository. So, not that bad.

Mike But it’s still a very practical thing to have. But where do you even start then if you get a bug report and you really don’t know in the last few years which change may have caused this issue? Do you jump between two dates and say, “Well, it could have happened between a change in 2015 to now – and then we’ll go with these binary builds and try and narrow down the time?” Or how do you approach it?

Ilmari That’s a good point because as the history grows longer, the tedious part also gets longer. So a part of it is when you’re an experienced triager you already kind of remember when some feature was introduced. So maybe you remember this is not inherited from like before 2010 or something like that. So you can immediately select some version that is not super old and then go from there. But yeah, it can be like an intuitive process in a way.

But usually you start from a reasonably old version and then check is it is the bug here and then kind of bisect it or divide the whole testing process manually first – and then you rejoice when you find the version where it appeared in. And obviously the bug report itself may contain already a mention that it wasn’t in this version; it was in this version. So then you can see okay I’ll start with this that the reporter pointed out and yeah, so we get a lot of benefit from the user testing.

Like discussed earlier we mostly do analysis of user reports. So we are kind of in a huge debt to our users for providing all of these manual testing experiences, because we don’t really even have time to do manual testing much ourselves. Although that does happen when we test reports we do discover new issues as well.

Mike And I noticed in the last few years one of the priorities has been to keep the number of unconfirmed bug reports down. I think is that still the case, Xisco? Is that one of the priorities and what are some of the other priorities of the QA team at the moment?

Xisco Yeah, the that’s one of the priorities. Sure. But it’s really tough to keep the number of unconfirmed bugs low because we keep receiving new reports every week. I would say around 100 reports every week, and all of them have to be triaged manually. So yeah, it’s a lot of work recurrent work to do.

So yeah we try to keep volunteers that we have and sometimes it goes up and sometimes it goes down, but that’s one of the priorities here. Another priority is to keep the number of regressions as slow as possible. Of course, the more regressions we have, the worse the quality of the software is and it’s very important – every time we have a new major release – of course there’s going to be regressions it’s software, so there’s always issues. So the one priority is to try to fix those regressions as fast as soon as possible. Yeah, that’s also very important. So then when we have a new major release then we can have a fix within one month in the next minor release for that version.

Ilmari Yeah, you mentioned regression. So to clarify kind of you can have an existing feature which worked fine and then there was some code change which broke something in that feature. That’s called a regression. But on the other hand, you can introduce a new feature, but you overlooked something and it doesn’t really work like you intended.

So that’s kind of like a general bug or an implementation issue – however you want to call it. But yeah, the regressions are the ones that are the target of the detective work. So for the bisecting and such. And sometimes it’s kind of unfortunate that we can’t go back in history beyond like 2012 or something like that. Around that time like we don’t get the precise bisecting ability because things get complicated. The build system was not that high quality back then and you can imagine it’s kind of having a time machine or wishing to have

Mike I remember when the LibreOffice project started like you said – you talked about 2012 and 2010 – the LibreOffice project started, and I was working as a Linux journalist at the time and one of the earliest things the LibreOffice project was trying to do was to modernise the build system. And I guess now looking back at it, it’s not just to make life easier for developers and potential developers, but to make it possible to do these tests more easily as well. So, but Xisco, you talked about how a lot of things have to be done manually, like of course triaging new bug reports that come in, but a lot of things can be automated as well. At the beginning of the episode I mentioned this half a million documents which can be automatically tested. So tell us a bit about automatic testing.

Xisco We have a virtual machine that basically takes thousands of documents from the internet and from public repositories like Bugzilla and other bug trackers and some forums, and downloads those documents. And then recurrently it tries to import those documents, export them, reimport them, reimport them again. So basically this is trying to find crashes or asserts in those documents.

This is something that has been done for many years by Caolán, and it’s has improved a lot the quality of the software because before we had this automation, there were many reports from users saying that LibreOffice was crashing. From time to time, we still get reports about crashes when importing or exporting documents, but it has reduced a lot the number of such reports and it helps a lot in that matter.

We also have another kind of automation. We also have unit tests. So basically nowadays it’s kind of common to see when there is a fix for an issue, to also have a unit test for that fix. So this way we make sure that this is going to work forever and in the future we are not introducing a regression for that fix. So we know for sure it’s going to work – and at the moment I don’t know how many we have, but we also have thousand of unit tests that have been written and added to the codebase in the last years.

This has increased a lot since LibreOffice project started. Before that we had some unit tests, but recently we have many of them and it’s helping a lot with the quality of the software.

Ilmari About the automated tests – if we have so many tests, how can we still get bugs? Well, the explanation is you can’t predict the future. So you can’t really write a test for every possible scenario. So, there will always be something due to the complexity of the software. So, the test writing is often reactive. So when it’s not in conjunction with introducing a new feature, if it’s reacting to a regression, then you have this integration test.

So you write a scenario where you kind of simulate what a user would do. You might have some simple document and manipulate it somehow. So it’s not like a very small atomic unit test. It’s a more broad test, but it’s good because it will also catch things that you might not even know about. So yeah, that’s kind of a one way of future proofing, but it can never be.

Xisco And it’s surprising to see how changing one part of the code might impact on another different part of the code. So yeah, you think: oh this change is going to be safe. I’m not going to break anything, and then a few months later someone reports that something completely unrelated gets gets a regression. So yeah, that’s the magic of LibreOffice.

Mike And whenever I’m looking around on Bugzilla, and seeing what new reports are coming in, when people have to submit a bug report or when people choose to submit a bug report, they have to fill in different things – different bits of information about the software. Because I know from handling the LibreOffice social media side, we also get bug reports via social media, but they tend to be: “LibreOffice doesn’t work – why not?” Or “Why did LibreOffice stop working after the latest update?” – with no information which updates

Those are not the most useful bug reports because there’s no standardisation of what information needs to be required, but Xisco, what makes then a good bug report, what does a good bug report that you guys can work with, what does it need to include?

Xisco Considering that LibreOffice runs on different platforms, different environments, it’s really important to provide as much information as possible.

If you have to record your screen to show how to report the issue, then that’s going to be helpful – providing the document because many times a specific problem might happen with a specific document, but not within a general case. So attaching that document is really help helpful as well. Providing the steps to reproduce the issue. So yeah, basically the more information is provided the better.

Mike Yeah, definitely. You see the big difference it makes – a bug report with a huge amount of information versus a generic “Yeah, this doesn’t work”.

So we’ve talked about what the QA project does and some of the different tools as well. Anybody listening to this, or watching it as well, who thinks, “Right, I want to get involved. I want to get some experience in QA. I want to help out with the LibreOffice project.” Ilmari, you talked about this a bit at the beginning, about how you got involved and, but what is a good way for people to help out and get involved in QA? What steps to reproduce should they take?

Ilmari So people navigate things differently. We have this mentoring approach for people who are not that comfortable maybe absorbing large amounts of information, or are not at that stage in their learning that they would be comfortable jumping into a big project like this. But of course, it’s possible to navigate everything yourself. Our wiki documentation is quite clear. It also has quick start steps, so you can just drill down on the basic stuff – and of course we recommend to start with the basics. So get comfortable with the simple confirming.

It can just be, if you think what is the simplest bug report, it can be “The document doesn’t look the same as in some other software”. Then you just confirm it. You open the document and notice – yes, that’s truem and there might be screenshots. So it can be extremely simple to verify these reports.

In my mentoring I meet with the mentees regularly in the chat – in the text chat – and I review their work. So we go through the reports that they commented on, and I give feedback, and after a couple of dozen basic tests, I already introduced this advanced bisecting technique to them. Which kind of sounds ambitious or at least sounded to me when I started doing it, because myself – I took quite a long time to really get into it, actually over a period of two years. It was somehow daunting to me to get into it, but I wanted to refine the documentation and the whole process of getting into it, and now we are getting quite good results.

Depending a little bit on the technical background of the person, we might have them doing bisecting like in a week or two when they were introduced to it. So they immediately can get results from it instead of just scratching their heads for weeks and weeks and trying to figure out what the thing is about. So that’s always kind of impressive to me how quickly they are able to get into it.

Mike Indeed – two weeks from checking how a document looks to doing bibisecting. That’s cool. So yes, thanks guys – I think that’s a good overview of what we’re doing in the QA project and some of the different challenges and opportunities as well. Anything else you’d like to add?

Xisco For someone new interested in contributed in QA, Ilmari is also doing weekly live sessions where – well maybe you can talk a bit about those because I think it’s interesting for someone new to see the way you think when you are triaging issues, or the thinking behind what your actions.

Ilmari That’s a good point – I forgot it. So I indeed do these kind of live streams. Not really live streams. I don’t use Twitch or YouTube or anything. Just have a conference room and people can join and ask questions.

I do it one hour at a time – I don’t prepare for it beforehand. So it’s very realistic. I just look at the list of reports and go through them one by one and explain what I’m seeing and what I’m going to do and stuff like that. So it gives a realistic view of the testing process.

Mike But not on Twitch – so we can’t make live donations while you’re doing it!

Ilmari Yeah, I don’t really understand all that stuff. Like, if we had thousand people in the chat like – chat is going brrrrrr! It doesn’t seem to mesh well with the testing – it would be too distracting.

Mike Quite probably. OK, thanks a lot Xisco and Ilmari – I think that was a good overview of what we’re doing 0 what you guys are doing – and again the hundreds of people in the community. When I look around on Bugzilla, and as we’re recording this we’re doing a Month of LibreOffice campaign, where I collect statistics from Bugzilla for people who are confirming bug reports, contributing, a lot of new volunteers as well.

So it really is a big group effort – and again anybody I think it’s a good way for anybody to get involved and yes, the simplest things, comparing a document, saying “Oh yes, in this bug report the same thing happens to me in this version on this operating system”

So I think it is a really useful, genuinely useful way to jump into the project, help out and make a difference as well to the software. So let’s wrap it up here then episode three of the podcast – we have more to come covering different topics as well in LibreOffice. So, thanks Xisco. Thanks, Ilmari.

LibreOffice Podcast, Episode #2 – Design and UX in Free and Open Source Software

Heiko Tietze from LibreOffice’s Design community tells us about UI and UX improvements in the suite, how decisions are made, and more. (Also available on PeerTube).

Please confirm that you want to play a YouTube video. By accepting, you will be accessing content from YouTube, a service provided by an external third party.

YouTube privacy policy

If you accept this notice, your choice will be saved and the page will refresh.

Transcript

Mike: Welcome to episode two of the LibreOffice Podcast. This is our second episode. In the first episode, we talked about marketing free and open-source software like LibreOffice: some of the challenges of marketing in a competitive world, but also marketing not just a product, but a community as well – getting people to join a community.

In this episode, we’re going to talk about design and usability. I’m Mike Saunders from The Document Foundation, the non-profit behind LibreOffice. My colleague over there, Heiko Tietze, oversees the LibreOffice design, UX, UI, and usability community. They work on improvements to the software’s design, and we’ll be talking a bit about some of the recent changes and some of the challenges the design team has when working on free and open-source software.

So, last month — where are we now? We’re in the middle of March. At the start of last month, we released our new major stable release of LibreOffice 25.2, with the year.month versioning system, with a bunch of new features and changes as well, but quite a few on the design and user-interface side. So, Heiko, what are some of the most notable design- and UX-related changes in 25.2?

Heiko: Well, it feels to me as if our release notes grow with each release. Everything, more and more is being done with every new release, and everything is great. There might be details that get implemented, fixed, and improved, but sometimes we do larger changes.

We had a couple in the last release regarding design. One that I personally like a lot is the new appearance. It started a little bit – many years ago with Personas. Persona was a term coming from Firefox Mozilla Persona, and we picked it up and provided a similar way to customise the appearance of the program by adding an image to the background, by changing the colour gradient. Then Mozilla changed the way Personas worked and broke our implementation. Someone fixed it; Mozilla changed again, and it broke again. So it was annoying over the years. This feature was not working at all.

They also implemented some dark mode to make the application work in dark environments. It was a kind of hijacking, another way to customise the application, so it switches the background anyway. Long story short: a lot of ways to change the appearance of the application, the look and feel, and to make it blend into the operating system or to have it not blended, whatever you like. In the last release, this was merged together into one way of modification, of customisation.

The basic idea behind it – which I personally like a lot – is that we relieve users from changing the very details and let them pick some broader options. In this case, it is an extension. I like extensions — something that everyone, every individual, can help us with, can support LibreOffice with, can help the community with. It needs, in this case, just to fiddle around with RGB values, create an XML file, package it into the proper format, and share it on our application extension site. The application itself can load it, and you can change the appearance of the application. Great feature. I like it a lot. People believe it is not much needed and we should focus on more important parts.

I have another feature, if you want me to talk more, something that is probably even more controversial. Well, LibreOffice has grown from StarOffice, OpenOffice, and whatnot into LibreOffice over 30 years and even more. We have different concepts in the software, different ideas, and different people who work on it. That makes some details sometimes really difficult to understand — not only as a user; even as a developer. I’m not a developer, I’m a designer. I’m looking into the functionality. I try to verify if a feature is easy to use for the average user, something like this. But this is sometimes very difficult.

One example was the way text boundaries indicate or are switched on, and under what condition it was there. It was dependent on the non-printing characters, so the pilcrow symbol that shows up at the end of the paragraph to show the user has pressed Return to start a new paragraph. This symbol being shown or not is bound, on the other hand, to the indicator of the page boundaries, where the text ends. That’s pretty weird. There are other parts, like tables, sections, and more, that get some boundaries, all in a really strange way combined. In particular, for a table you had to go to the colour customisation to enable it.

Something that I took care of: I removed everything, put it together, put the customisation under the Tools options, Writer section, under Formatting Aids. Average users might not find it easily; a bit more experienced users hopefully do not struggle too much. Then I added one option to enable everything, and people come and say, “Oh no, that’s not going to work. It is terrible.” Partially it is. For example, the idea was that most users probably want a distraction-free editing capability of the software. You want to write down just a letter and do not care about pressing Enter twice, or about where exactly the page side — the content of the document — ends in relation to the page. That was the idea: to remove everything by default, which makes it a bit hard for tables without borders to spot.

The development was a bit — not really broken — but we fixed it. I mean, someone else took care of it, or did I? I don’t remember. In the next release, this part is fixed. So the point is: we have a lot of goodies. We are not perfect. We iterate with every release, we improve, and now it’s up to the user to tell us if it’s nice and great.

Mike: Yeah. I know there are so many different workflows, and being on social media as well for LibreOffice, I see people who, like you say, want to write a letter. They want the absolute minimum user interface. They want stripped-down, bare bones. They don’t understand why it is so complicated for the software to be able to do so many things in the background, like you were talking about.

Then you have very, very more or less experienced users because, like you say, the code base goes back to OpenOffice and StarOffice before that. There were some things in the interface, in the menus, that have been there for — what can we say now? — 40 years perhaps, since StarWriter. So people have these expectations that something will always be in the same place, or the options will always be in the same place. But if you want to simplify something… It must be difficult.

Heiko: It is always hard to remove features. Adding stuff, more and more features, that’s simple. But if we remove something, for sure someone shows up and says, “Oh no, you’ll break my workflow.” But that’s well known from every application, from every tool.

Mike: Yeah, I guess finding that balance between giving people one big toggle to turn things on and off — there are lots of fine-grained controls as well. A lot of people just want one button for dark mode: turn dark mode on. Then other people want extremely fine-grained controls over every tiny element in the interface.

Heiko: That’s exactly true. I personally like simple applications that do not give you all the options by default. I think, if we stick to the office-productivity context, Google made a great application for simple workflows. You open it, you type your text, you have a few options to modify, and that’s all. I know people who really love the presentation part. I don’t know the name. Personally, I don’t understand why.

At some point, you need the ability to go beyond the basic functionality, and Google won’t help you there. You might need a different application. Microsoft Office: great application. But if you need to understand how it works, if you go even further, if you want to change something that is not done by anything else, or something very special, then you don’t have a chance with even applications that are the market leader.

Mike: Yeah. How do you make things discoverable as well? So often I see LibreOffice being used in places where people are centering text by pressing the space bar a thousand times to move a piece, and then you show them some buttons on the toolbar that are visible by default on the toolbar, and yet they don’t use them. This is not some obscure feature tucked away in an experimental mode that you have to compile a development build for. All the stuff is there, but they don’t know a lot about this. Discoverability: some things are just there in front of our eyes anyway.

Heiko: That’s a nice aspect of software. We trust a lot in icons, and users with a bit of experience in muscle memory: you always click at some point, then you know what to do. I think everyone knows an application that exactly works how it has to work, and if you change something, everything breaks. But it is not so easy to trust the icons.

We provide options to pick an icon from different themes, mostly because we want to blend into the different operating systems. You get one icon theme on Windows that has some name; you get a different icon theme on macOS, and it makes the application use and feel at home on the system. That’s one of the basic ideas of LibreOffice.

But sometimes the icon might be not enough to identify the operation. Not might: it is for sure. We have a million — okay, a gazillion — different functions and a thousand different icons, and no one can remember the different icons. I could imagine, for the centre icon, you need to very clearly take a lot of care into the small bars that identify left-aligned, centered, and right-aligned.

What we could do to solve the problem is to label all the elements. Labels are great. Labels help to understand what is going on, and you quickly read it. It is a challenge when it comes, first of all, to localisation. There are languages that take much more space than English. I mean, Finnish is one of the fun stories: it has a lot of letters to describe a simple thing, more or less. Maybe it’s the opposite sometimes. I don’t want to blame the Finnish people for their language.

But we need to take care with all the design that we do of different languages. The length of text must not change everything in the UI and make it less appealing than it is. Of course, it is the amount of functionality. It is actually possible to enable labels on a toolbar, the classic toolbar. You can show them centered next to the icon or just the label. But in this case, the number of functions on the standard or formatting toolbar — the two on top of the UI in Writer — we don’t have enough space.

We have users who run a machine with low resolution, maybe not always an old machine, but that’s one idea we have. We don’t want the user to run the latest machines and dump everything which has an age more than two years. That’s ridiculous. Ten-year-old computers should still work, and do work properly, with LibreOffice. But in this case, you have a low resolution, and to fit functions that 90% of users want to have at a certain place at the same size, that’s a bit of a challenge.

If you talk about the primary UI, we have many users who are familiar with Microsoft products and expect us to do something like a ribbon. It is maybe the next question you would ask me. This we call the NotebookBar. It’s not really a ribbon, but it looks a bit familiar. It has the opportunity to show the labels, but also trusts a lot in the icons. From my point of view, it is not really easy to use. It is just one way to deal with the UI, but not the best, I would say.

Mike: Yeah, because I remember there’s discussion about having a floppy-disc icon used for saving, for instance. What does that mean? I mean, we’re geeks who can remember floppy disks, but it’s going back a long way. Perhaps it’s become such a novelty now that people who’ve grown up without disks still associate that with saving: that weird icon, that thing I’ve never seen in real life — ah, that means saving. But then for a lot of people now, what does saving actually mean? They save into the cloud, or you have mobile devices which don’t really expose the file system.

Heiko: That was how I started to get involved 10, 12, or more years ago. I ran an analysis about icons, and it is very typical for designers to draw an arrow, and if the arrow comes from top down, it means to save. And what? Yeah, sure, it is save. No, the floppy disk is obviously a great icon and a great way to represent it.

Then it comes quickly to design questions. Now let me try to pronounce it correctly: skeuomorphism. It was the idea of macOS to make the icons appear much more like in real life: beautiful. But the zeitgeist has changed, and I think flat icons that are everywhere nowadays are generally easy to recognise still. At this point, it is an aesthetical question.

Going back to the interface, the mixture of good icons and labels, it is crucial, and perhaps a choice for the user, something where they can decide or can start off: “I’m a beginner. I don’t know the software, so I need help from the software,” which is not just Clippy. I want to read or skim over some text. That’s very quick, much faster than hovering over an icon and waiting for the tooltip to understand what it means.

Mike: Yeah, I guess the cosmetic side is one element of usability then, because I was thinking: how do you define usability? I learned Vim years ago, and then it became very usable for me, but it’s completely unusable if you’ve never come across it before. Modal editing, absolutely no feedback unless you turn on status lines and things. So some people say, “Oh, Vim is really, really usable when you know how to use it already.” But what does usability actually mean? I guess we’ve touched on it a bit with things like icons…

Heiko: Of course it goes deeper into software. The more you learn about software, the better you understand what and how to use. I have one example from Calc. As a usability or UX team, you have to analyse the user behaviour from time to time, and we ask them what features they use, how happy they are, what they prefer, and, and, and. Everything is on the blog, and even with data everything is transparent. What I’m talking about now in detail, everyone can read in the blog post.

The point is, some of these functions are well known by everyone — copy, paste. Some are less well known. If one compares the amount of “knowledge” — bad word — how well people know a certain feature, with how the other people who know it attribute importance to it, then you find easily functions that need more love, that need to be handled easier. One example in this case would be the pivot table. When you put some data, crunch it, merge it, and put it into a new table, people who know this feature cannot live without it. Others: “What? Pivot table? What is it?”

Usability is always a question of the use case, first of all: the scenario, the user. In general, it defines some kind of persona based on real data. It analyses the scenario. It requires knowing what people want to achieve and puts this together, goes back and back and round and round, and iterates again and again. But mostly it has limited scenarios. Some specialised software has a clear use case: you enter something and you want to achieve something.

Office productivity is a broad topic. People want to write a letter, or create a thesis, write a comic. They want to create some weird stuff with a wrong application, and it is not perfectly clear. In many cases, we cannot make everyone happy, or perfectly happy, and we need to focus on the majority. We are not Vi, or Vim. Vim is one dedicated program for the nerds, and LibreOffice is for the other nerds, and hopefully for not just, say, nerds.

Mike: Yeah. How do you go about actually implementing changes then? We have, in LibreOffice, the design community, and you are overseeing their work. I guess we have developers from the ecosystem, volunteers as well, and people in all sorts of different areas. So how does a change typically come about? Is it like somebody goes on to Bugzilla and says, “Hey, this feature I find hard to use. It was impossible to discover”? I know you have different tools and mockup tools as well. What’s a typical way that an improvement comes about?

Heiko: We take the input of users. We are actually also users, but it is not like a dictatorship. We don’t tell the users how they have to work. Input is done on Bugzilla. They write a bug report: something is broken, something does not work as expected, or they have ideas how the application can be enhanced — enhancement requests. Write it down. We typically have a conversation. We discuss it a couple of times, clarify, for example, the use case, clarify if it is backed up by some standards, the idea, if it is usable in more scenarios by different users – things like that.

We create some possible solution. That can be a mockup, which is a kind of a drawing of the resulting dialog. That often helps to understand the workflow better than just writing down, “You click here, and then it happens there.” The mockup is always a good help here. But the point is, if we change the workflow, the developer needs to understand what to do, how it affects the software, and like any other people, no one wants to read a lot and try to replicate mentally the other side. Here, look at a picture.

We have a couple of companies around the ecosystem who do a lot of really great work and share their work with the open source community on LibreOffice. But we also have volunteers. We have many volunteers who do it in their spare time, and everyone is welcome — to point that out very much clearly, everyone is welcome. It makes the software great. It makes the project great. We can talk about this later.

The thing with this development is that one needs a lot of time to understand the code. It has many millions, 10 million lines of code. Once you understand a little bit of the structure, or you get help, it is not so difficult to read the code. Some parts, like Calc, are almost art: beautiful to read and beautiful to understand and easily combined. Other parts are a bit more complex, to say it politely.

We have students who take the time to understand the code and implement larger pieces. That’s often done and sponsored by Google Summer of Code. We’ve participated in the project since it was started. For example, the appearance project was one of the Google Summer of Code students, who, by the way, was hired – or now he is an intern — at one of the companies in the ecosystem. We have almost every year students that are convincing the companies to hire them. So it’s not just the money that Google pays for the student; it is not just the fun to do something for millions of users and to realise something. Writing code is a great thing, to get something really done and to make it nice – but it’s also a chance to put it on your CV and even to get a job.

Mike: Yeah, we’ve used this from the marketing side before, to encourage people to join the project and get involved in LibreOffice and open source, because traditionally free software community marketing has been: join a project because, you know, we’re all working on this nice thing together, and it’s nice for you and nice for the world. But I think it’s worth pointing out some of the more personal benefits as well.

So you join the LibreOffice design community, you make a change to some element of the interface that goes out then to tens of millions of users who will benefit from it. Some people will be annoyed by it, whatever any kind of change, but you’ve had an impact. Then, like you say, you can put that in your CV and say, “My work is now being used by millions of people.”

Heiko: Yes, that’s a point. It’s not just us, TDF, like you and me. We don’t dictate anyone what to do. It is an open source project in the very basic sense that you do open source: you, as a user, want a feature? Implement it. We help; we make it possible. My contribution is to warn users to do nothing in a very complicated way, to not add much on the primary UI, to consider the users, maybe accessibility, localisation. But no one stops anyone to request a feature, to get in contact with the developers, to discuss with experts about the software.

If you compare this with commercial products, you have no way to talk to the design team – to the leader of the design team. You don’t even know who it is. In LibreOffice, you get it. It is pretty easy to get in contact with the CEO, if there was one. For the development, there is no CEO, but even in development, we have some kind of a committee, people that come together and talk about development. Design is close to development, so I’m part of this committee. It is open for everyone. People can join and can ask questions, and that’s something that we encourage users.

From the design team, or the design aspect, it is pretty easy for me to make proposals. It is tagged on Bugzilla as EasyHack, skill design, difficulty beginner – so it means it is easy to implement, it is something that affects the design, and it is for beginners. In this case, many of these changes are just labels, and changing a label does not require any knowledge in programming. People need to understand how computers work. It is not really bad to understand what Git is, but in the end you don’t even need Git for a label change. There are different ways.

You may want to talk to other people who can explain it better than me, but the actual change, as you said, where you can make an impact – the entry hurdle for this is very low. There’s no big barrier. It goes step-by-step further and reaches quickly a point where you need more expertise, that’s for sure.

Mike: I think you talked about the transparency as well, and the fact that it’s all in the open. I think it’s interesting because, although I’m not really involved in design, I’m browsing around Bugzilla and keeping eyes on different parts of the projects, and I often see quite intense discussions going on in the design team about what to do about something. Then some people might think, “Wow, look at that from the outside. Look at this big discussion, even this argument they’re having.” But those same discussions and arguments happen inside the closed companies – it’s just you’ve got no idea.

So people have no idea what they’re talking about. I was reading today rumours of Apple radically changing the design of iOS in the next release, but we don’t know anything. We can’t read their discussions. We have no insight into the decisions they’re making and why, even if you agree or disagree with them. So I think having it in the open, people say, “Oh look, they’re arguing about something. They’re having a big argument about it,” and not just in design but in QA and stuff. But I think that’s fine. That’s great. It’s there, and then anybody can join in and “add their mustard”, as we say in German.

Heiko: Yes, that’s very German: “add your mustard”. I’m pretty sure the big companies base their decisions on user data, user input, surveys, but they don’t tell you exactly what is done. They don’t tell you how they analyse data. The amount of work is likely also so huge I guess they analyse data from thousands of people in many different ways before they do the big decision, the disruptive change in the software, for sure.

We don’t do it at this large scale. Maybe we do it similarly, but we don’t reach everyone in the community. We typically reach only the people who are interested in participation, who read on social media what LibreOffice is doing, who follow LibreOffice channels, where you multiply and share the invitation to a poll, to a survey, and even then, not everyone is eager to spend 10 or 20 minutes on a survey, answering some weird questions. Yes, that’s something that we cannot solve as an open source project. We cannot do it. But what we do is to tell people why we do something, what exactly we do, and how the results are.

One more example why it might be helpful: I do my data analysis with R, and I create graphics with R. It is a nice way, I believe, to do some — not even statistics — but data analysis. If you like my graphics, you can look into the code and learn how I create the graphics from the data. You get the raw data, what people answered, of course anonymously, and you get the code to analyse this data. Isn’t it cool? I think so.

Mike: Yeah, that’s the raw openness of it. So anybody who’s watching this and thinks, “Hey, I want to poke my nose around, have a look around, get involved in the LibreOffice design community,” what’s the best way to start? Get on IRC, Telegram, mailing list?

Heiko: Yes. The design group is everywhere. We have a special IRC channel, we have a Telegram group, and we have a Matrix room. There are bridges between Telegram and IRC, and Telegram and Matrix, so the chat systems understand each other if the bridge is running well. Most people are on Telegram. It’s a convenient way and simple.

There is a mailing list that reaches out to a couple of hundred people who are registered on the mailing list. It has not much traffic. It mostly has the announcements for the meetings — it changes between Wednesday and Thursday — so we have meetings every week. One week is meant for people from the West, and the other week meant for people from the East, and everyone is welcome to join the meeting. I announce in advance the topics. It comes from Bugzilla – input from users where I cannot do quick replies or where I feel my reply would be a bit premature. It would be too quick if I think it is not needed to do a request and resolve a ticket, and people put a lot of effort into writing down their wishes. At least we should talk about it sometimes.

Participation in the Design group is possible on the chats. People can just hang out in our chats and read what people write. They can participate in the meeting or just listen to what others talk about. They can comment on Bugzilla. This is very much welcome. That is the first and most important way to contribute to user experience and design: comment on tickets or even maybe make proposals on Bugzilla.

Everyone can tag a ticket to be relevant for the UX group. There’s a special keyword, needsUXEval, that needs to be combined with a CC. A bit overly difficult, but it is possible to trigger the attention of the UX people on Bugzilla if you just want to get input, and of course doing the actual grunt work. That’s great: analysing what people said.

Mike: Yeah, and then actually doing it, because you mentioned that as well before: doers decide. We get so many questions saying, “When will LibreOffice have feature X or improvement Y?” We say, “Well, when somebody steps up to implement it.” Doers decide the project.

So, yeah, thanks for those insights, Heiko, into the way the design team works. Anything else you’d like to add before we wrap up?

Heiko: Well, no. I’m glad to do the work. I’m happy to welcome everyone else, and if I can convince people from using LibreOffice, from going into the open source world to use open source, then my job is perfectly done, I think.

Mike: Pretty much all of us in the LibreOffice project agree with that. Having lots of users is really nice, but having lots of contributors is even better as well – to have a nice active community.

So thanks, Heiko. Thanks, everybody, for tuning in. Keep an eye or ear out for the next episode, episode three. Not sure what it will be about yet, but we have lots of other projects, sub-projects in LibreOffice to talk to as well, like QA, documentation. So let’s see what comes up next. But thanks, everybody, and bye-bye.

Heiko: Bye.

Community Member Monday: Ndidi Folasade Ogboi

Ndidi Folasade Ogboi

Tell us a bit about yourself!

I live in Lagos, Nigeria, and I spend my time dabbling into user experience design with research, although these days, I’m diving deeper into research. I’m a big fan of books, especially well-written fiction. Music is also a huge part of my life. Let’s just say I love anything that sounds good and sing-alongs during work.

What are you working on in the LibreOffice project right now?

I am an Outreachy intern working on improving the LibreOffice Writer templates with guidance from my mentor, Heiko Tietze. I have spent the last month understanding the community’s pain points by carrying out a survey, analysing their responses and working to create functional templates that they need. Currently, I am iterating on priority templates like DIN 5008 Business Letter, resume and academic writing templates.

I am also doing some more research on template standards and reflecting on how to create templates that would help users. My top priority is to understand styling and implement it in the templates I am creating and also curate template contents that fits into prospective user preferences.

Why did you choose to join the project, and how was the experience?

During my Outreachy contribution phase, I had a list of open-source projects I could choose from, but at the time, I wanted to test the limits of my capacity. As a UX designer with no coding background, the first task for this project was to submit a patch on Gerrit.

Every other contributor left the task obviously because of the task complexity and I remember one of my mentors, Ilmari telling me that the competition had become less tense due to the number of contributors dropping the project. It was a challenge that pushed me out of my comfort zone as it was my first time interacting with code. That was it for me. Completing that task gave me a sense of achievement and made me even more excited to continue with the project.

Ah, it was challenging at first. I also dealt with anxiety because there was so much to do and I didn’t know where to start but later, the bits started coming together. Luckily for me, I have a mentor who has been supportive since I started the project back in December and who has made my experience seamless. Whenever I face a blocker, I know I have a mentor who is always ready to provide me with resources and connect me with other members of the community that have resources that would be useful for each project phases.

Anything else you plan to do in the future? What does LibreOffice really need?

I have decided to continue contributing to adding more templates to Writer and helping improve other aspects of user experience through user research and design after my internship ends. I like it here. Working on templates in Writer is challenging no doubt – but I think I like the way it stretches me, and helps me expand my skills in the area of research and thinking about a broader user audience.

Speaking from a UX perspective, I think LibreOffice could greatly benefit from a modernized UI mostly to improve accessibility and efficiency. When I started using the Writer interface, it was quite hard for me to navigate at first; there were no modal pop-ups to help sort of onboard me into the whole experience and so having to navigate all alone made me reluctant to use the Writer tool. I also look forward to the implementation of AI because seriously, it just makes navigation and usability way easier. For example, the implementation of AI-powered suggestions for formatting would make LibreOffice feel more modern.

Thanks to Ndidi for all her contributions! 😊

Hazard: A LibreOffice Impress template to play Jeopardy-like games

Hazard LibreOffice template screenshot

Marcial Machado recently posted on Reddit about his “fully-featured LibreOffice Impress template for creating Jeopardy-style games. Just add your questions and categories, and you’re good to go!” So let’s find out more…

What does the template do?

At its core, the template is meant to emulate what a game of Jeopardy is like. You can click on any of the squares on the game board and it will send you to the slide with the associated question, where you can either return to the board in the case of a misclick, or reveal the answer to the question. Returning to the board from the revealed answer slide will erase the square you clicked on to clearly show which questions are left to be answered.

You can also use the green and red arrows at the top to give and remove points to up to 6 teams in increments of 100, in order to keep track of everyone’s correctly- and incorrectly-guessed answers. Once the board’s cleared, you can click the pink button at the bottom right to clearly display the top three teams and the points they earned. I made sure to include details on how to edit, and use, the template in the first two slides!

Why did you develop it?

The simple reason for why I developed this template was because: I use LibreOffice, I wanted a Jeopardy presentation that worked in LibreOffice, and I couldn’t find one. The more verbose reason is that there is a comparative dearth of visually-appealing presentation templates in the OPT world than there is in the PPTX world; this is no fault of the creators of OPT templates, but rather because the proprietary nature of something like PowerPoint incentivizes templates made for profit, whereas most people who create LibreOffice Impress templates do it out of interest.

This necessarily means that there are just less people making LibreOffice Impress templates in total, without mentioning the much smaller userbase LibreOffice has compared with Microsoft Office. Now, some PowerPoint files do work in Impress, and the work done by the dev team and contributors is commendable, but a converted document is still a converted document. Formatting might be slightly off, and macros are almost always a bust. Since I realized I wanted this Jeopardy project to exist, and realizing my own frustration with the fact that such a project didn’t exist already, I went ahead and tried it out myself, and then released it to the public!

Hazard LibreOffice template screenshot

Do you have any tips for other people interested in creating templates in LibreOffice?

I have a few:

  • Focus on a problem you, yourself, have. You’ll be much more eager to bring a project to completion and to a high level of quality if you have a vetted interest in the final product.
  • Tell yourself that no one, ever, is going to make what you want to be made. The problem with a community of like-minded contributors is that everyone thinks everyone else is likely to fix the problem they have, so there’s a huge diffusion of responsibility; think of walking past some trash on the sidewalk and thinking, “someone else will pick that up eventually.” No! You be the one who throws it in the trash! In the same way, once you realize there’s an issue you can fix, or you can learn how to fix, be the one to fix it – no one else is gonna fix it for you!
  • Be patient. Like, really patient. Because no one is gonna fix this problem for you, you have all the time in the world to get it right. Read some documentation, go to some forums, sit on it a few days. Maybe get some feedback. Depend on time and on others to both find motivation and create a better end-product. The Jeopardy template I ended up releasing was the third completed project I made!

Get the template from here

Community Member Monday: Moritz Duge

Moritz Duge

Tell us a bit about yourself!

I live in the north of Germany, in the city of Hamburg. Probably not so far away from where the first lines of what was called StarWriter where written, just a year before I was born.

I remember downloading StarOffice over a 64 kbit/sec line around the year 1997. And since it turned into OpenOffice.org I used it for a lot of home work in high school, student jobs and finally my bachelor thesis in computer science. For StarOffice and OpenOffice I mainly used Windows. But around the time LibreOffice started I had shifted to Linux as a daily driver.

My first contact with the LibreOffice community was when I got into a conversation with a few people at the Chaos Computer Club Congress around 2013. And as most of the last 15 years I’ll be around at the CCC too this year. As a hobby I’m engaged in politics, pushing Open Source, data protection, privacy as well as environmental protection topics. And to calm down I’m cycling, pursuing my interest for astrophysics and recently started doing Yoga.

What are you working on in the LibreOffice project right now?

In summer I’ve reworked some parts of the GPG / OpenPGP and X.509 integration in LibreOffice. Drastically improving the performance for users with large GPG keyrings like me. But also making the GPG and X.509 workflows in the LibreOffice UI more user friendly. Knowing there’s still much work left to do.

Beside I’m mostly working on the web integration of LibreOffice. I’m spending a lot of time with LOWA (LibreOffice Web Assembly) builds, improving them with my colleague Stephan Bergmann, and even committed my first patch to Emscripten to improve LOWA debugging.

My top priority is currently to work on ZetaJS, which wraps UNO into a native JavaScript API.
It’s being used to integrate LibreOffice into web apps without the need for a huge server running server side LibreOffice processes. I’ve also written some nice example use cases like this one.

Why did you choose to join the project, and how was the experience?

I’ve worked with Linux for many years. Mainly as Ruby developer and web administrator. But I’ve always had a big interest into more classical technical environments. I really like strong typing. And I’ve collected some experience with big C code bases. Like when bisecting Wine to keep old Star Trek games running, or when debugging the amdgpu Linux driver for my notebook. Although not without great help from the AMD guys!

So when looking for new tasks, I remembered the LibreOffice guys I met at the CCC and I had some talks with Thorsten Behrens who kindly offered me a job at allotropia. For me LibreOffice is one of the flagship projects of Open Source beside the Linux kernel and Firefox. And I’m enthusiastically absorbing all the C++ insider knowledge I can get from my colleague Stephan 🙂

Surely I’m a little bit of a uncommon guy. In my old job I was usually the one who had an eye for what code did, which was written by people who left the company years ago. Maybe I should say something like “you can’t improve a software if you’re unwilling to understand the existing code base”. And I like to call LibreOffice “your friendly code base from the 90s” 😉

So there’s much archaeology I can do in LibreOffice. But I also love, that because of the code base being Open Source, many developers from 10, 20 or even more years ago are still in the community. So they might still remember what some code line was for.

I’ve always preferred decentralized solutions. And I know quite well how to get around with IRC, mailinglist and Bugzilla. So I’m probably not the regular guy of today, who’s conveniently doing everything via GitHub. Nevertheless, I hope I’m forgiven when stumbling over a few conventions I didn’t know before 🙂

Beside I very much enjoyed all the nice conversations at my first LibreOffice Conference this year. And I’ve held a few conference talks about my work with ZetaJS and the LibreOffice-GPG improvements in the recent months.

Please confirm that you want to play a YouTube video. By accepting, you will be accessing content from YouTube, a service provided by an external third party.

YouTube privacy policy

If you accept this notice, your choice will be saved and the page will refresh.

Anything else you plan to do in the future? What does LibreOffice really need?

Surely web, mobile and collaborative editing are important topics. I’m myself using Collabora Online even outside IT communities since years. But I like to see it work even better with low end servers like a Raspberry Pi, to enable everyone with a small home server to serve a LibreOffice-Online instance. So moving the actual LibreOffice binary from the server into the browser’s WASM engine and enabling P2P collaborative editing is definitely a long-term goal.

Besides that, I also see that machine learning, some call it AI, can help with a lot of simple tasks. Knowing that more difficult tasks like programming often end in quite disastrous results, machine learning might be a good opportunity to help beginners to create great documents quickly with LibreOffice. And free software like SpeechNote shows me, that there’s no need to run stuff through a questionable online service. But instead only the proper training models need to be provided.

Beside I always cherish rock-solid software. Nobody will continue to use an app which constantly crashes or stores data in a broken file, resulting in many hours of writing being lost. So as in many software projects, a big priority is always to just keep things running as well as they ran before.

Interview with Newly Certified LibreOffice Developer Rafael Lima

The LibreOffice Engineering Steering Committee (ESC) has appointed Prof. Rafael Henrique Palma Lima, from Federal Technological University of Paraná (UTFPr) as the newest certified LibreOffice developer.

Prof. Lima has been contributing new code to LibreOffice since 2020, and the committee has attested to the quality and value of his contributions to LibreOffice for this certification. We interviewed Prof. Lima, who tells us about the process and what areas of the code he works on.
(more…)