Stuff Michael Meeks is doing

This is my (in)activity log. You might like to visit Collabora Productivity a subsidiary of Collabora focusing on LibreOffice support and services for whom I work. Also if you have the time to read this sort of stuff you could enlighten yourself by going to Unraveling Wittgenstein's net or if you are feeling objectionable perhaps here. Failing that, there are all manner of interesting things to read on the LibreOffice Planet news feed.

Older items: 2021: ( J F M A M J J A S O N D ), 2019, 2019, 2018, 2017, 2016, 2015, 2014, 2013, 2012, 2011, 2010, 2009, 2009, 2008, 2007, 2006, 2005, 2004, 2003, 2002, 2001, 2000, 1999, legacy html


2017-12-31 Sunday

2017-12-30 Saturday

2017-12-29 Friday

2017-12-28 Thursday

2017-12-27 Wednesday

2017-12-26 Tuesday

2017-12-25 Monday

2017-12-24 Sunday

2017-12-23 Saturday

2017-12-22 Friday.

2017-12-21 Thursday.

2017-12-20 Wednesday.

2017-12-19 Tuesday.

2017-12-18 Monday.

2017-12-17 Sunday.

2017-12-16 Saturday.

2017-12-15 Friday.

2017-12-14 Thursday.

2017-12-13 Wednesday.

2017-12-12 Tuesday.

2017-12-11 Monday.

2017-12-10 Sunday.

2017-12-09 Saturday.

2017-12-08 Friday.

2017-12-07 Thursday.

2017-12-06 Wednesday.

2017-12-05 Tuesday.

2017-12-04 Monday.

2017-12-03 Sunday.

2017-12-02 Saturday.

2017-12-01 Friday.

2017-11-30 Thursday.

2017-11-29 Wednesday.

2017-11-28 Tuesday.

2017-11-27 Monday.

2017-11-26 Sunday.

2017-11-25 Saturday.

2017-11-24 Friday.

2017-11-23 Thursday.

Towards a better LibreOffice on Mac

The story so far

Two and a half years ago Collabora started to maintain LibreOffice in the Mac app store - checkout LibreOffice Vanilla: Fresh from the community to your Mac. This made it extremely easy and convenient to install LibreOffice on the Mac, and it is gratifying to see that around 365k users have indeed installed it.

As a company our raison d'etre is to drive the success of FLOSS, however in order to do that we need to raise funds to drive development. As such a major motivation here was to try to bring enough money into the Mac ecosystem that we could start to fix bugs, and address longer standing problems with the Mac - something everyone wants to see.

To try to achieve that we included a risque 'nag' dialog, that would encourage people to donate to The Document Foundation (TDF) - and also encourage them to buy Collabora Office on the Mac to help fund engineering work. This would show up on first-start, though we moved that to monthly, and remind Mac users that while so many contribute so much of far greater value than money to code, docs, l10n, QA, UX, and in many other ways, nevertheless the quickest & easiest way to make a small contribution if you're missing the skills is with a small donation to TDF, or failing that by buying a paid Collabora Office through the app-store.

Today's numbers

Each month we have on average 54 people purchasing Collabora Office for Mac for $10 (we get 70%), and around 10 donation page visits per month that we could track, TDF's average donation is around $10. So estimating this is around $380 per month of income for Collabora, and say $100 for TDF.

That doesn't sound too terrible, until you look at this two ways:

  1. The cost to Collabora - of the up-front investment needed to get the Mac build sandboxed as well as ongoing costs to work around changes to the sandbox, as well as fixing nits that reviewers find each time we submit a new version. So far that cost between two and three times the income (at cost ) - so quite some loss. This explains why we have not been investing as we'd like to in keeping LibreOffice Vanilla up-to-date.
  2. The cost to TDF - what cost you say ? they got $100 per month for nothing. Well yes, and no. TDF serves install sets at around 50k per day - that is around ~20 million per year. TDF's awesome donors gave around Eur 800k last year to drive its mission - so around Eur 4 cents each download (though user counts could be significantly greater). So from 12k downloads per month, we'd expect $485 in donations from this many Mac downloads, assuming an average generosity of Mac users.
So - this current situation seems to be a lose-lose for Collabora and TDF, with only Apple winning its 30% cut. That is far from ideal - we didn't go into business to lose money and to reduce TDF's income (even by 0.6%); so how can we fix this ? (ideally without going back to phase one: "collection of underpants" ?)

A more elegant plan for now

Moving ahead, as applications are distributed in app-stores, there will be a super-easy payment mechanism placed right next to the download button. What is the convenience of an app-store worth ? How much will people pay for getting & maintaining a signed LibreOffice Vanilla through an app-store ? Put another way - in the future it will be critical to understand what the market demand curve, and elasticity of demand is for just that convenience.

We've discussed this with The Document Foundations' Board of Directors (BoD) and they asked for a proposal on how best to deal with this problem. We proposed an experimental solution which they agreed, so we are today starting an experiment which will make the following changes:

The hope is that this approach provides a win-win, where we can finally invest more in fixing and improving LibreOffice on Macs, while also creating a template and valuable data we will share with TDF on how to deal with app-stores - it is entirely possible that app-stores will become the dominant mode of software delivery in future, so TDF needs to be prepared.

FAQ / comments ?

Why doesn't Collabora just do this for free forever ? - We do invest a lot in LibreOffice, but if we're going to do something loss making long term, it should probably be to drive the success of free platforms, not subsidising convenience for wealthy Mac owners.

Why doesn't TDF do this for free ? - I don't speak for TDF here, but the fundamental economics don't change by someone else doing the same work - it looks like a loss-making business subsidizing Mac owners' convenience at this scale for TDF too.

How does this work with the trademark ? - TDF have existing Trademark Policy for the LibreOffice trademark that this fits neatly into. Of course - we need to make it clear that we're not TDF, and fit the other criteria. Discussing this with the BoD it seems that TDF may want to do this themselves in future in a different way, and if they're distributing LibreOffice in a given app-store, the duplication is likely to cause confusion - which would not be ok. Fair enough for the future. For now, there is nothing special about Collabora's use of the trademark.

Why doesn't TDF charge instead ? - perhaps this makes sense in future, that's up to TDF. Practically, this would be a for-profit activity that would need to be done and accounted for separately in the Stiftung, it would be necessary to do the same work and publish & award tenders for the relevant development pieces. That's a lot of work and overhead for TDF, with an unclear benefit vs. this approach. It would also mean TDF going into business itself, which could be seen as impacting its vendor neutrality. Clearly I expect TDF to continue to provide Mac downloads for free from libreoffice.org, as normal, indefinitely.

How can I help translate the app-store page ? - clearly we'd love to have help and community input here. Mail me to get more details, and/or with your translation.

Why is your app-id com.collabora.libreoffice-free if is no longer free ? good question - glad you asked that - but it's hard to change and not really user-visible.

What makes improving Macs special ? - interestingly the Mac platform accounts for a large chunk of our high priority regressions, currently three vs. a total of eight. The majority of developers are comfortable with and work on Linux or Windows, and the vast majority of paying customers in the ecosystem are also on Windows or Linux. TDF has tried to improve things by - making Mac hardware more widely available, but thus far without a huge impact. We really don't want to get into a situation where it is hard to improve things through LibreOffice's platform abstraction due to an under-resourced platform.

Conclusion

We're going to see if charging for the convenience of the app-store can help to improve the LibreOffice on Mac situation by funding its development. It is an experiment - who knows - perhaps selling convenience could evolve into a way for FLOSS projects generally to fund development. Possibly TDF will do this themselves in the future , or could even put out the use of their brand in app-stores to tender for the highest bid / contribution mixture.

Perhaps you're a volunteer - and talk of optimizing donations, or income streams sticks in your throat - I get that too. Many of TDF's most valuable contributions are in the form of time - and not money, from our thousands of volunteer contributors; still - converting cash into code is something we love to do.

2017-11-22 Wednesday.

2017-11-21 Tuesday.

2017-11-20 Monday.

2017-11-19 Sunday.

2017-11-18 Saturday.

2017-11-17 Friday.

2017-11-16 Thursday.

2017-11-15 Wednesdy.

2017-11-14 Tuesday.

2017-11-13 Monday.

2017-11-12 Sunday.

2017-11-11 Saturday.

2017-11-10 Friday.

2017-11-09 Thursday.

2017-11-08 Wednesday.

2017-11-07 Tuesday.

2017-11-06 Monday.

2017-11-05 Sunday.

2017-11-04 Saturday.

2017-11-03 Friday.

2017-11-02 Thursday.

2017-11-01 Wednesday.

2017-10-31 Tuesday.

2017-10-30 Monday.

2017-10-29 Sunday.

2017-10-28 Saturday.

2017-10-27 Friday.

2017-10-26 Thursday.

2017-10-25 Wednesday.

2017-10-24 Tuesday.

2017-10-23 Monday.

2017-10-22 Sunday.

2017-10-21 Saturday.

2017-10-20 Friday.

2017-10-19 Thursday.

2017-10-18 Wednesday.

2017-10-17 Tuesday.

2017-10-16 Monday.

2017-10-15 Sunday.

2017-10-14 Saturday.

2017-10-13 Friday.

2017-10-12 Thursday.

2017-10-11 Wednesday.

2017-10-10 Tuesday.

2017-10-09 Monday.

2017-10-08 Sunday.

2017-10-07 Saturday.

2017-10-06 Friday.

2017-10-05 Thursday.

2017-10-04 Wednesday.

2017-10-03 Tuesday.

2017-10-02 Monday.

2017-10-01 Sunday.

2017-09-30 Saturday.

2017-09-29 Friday.

2017-09-28 Thursday.

2017-09-27 Wednesday.

2017-09-26 Tuesday.

2017-09-25 Monday.

2017-09-24 Sunday.

2017-09-23 Saturday.

2017-09-22 Friday.

2017-09-21 Thursday.

2017-09-20 Wednesday.

2017-09-19 Tuesday.

2017-09-18 Monday.

2017-09-17 Sunday.

2017-09-16 Saturday.

2017-09-15 Friday.

2017-09-14 Thursday.

2017-09-13 Wednesday.

2017-09-12 Tuesday.

2017-09-11 Monday.

2017-09-10 Sunday.

2017-09-09 Saturday.

2017-09-08 Friday.

2017-09-07 Thursday.

2017-09-06 Wednesday.

2017-09-05 Tuesday.

2017-09-04 Monday.

2017-09-03 Sunday.

2017-09-02 Saturday.

2017-09-01 Friday.

2017-08-31 Thursday.

2017-08-30 Wednesday.

2017-08-29 Tuesday.

2017-08-28 Monday.

2017-08-27 Sunday.

2017-08-26 Saturday.

2017-08-25 Friday.

2017-08-24 Thursday.

2017-08-23 Wednesday.

2017-08-22 Tuesday.

2017-08-21 Monday.

2017-08-20 Sunday.

2017-08-19 Saturday.

2017-08-18 Friday.

2017-08-17 Thursday.

2017-08-16 Wednesday.

2017-08-15 Tuesday.

2017-08-14 Monday.

2017-08-13 Sunday.

2017-08-12 Saturday.

2017-08-11 Friday.

2017-08-10 Thursday.

2017-08-09 Wednesday.

2017-08-08 Tuesday.

2017-08-07 Monday.

2017-08-06 Sunday.

2017-08-05 Saturday.

2017-08-04 Friday.

2017-08-03 Thursday.

2017-08-02 Wednesday.

2017-08-01 Tuesday.

2017-07-31 Monday.

2017-07-30 Sunday.

2017-07-29 Saturday.

2017-07-28 Friday.

2017-07-27 Thursday.

2017-07-26 Wednesday.

2017-07-25 Tuesday.

2017-07-24 Monday.

2017-07-23 Sunday.

2017-07-22 Saturday.

2017-07-21 Friday.

2017-07-20 Thursday.

2017-07-19 Wednesday.

2017-07-18 Tuesday.

2017-07-17 Monday.

2017-07-16 Sunday.

2017-07-15 Saturday.

2017-07-14 Friday.

2017-07-13 Thursday.

2017-07-12 Wedesday.

2017-07-11 Tuesday.

2017-07-10 Monday.

2017-07-09 Sunday.

2017-07-08 Saturday.

2017-07-07 Friday.

2017-07-06 Thursday.

2017-07-05 Wednesday.

2017-07-04 Tuesday.

2017-07-03 Monday.

2017-07-02 Sunday.

2017-07-01 Saturday.

2017-06-30 Friday.

2017-06-29 Thursday.

2017-06-28 Wednesday.

2017-06-27 Tuesday.

2017-06-26 Monday.

2017-06-25 Sunday.

2017-06-24 Saturday.

2017-06-23 Friday.

2017-06-22 Thursday.

2017-06-21 Wednesday.

2017-06-20 Tuesday.

2017-06-19 Monday.

2017-06-18 Sunday.

2017-06-17 Saturday.

2017-06-16 Friday.

2017-06-15 Thursday.

2017-06-14 Wednesday.

2017-06-13 Tuesday.

2017-06-12 Monday.

2017-06-11 Sunday.

2017-06-10 Saturday.

2017-06-09 Friday.

2017-06-08 Thursday.

2017-06-07 Wednesday.

2017-06-06 Tuesday.

2017-06-05 Monday.

2017-06-04 Sunday.

2017-06-03 Saturday.

2017-06-02 Friday.

2017-06-01 Thursday.

2017-05-31 Wednesday.

2017-05-30 Tuesday.

2017-05-29 Monday.

2017-05-28 Sunday.

2017-05-27 Saturday.

2017-05-26 Friday.

2017-05-25 Thursday.

2017-05-24 Wednesday.

2017-05-23 Tuesday.

2017-05-22 Monday.

2017-05-21 Sunday.

2017-05-20 Saturday.

2017-05-19 Friday.

2017-05-18 Thursday.

2017-05-17 Wednesday.

2017-05-16 Tuesday.

2017-05-15 Monday.

2017-05-14 Sunday.

2017-05-13 Saturday.

2017-05-12 Friday.

2017-05-11 Thursday.

2017-05-10 Wednesday.

2017-05-09 Tuesday.

2017-05-08 Monday.

2017-05-07 Sunday.

2017-05-06 Saturday.

2017-05-05 Friday.

2017-05-04 Thursday.

2017-05-03 Wednesday.

2017-05-02 Tuesday.

2017-05-01 Monday.

2017-04-30 Sunday.

2017-04-29 Saturday.

2017-04-28 Friday.

2017-04-27 Thursday.

2017-04-26 Wednesday.

2017-04-25 Tuesday.

2017-04-24 Monday.

2017-04-23 Sunday.

2017-04-22 Saturday.

2017-04-21 Friday.

2017-04-20 Thursday.

2017-04-19 Wednesday.

2017-04-18 Tuesday.

2017-04-17 Monday.

2017-04-16 Sunday.

2017-04-15 Saturday.

2017-04-14 Friday.

2017-04-13 Thursday.

2017-04-12 Wednesday.

2017-04-11 Tuesday.

2017-04-10 Monday.

2017-04-09 Sunday.

2017-04-08 Saturday.

2017-04-07 Friday.

2017-04-06 Thursday.

2017-04-05 Wednesday.

2017-04-04 Tuesday.

2017-04-03 Monday.

2017-04-02 Sunday.

2017-04-01 Saturday.

2017-03-31 Friday.

2017-03-30 Thursday.

Zelda Coatings / Latona Travel - Scam

The offer

This morning I was saddened to get a mail from a friend in Brazil forwarded from a Zelda Coatings and Construction (not linked). The content of their offer (they were selected for approach from a jobs site rather quickly) was for a project management job - with some unusual hooks:

Now I don't work in the construction industry, but I see it as a low margin, high risk sort of place - offering a salary of three times the Market Price seems an extraordinary offer!

The catch

This offer is (I guess) designed to appeal to people from outside the UK; and therein comes the rub; you need to attend an interview here - but (not to worry) - they will refund the fare later. For a large & reputable company - I would expect a detailed telephone interview first before they ask you to travel anywhere.

"With respect to the expected timeline of work take-off, Zelda Coatings & Construction Company has mandated a reliable travel agency based on your choice of travel documentation to ensure the processing of all travelling Document/immigration particulars.
If the conditions stated above are acceptable to you, you are hereby directed to contact the designated travel consultant (with your contact information) so that they can start the processing of your relevant documents/immigration particulars to facilitate your travel."

This travel agency turns out to be "Latona Travel" - which has another web-site long on (presuambly stolen) stock images. I wonder if you insist on paying your own way - whether they will continue to humour you and let you knowingly burn that money, or not.

For the benefit of anyone that wants to fund a criminal underworld, their details are as follows

RECEIVER’S NAME: Elizabeth Olivia MONREAL
RECEIVER’S ADDRESS: 1 New Change Road, London EC4M 9AF, UNITED KINGDOM.
ID NUMBER: 9170433600513

Nice web-site content

Apart from being a 'coatings' company (ie. usually paint) - they appear to have lots of nice case studies (without deep links or supporting press releases), and have stolen lots of content. The (apparently authentic) Jones Bros appeared to get ripped off eg.

Side-by-side websites - good news about Lizards

The domain name registrant (who may be another victim) is one Kelly Dodder of 85 Dogwood LnApt/Suite, Fairfield, Connecticut, 06824 United States - which looks odd in itself.

Update 2017-04-05: now the company appear to have a google-maps annotation; but if you use street view to find any sign of their logo - you rapidly discover it is just a junk-yard (there is something apt about that).

Actions

Up to you - but I would recommend immediately cancelling any credit cards you may have given them details for. I'd also recommend a holiday in the UK - it's a lovely place - although I suspect the scammers of not being based here.

Update: - apparently the scammers ask for a money transfer; presumably to avoid delay to making off with your money.

Comment

I assume that every permutation of scams will eventually be tried; it is interesting that the initial ones preyed on people's avarice and dishonesty: "I will transfer millions to your bank account, then you share with me" - with subsequent scams appealing to another demographic: "I want to donate a large sum to your religious charity" - to perhaps capture a more virtuous but still credulous lot. Where will it end ?

It seems particularly sad to prey on vulnerable people who are between jobs, and extract potentially limited free capital from those who may not have much of a float to keep them going. Sadly our anti-fraud systems are insufficiently quick to deal with this stuff, but my hope is that eg. Google's Anti-Phishing team are faster.

2017-03-29 Wednesday.

2017-03-28 Tuesday.

2017-03-27 Monday.

2017-03-26 Sunday.

2017-03-25 Saturday.

2017-03-24 Friday.

2017-03-23 Thursday.

2017-03-22 Wednesday.

2017-03-21 Tuesday.

2017-03-20 Monday.

2017-03-19 Sunday.

2017-03-18 Saturday.

2017-03-17 Friday.

2017-03-16 Thursday.

2017-03-15 Wednesday.

2017-03-14 Tuesday.

2017-03-13 Monday.

2017-03-12 Sunday.

2017-03-11 Saturday.

2017-03-10 Friday.

2017-03-09 Thursday.

2017-03-08 Wednesday.

2017-03-07 Tuesday.

2017-03-06 Monday.

2017-03-05 Sunday.

2017-03-04 Saturday.

2017-03-03 Friday.

2017-03-02 Thursday.

2017-03-01 Wednesday.

2017-02-28 Tuesday.

2017-02-27 Monday.

2017-02-26 Sunday.

2017-02-25 Saturday.

2017-02-24 Friday.

2017-02-23 Thursday.

2017-02-22 Wednesday.

2017-02-21 Tuesday.

2017-02-20 Monday.

2017-02-19 Sunday.

2017-02-18 Saturday.

2017-02-17 Friday.

2017-02-16 Thursday.

2017-02-15 Wednesday.

2017-02-14 Tuesday.

2017-02-13 Monday.

2017-02-12 Sunday.

2017-02-11 Saturday.

2017-02-10 Friday.

2017-02-09 Thursday.

2017-02-08 Wednesday.

2017-02-07 Tuesday.

2017-02-06 Monday.

2017-02-05 Sunday.

2017-02-04 Saturday.

2017-02-03 Friday.

2017-02-02 Thursday.

2017-02-01 Wednesday.

LibreOffice under the hood: six months of progress to 5.3

Today we release LibreOffice 5.3.0, the next step in our journey: rich in features indeed - but (understandably) the media like to focus on the things you can see. What about the things you cannot ? the increasingly awesome underpinnings on which we're building the next round of improvements. Again - to see the pretty things people made and (more importantly) who did the heavy lifting checkout the user visible features from many great hackers, translators, UX designers etc. Here I am going to focus on the under-sung heros of making everything else better. There is an official 5.3 wiki page, but I expand on this and dive in more deeply here.

First apologies if I missed your good work; (and this is a very incomplete view based on a few hours of analysis) - please do add yourself to the wiki page and potentially mail me a unified diff to this; thanks ! It is only really possible to skim 9750 commits and nearly one hundred thousand lines of git log message across core and online - with:
26,080 files changed, 1,698,565 insertions(+), 361,298 deletions(-)

The last stubborn German comments

One thing that perplexes me about LibreOffice 5.3 is how we can have managed to translate 50,000 lines of German comments to English, but the last 3700 lines continue to defy us. Is it that people don't like finishing things ? Is it that the interest in comment translation is proportional to the number of remaining comments ? Seems unlikely - many of the remaning comments are in writer and calc. Either way - there is some lingering low-hanging glory for the person who can rid us of the last comments here ! Many thanks to Johannes Berg, Maarten Bosmans, Tor Lillqvist (Collabora), Julian Mehne and Albert Thuswaldner for taking on a few comments and to Phillip Szelat for updating the bin/find-german-comments tool.

A short list of strings to whet your appetite; please do help finally dispatch this gasping dragon if you're a native German speaker (or competent context reading programmer).

Graph showing perplexing exponential drop-off of comments

Crash Reporting

Markus Mohrhard's great work integrating a Breakpad based crash reporter has been extraordinarily useful. You can browse the crash reports here by version, and we've had over thirty crashreporter related fixes in 5.3 targetting particular issues. It is great to see commits like this that can quantify the win (20% of daily crashes in 5.2.0.4). We managed to nail lots of the most frequently reported issues soon after deploying the reporter.

Unfortunately, as Tomaz fixed another very long standing issue that was deadlocking the Windows clipboard code we managed to create a big spike in crashes (when exiting with a live clipboard) - this immediately jumped out of the stats:

Graph showing big jump in crashes

Which allowed us to somewhat accelerate the next release containing a fix (hence 5.2.5.1 vs. 5.2.5.2). Markus also nailed a whole clutch of evil badness around processing of events during very late shutdown of LibreOffice that we hope will improve things still further.

Another curious issue is that Windows, even Windows 64bit has a fairly hard (for an ISV) limit of 10,000 gdi objects (should be enough for anybody) handles per process. This was leading to lots of extremely diverse symptoms - with inexplicable failure cases above the window abstraction. Thanks to Markus Morhard for adding the ability to report the number of open GDI handles to crash reports, and Kohei Yoshida (Collabora) for fixing a gratuitous consumer of these handles for 5.3.1.

Ongoing Code quality work

As always lots of work from many people

Unit testing

As always we continue to grow our unit test count, and number of assertions (and assert calls). The tests are run by the Jenkins CI infrastructure on commits before they are merged. Thanks to so many for adding tests and stopping things from regressing particuarly those who had more than 20 commits to the unit tests: Zdeněk Crhonek, Miklos Vajna (Collabora), Stephan Bergmann (RedHat), Caolán McNamara (RedHat), Justin Luth (SIL), Eike Rathke (RedHat), Noel Grandin (Collabora), Armin Le Grand (CIB), Michael Stahl (RedHat)

Graph showing cppunit tests & assertions
And also to those with more than 10 commits to the unit tests: Tamás Zolnai (Collabora), Laurent Balland-Poirier, Tor Lillqvist (Collabora), Katarina Behrens (CIB), Markus Mohrhard, Mike Kaganski (Collabora), Takeshi Abe, Mark Hung, Giuseppe Castagno. It always takes more time to write a test, there is always a temptation not to - thank goodness they helped.

Thanks too to Michael Stahl (RedHat) for tackling a number of horrible threading races and mis-designs causing intermittent failure in our unit tests.

One notable improvement in 5.3 has been the work from Zdeněk Crhonek adding 280 or so nicely organized unit test sheets for each Calc function and some of its corner-cases to the tree, and even more encouraging to see these extended when bugs are fixed.

Another area that got a number of nice unit tests was the old-style Parser and new XFastParser implementations thanks to Mohammed Abdul Azeem laying the ground for our incremental adoption of the XFastParser for LibreOffice 5.4 for ODF formats. Great to write tests before the code.

UI Testing

Thanks to Markus Mohrhard and our generous donors we have a shiny new UI testing framework in LibreOffice 5.3. We even have tutorials ( part 1 and part 2) to help people add new tests. Checkout the code in uitest/.

It is always good to see a whole new class of testing enabled, and provides a nice place for people comfortable with python to make a really important contribution.

Online

There were really a lot of changes in the LibreOfficeKit APIs and in the online code to interface with them; these two modules are tightly coupled. For details and credits I wrote most of this up for the CODE 2.0 release, around the time of the feature freeze.

Hardware Acceleration

A number of important fixes and performance improvements made their way into 5.3 (many of which are back-ported to 5.2 as well). We have used guards - which are created and destroyed in pairs around any OpenGL block - to catch buggy & crashing drivers inside those execution blocks, in order to disable OpenGL. In 5.3 these were adapted to OpenCL as well thanks to Tomaž Vajngerl (Collabora). In addition Michael Meeks (Collabora) added a test spreadsheet that is re-calculated using OpenCL whenever the driver changes - in order to catch badness in driver implementation - somewhat sad that these are necessary; it would be hoped that just asking a (software!) OpenCL driver for its version (to see if we can black-list it) would not hard-crash, but apparently that is too much to ask. Anyhow - now we cope well with lots of sub-optimal situations, and as such removed the legacy 'Test' button for manual CL driver selection.

The VCL / OpenGL backend got a large number of performance improvements from Tomaž Vajngerl (Collabora) including batch rendering of pixels, lines, rectangles and polylines and deferred texture rendering - these help to push more work to the GPU in one go improving performance.

Miscellaneous

QA / bugzilla

The QA team do a noble job struggling against great odds; you can see those doing the hugely valuable triage and fixing work in the QA stats for 5.3.0 wiki page. During this release cycle in August we had the pleasure of having Xisco Fauli join TDF - funded by our generous donors - to support and contribute to the QA team; their hard work together has got our UNCONFIRMED bug count way down - accelerating a vital feedback loop between users and developers.

Graph showing bug triage work backlog trends

Pootle upgrades

Pootle was upgraded this cycle bringing a wealth of improvements for our translators. From little things like allowing special characters in usernames, to major performance improvements allowing us to extract translations into our builds much more quickly. Other great features such as improved notifications with feedback on changes, off-line translation memory are much appreciated. Thanks to Dwayne Bailey (TranslateHouse) and our sysadmin team.

Updated bundled libraries

LibreOffice depends on many 3rd party libraries. To stay up-to-date, they have to be updated from time to time, their patches re-evaluated (ideally up-stream merged them) and they need re-testing. For 5.3, the following were updated:

Getting involved

Lots of fun stuff going on at LibreOffice - quite apart from the visible feature development. Its a great place to find a home and contribute. If you want to get involved there are plenty of great people to meet and work alongside - come and see us at FOSDEM for example this weekend. As you can see individuals ('Assigned') make a huge impact to the diversity of LibreOffice.

Graph showing individual code committers per month

In terms of diversity of code commits, we love to see the unaffiliated volunteers contribution by volume, though clearly the volume and balance changes with the season, release cycle, and volunteers vacation / business plans:

Graph showing individual code committers per month

Naturally we maintain a list of small, bite-sized tasks which you can use to get involved at our Easy Hacks page, with simple build / setup instructions. It is extremely easy to build LibreOffice, each easy-hack should have code pointers and be a nicely self contained task that is easy to solve. In addition some of them are really nice-to-have features or performance improvements. Please do consider getting stuck in with something.

Another thing that really helps is running pre-release builds and reporting bugs just grab and install a pre-release and you're ready to contribute alongside the rest of the development team.

Conclusion

LibreOffice 5.3 is great; it is made by a set of developers having fun, working together, and building an increasingly attractive and beautiful Free Software Office suite, I hope you enjoy using it. Thanks for reading, don't forget to checkout the user visible feature page and thank you for supporting LibreOffice.

Raw data and commit stats built using our gitdm-config - are available for many of the above graphs.

2017-01-31 Tuesday.

2017-01-30 Monday.

2017-01-29 Sunday.

2017-01-28 Saturday.

2017-01-27 Friday.

2017-01-26 Thursday.

2017-01-25 Wednesday.

2017-01-24 Tuesday.

2017-01-23 Monday.

2017-01-22 Sunday.

2017-01-21 Saturday.

2017-01-20 Friday.

2017-01-19 Thursday.

2017-01-18 Wednesday.

2017-01-17 Tuesday.

2017-01-16 Monday.

2017-01-15 Sunday.

2017-01-14 Saturday.

2017-01-13 Friday.

2017-01-12 Thursday.

2017-01-11 Wednesday.

2017-01-10 Tuesday.

2017-01-09 Monday.

2017-01-08 Sunday.

2017-01-07 Saturday.

2017-01-06 Friday.

2017-01-05 Thursday.

2017-01-04 Wednesday.

2017-01-03 Tuesday.

2017-01-02 Monday.

2017-01-01 Sunday.


My content in this blog and associated images / data under images/ and data/ directories are (usually) created by me and (unless obviously labelled otherwise) are licensed under the public domain, and/or if that doesn't float your boat a CC0 license. I encourage linking back (of course) to help people decide for themselves, in context, in the battle for ideas, and I love fixes / improvements / corrections by private mail.

In case it's not painfully obvious: the reflections reflected here are my own; mine, all mine ! and don't reflect the views of Collabora, SUSE, Novell, The Document Foundation, Spaghetti Hurlers (International), or anyone else. It's also important to realise that I'm not in on the Swedish Conspiracy. Occasionally people ask for formal photos for conferences or fun.

Michael Meeks (michael.meeks@collabora.com)

pyblosxom