Stuff Michael Meeks is doing |
Older items: 2023: ( J F M A M J ), 2022: ( J F M A M J J A S O N D ), 2021, 2019, 2018, 2017, 2016, 2015, 2014, 2013, 2012, 2011, 2010, 2009, 2009, 2008, 2007, 2006, 2005, 2004, 2003, 2002, 2001, 2000, 1999, legacy html
Today Collabora released (cf. Press Release) a Beta snapshot of the viewer work we've been doing for and with SMOOSE for some months. This provides a version for testing (it's really not finished yet), of LibreOffice running on Android you can install it from Google Play.
The writer functionality is probably the best piece of the component, allowing pleasant screen-shottage and rather good viewing.
A huge amount of work. Much of the initial work was done by Tor Lillqvist, while at SUSE (now Collabora), creating a cross-compilation framework which we continue to use for iOS, Android and was originally setup to do cross-compiles to Windows - so that we could have a predictable toolchain, and a reliable/repeatable free-software build environment. Tor also did some amazing bootstrapping work to overcome several debilitating limitations of C++ on Android, get to get the initial startup, and packaging into a good state.
Matus Kukan (Collabora) also did a chunk of work for CloudOn to help
link the entirety of LibreOffice into a single shared library image - helping
startup performance & improving Android support. This significantly helps
to work around the built-in Android linker's low limit of shared libraries it
can handle before failing. It also helps to export nearly no symbols, and to
let ld
's garbage-collection throw away as much object code as
possible: though there is still way more to loose.
Other work done for CloudOn by Jan Holesovsky (Collabora) and Tor Lillqvist was to implement tiled rendering inside Writer - making it possible to render arbitrary portions of documents at arbitrary zoom factors. We are deeply indebted to them - you can of course enjoy the same code inside CloudOn's iOS app.
Ian Billet worked during the Google Summer of Code 2012 to make a document browser, which has subsequently been taken over and much improved by Jacobo PĂ©rez of Igalia creating the document browser we have today. It is of course somewhat regrettable that Android has no standard built-in file browser making this necessary. Of course the viewer also hooks into the OS to allow opening downloads, attachments etc. in the normal way.
Since FOSDEM 2014, Smoose and Collabora in the person mostly of Tomaz worked to re-target the excellent Fennec tiled-rendering code from Mozilla's android browser to target instead of the Mozilla core - the LibreOffice core. This involved great chunks of re-factoring, and hard work both in the Android and C++ core. We re-use and added tiled rendering to the LibreOfficeKit API - an API to allow simple re-use of LibreOffice for file format conversion and document rendering via a rather trivial C and C++ API. LibreOfficeKit under Linux has the advantage of requiring no linkage to the code - being an (almost) purely abstract API.
Andrzej Hunt worked through Google Summer of Code 2014 to improve and extend tiled rendering to Calc and Impress and the LibreOfficeKit tiled-rendering API. You can read about that on his blog. One side-effect of that, recently much improved by Miklos Vajna (Collabora) is the gtktiledviewer test app which deliberately uses a non-VCL widget-set, and LibreOfficeKit to render a series of tiles on a stock Linux desktop. This significantly to helps accelerate debugging. Kohei Yoshida (Collabora) was also involved in reviewing, re-working and merging the calc tiled-rendering code to master.
Many thanks to all involved, particularly our client SMOOSE without whose support, Collabora would not have been able to prioritize this work.
The code for the viewer is almost exactly what is in the git /
master branch in the android/experimental/LOAndroid3
directory. It should build out of the box with a simple make
,
of course after you have followed the
compilation instructions
and Android how-to. Needless to say - we've left a lot of juicy, easy-to-fix bugs for you
to gloriously fix - give it a try.
Finally if you want to hear, and see more, and get involved with what we're up to, a great way to do that is by coming to Kendy's LibreOffice on Android talk at FOSDEM this year, or Jacobo's document manager talk.
Collabora provide bespoke consulting solutions to help people use LibreOffice in the most effective & optimized way. Sometimes that means using LibreOffice as part of your product, sometimes it means optimizing, improving or extending to meet your use-case. We also sell long-term Enterprise support for LibreOffice to make it easy and risk-free for you to deploy LibreOffice in your organisation on Windows, Linux, Mac and (soon) Android too - checkout LibreOffice-from-Collabora for more details.
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)