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


LibreOffice / Android update

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.

What is done already ?

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:

Horrible hack of a lame Android UI - proof of concept
As you can see the rendering is reasonable, albeit with the odd silly re-draw artifact but the user interface is otherwise utterly horrible for a tablet device.

Current state

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:

Android Viewer UI shell

And the initial viewer UI with page selector is coming along nicely too, again targetting the design:

Android Viewer UI - showing rendered writer document

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.

Ongoing viewer work

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:

Help much appreciated with any of that, please do mail the developers list if you want to get stuck in somewhere there.

Future editor work

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:

LibreOffice conference - Berlin 17th-19th October


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