How do you solve a problem like LibreOffice: From Excel to slab fever
Scrubbing millions of lines of code? Yeah, well, Rome wasn't built in a day
Analysis A senior bod behind LibreOffice says the open-source suite's spreadsheet app lags behind much-nippier rival Microsoft Excel - but the hardware acceleration announced this month should close that gap.
And that acceleration could give the freely available productivity suite a leg up on tablets, smartphones and other mobile gadgets, too.
As reported earlier this month, LibreOffice will be updated to hook into AMD's HSA technology: this grants graphics chips access to memory allocated to applications, allowing the hardware to easily and rapidly crunch through program data while the system's general-purpose processors work on other things.
Ultimately, HSA-aware software should run faster, provided suitable silicon is present, by offloading work onto the graphics processor, which may otherwise be sitting mostly idle.
Last week, LibreOffice maker the Document Foundation admitted AMD to its ranks of advisory board members; other bedfellows include Intel, Red Hat, SuSE and Google. Version 4.2 of the suite, due out in February next year, should support the GPU-powered acceleration thanks to contributions from AMD engineers and others.
“Spreadsheet has traditionally been pretty weak in LibreOffice from a performance and memory perspective. We want to fix that and make it really good,” Document Foundation board member, SuSE staffer and Linux desktop architect Michael Meeks told The Reg.
“We have had a performance gap with Microsoft in the past and we are eager to close that.
“People build spreadsheets to crunch data to the point of boredom - bigger and bigger and slower and slower. We can make a tool that’s bigger and let them crunch more data in rich ways."
Once on a par with Excel, at least in terms of speed and memory use, LibreOffice can hope to attract that hard-to-catch beast: the desktop spreadsheet power user, traditionally a Microsoft Office animal. The open-source suite's spreadsheet app is undergoing “huge structural changes”, we're told, with code rewritten and with systematic unit testing.
“That should put us back in the spreadsheet game in my view,” Meeks reckoned.
But isn’t the spreadsheet war over, and didn’t Microsoft win with Excel? “There are loads of ways to put us back in the spreadsheet game, in my view,” said Meeks.
One such way, perhaps, is getting the gear onto smaller devices, such as tablets, whose popularity is mushrooming.
The aforementioned hardware acceleration could give heavyweight LibreOffice an edge on trendy handheld gear as well as boring old PCs: a coalition of tech firms including AMD, ARM, Qualcomm, Texas Instruments and Samsung are part of the non-profit HSA Foundation, which is working on an open specification for the GPU-CPU sharing technology on a wide-range of fondleslabs and other systems.
HSA-aware code is written in a new platform-independent language called HSAIL, which runs in a virtual machine and thus allows a program to comfortably target a host of compatible HSA hardware. Given the number of mobile processor designers and manufacturers in AMD's foundation, hardware acceleration for mobile gear is on the cards.
ARM ports of LibreOffice do exist, but these are targeted at mini-beasts such as the Raspberry Pi.
For handhelds, Android and iOS ports of LibreOffice are being worked on, but they are still at a preliminary stage – as is a browser version of the suite: a HTML5 version was first discussed in 2011. The Document Foundation needs cash to finish that off as well as someone to provide the servers on which the backend of the web version runs.
There’s just two modes for the Android and iOS ports – viewer and full-office suite - and there’s some initial touchscreen support with pan and zoom and minimal editing. Meeks concedes there are “formidable user interface problems around touch”, adding that with a “couple of people” and a partner to fund the work it would be done “in a couple of months”.
One big problem remains, however: the full LibreOffice suite, at 50MB, is currently too big for download to mobile, realistically.
'We have a long way to go but we are getting there'
It’s been two and a half years since LibreOffice was formed in a fork from the Oracle-controlled OpenOffice, and the Document Foundation has been concentrating on the basics ever since: fixing bugs and ripping out old code gone to seed. The latest version, 4.0 released in February, had better handling of file formats and improved interoperability with Microsoft Office; 275 out of 500 dialogue boxes were cleaned up; and thousands of unused methods and code resembling ASCII art were thrown out.
In fact, nine million new lines of code were added to 4.0, and 12 million taken out, we're told. (It has about seven million lines of code under version control as of right now.) Up to 15,000 quality assurance tests have been run on the new code to detect any crash-causing scenarios.
“There was a huge build up of technical debt in the code base and people would do appalling hacks to avoid re-factoring and doing it right," said Meeks. "We are finally starting to do things right ... these days we are doing more exhaustive changes and we hope to get it right with more manageable code in the long term.
“In the past there was this fear of breaking things that were culturally engrained. Now, there’s a nuanced view that if you break something perhaps that’s good because you need to change something. I think people enjoy this level of code clean up, it's satisfying. We write unit tests to limit the breaks.”
There will come a point at which the changes to LibreOffice become so significant that the suite will no longer simply be an OpenOffice fork. That time will come soon, judging by raw numbers and momentum. Black Duck’s Ohloh developer-monitoring service counts 350 programmers and 20,700 code commits for LibreOffice over the last 12 months, versus 50 devs and 4,900 commits for OpenOffice.
Also, OpenOffice's source code is released under an Apache Software Foundation (ASF) licence while LibreOffice is available under the GNU LGPL; Apache won’t accept code contributions from non-ASF licences, meaning OpenOffice is cut off from LibreOffice's changes.
“It’s clearly a similar code base – these are members of the same family, and for a long time they will have to be like that,” said Meeks.
The new and improved code should dovetail into these grander plans to speed up the software, reduce its footprint, and make it easier to update for more platforms in the future.
Will LibreOffice finally offer something credible to Microsoft Office? We've been down this route too many times to do anything other than roll our eyes, at least at this stage. Smartphones, tablets and browser-based suites have everything to play for as the traditional desktop gets left behind. (But don't forget Microsoft Office is coming to iPhones, iPads and iPods, as well as Redmond's Surface tablets.)
One thing is certain, however: with so much going on, LibreOffice will look less like OpenOffice. And it won't necessarily be the big platform stuff that will transform LibreOffice. It's the state of the code inside.
“We have a long way to go but we are getting there and that’s encouraging,” Meeks said of tidying up, refactoring and testing.
Still, there is excitement surrounding even the smallest changes; something that's much better than the last days of the OpenOffice Empire under the moribund Sun Microsystems, and later Oracle. “You wake up and you are excited. It’s much better than it was,” said Meeks. ®
Got strong opinions on this issue? Why not fire up a thread in the Register software forums.