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
This last week, Tor Lillqvist handed me the task of mentoring Iain Billet for his Google Summer of Code project. He is working hard to make a nice viewer out of LibreOffice for Android. Rafael Dominguez's new templates dialog blog post provoked / inspired me to give a quick status update on where we're at. To re-emphasise, the bulk of this is Tor's work, with viewer bits by Iain; I just took some screenshots.
For those unlucky enough not to have been at FOSDEM / LinuxTag to catch the latest status, and see the live demo fun - here is a quick snapshot of the current state of affairs:
What does that look like - well, that gives a fairly horrific, bolts and all, barely usable (even with keyboard and mouse) office suite on your tablet; here is a picture of it under the emulator:
As part of the Google Summer of Code, Iain Billet is working hard at building a Java viewer UI for LibreOffice, that will integrate nicely into the platform, and provide fast pan / zoom / page-flip browsing, and all that good stuff you expect. Tor meanwhile (modulo having just left for vacation), is working on tiled page rendering to textures. That will allow us to quickly render portions of document content at any scale, asynchronously in a background thread, to suit the viewer. This is going reasonably well.
We have a viewer / file-manager shell to allow managing and selecting your documents on the sdcard. Hopefully this is iterating slowly towards the beautiful design from the design team:
And the initial viewer UI with page selector is coming along nicely too, again targetting the design:
The code for the viewer is in the git / master branch in the
android/experimental/LibreOffice4Android
directory. It should
build out of the box with a make clean all install run
, of course
after you have followed the
compilation instructions
and Android how-to.
Help much appreciated improving and extending this to other components: calc, impress etc.
The test-files above are (for interest)
1,
2.
As you can see, lots of the heavy lifting is already completed, and the stage of fertile hacking is arriving, with smaller incremental forays from something working, to something better. There are still a largeish number of things that need doing / cleaning up though, some of these will help other platforms & products too:
--enable-mergelibs
configure
option to reduce link time and allow better optimisations such as
global code re-ordering.
This is also good for desktop users of course, and getting everything
into one DSO is a pre-condition for the iOS port.
Help much appreciated with any of that, please do mail the developers list if you want to get stuck in somewhere there.
Of course, a viewer, even one that handles the full breadth of formats that LibreOffice can handle, is not enough. The plan in the deeper future is to add editing functionality. That brings plenty of challenges, particularly around re-using existing code and widgets in a tasteful way.
One thing that really needs working on is a liblibreoffice.so
model. That would allow developers to link a single shared library and do a small
amount of platform/toolkit integration work to re-use the LibreOffice core and renderer.
That is something that is reasonably do-able today in fact, indeed - it would be
rather excellent to fully split the rendering core from the presentation / scrolling
etc. internally. That would also allow a new, native linux, viewer client, which in
turn would accelerate prototyping of what is needed for mobile. Currently a slow
build, re-package, install, run appears to be required for native Android
development.
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:
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)