Porting office suites to mobile platforms

This article brought to you by LWN subscribers Subscribers to LWN.net made this article — and everything that surrounds it — possible. If you appreciate our content, please buy a subscription and make the next set of articles possible.

At first, office suites might seem out of place on tablets and smart phones. Word processors and spreadsheets might seem more at home on workstations, or at least laptops. Yet free office suites are being ported to mobile devices — often belatedly, and usually with reduced feature sets as projects start to develop for these increasingly important platforms.

Currently, free software users have much the same choices on mobile platforms as they do on workstations. LibreOffice and Calligra Suite (formerly part of KOffice) are working on ports to Android, while AbiWord and Gnumeric have some aging Maemo ports from a few years ago. All share the difficulties of moving from the desktop to mobile devices, but each also faces its own advantages and disadvantages in making a port.

OpenOffice.org and LibreOffice

OpenOffice.org is currently an Apache Incubator project, and concentrating on an audit of the current code. Under these circumstances, it is not surprising that, according to long-time OpenOffice.org developer Jürgen Schmidt, "nobody is currently really working on such a port." Nor does Schmidt think that a port of OpenOffice.org to a mobile platform the best approach:

I would not say that it is impossible, but it would be definitely a lot of work. OpenOffice.org is too heavy weight and I would focus more on new apps handling Open Document Format. Smaller apps with a modern fresh user interface and a subset of features would be probably much better.

By contrast, LibreOffice is actively working to cross-compile its core code to both Android and iOS, because, according to Michael Meeks "Android is a free software platform and iOS also has substantial market share. These two together should give the majority of the tablet market share, I hope." The effort has no firm deadline, beyond some time in 2012 or 2013.

Most of the work so far has been done by Tor Lillqvist of SUSE, another OpenOffice.org veteran. Recently, though, Meeks has also begun contributing patches. Currently, Lillqvist said, LibreOffice has a unit test for the Calc spreadsheet on Android, which is a GUI-less script that "exercises quite a lot of the LibreOffice application startup code, reading tons of configuration files, and then exercises a lot of Calc functionality."

So far, touchscreens are not supported, but Lillqvist suggested that may not be a pressing issue.

For some initial viewer-only app, we won't need that much touchscreen support. Just listening for and handling basic gestures like zooming and panning [or] flipping pages would be the first step. There is also work ongoing for improvement to the LibreOffice UI on desktop OSes that will also benefit touch-based OSes.

However, although LibreOffice is going ahead with the ports, its developers, like Schmidt of OpenOffice.org, are well aware of the difficulties involved. For one thing, although LibreOffice has been ported to over half a dozen hardware architectures and operating systems and the system abstractions used for porting are, in Meeks's words, "pretty well tested," they are not particularly suited to the target mobile platforms. For instance, Lillqvist noted that, until recently, LibreOffice included

at least two different APIs as abstractions for file access. Clearly, it would be suboptimal to have to add such hooks into two different places. So I have the last [few] days been working on making the other of these two APIs call the other one for actual file access.

Another challenge is the fact that LibreOffice and OpenOffice.org are, as Meeks put it, "infamous as a stress-test for your I/O subsystem and CPU." General efforts such as the ongoing code cleanup should help improve performance, and a port might be further streamlined by omitting legacy database or file format filters.

Yet another challenge is the user interface, which Meeks described as "pretty old and not particularly suitable for mobile devices." Meeks expects that LibreOffice's general move toward the GTK3 toolkit will improve general performance, but design issues remain:

The in-document WYSIWYG editing of existing graphical items should work reasonably well even on a smaller device, but the chrome — all those dialogs and options around the document — will require much more work.

Still, Meeks sounded optimistic about the interface challenges. The 3D support on modern mobile devices, he suggests, could mean that LibreOffice could add transparencies, meaning that more information could be presented on the reduced sized screens by layering it. He also mentioned experiments with a prototype for a formatting-style selector pane that includes "thumbnail previews of each style in a side-bar," which would give the mobile port a feature that the desktop version of LibreOffice lacks.

KOffice and Calligra

KOffice and Calligra have been developing for mobile platforms for several years. In 2009, KOffice, the KDE-centric office suite, released a viewer for Maemo and MeeGo. This application included support for KOffice's word processor, spreadsheet, and slide show applications. Yet another KOffice-based viewer, FreOffice, was developed by Nokia for the same mobile platforms, and included support for the word processor and slide show applications.

When KOffice and Calligra became separate projects in mid-2010, the mobile code went only into the Calligra repository, and the resulting application became known as Calligra Mobile. In April 2011, Calligra announced Calligra Active for use with Plasma Active, which is KDE's new interface that is designed for tablets, handsets, media centers, and more. Calligra Mobile and Calligra Active share most of the same code and functionality, but use different interfaces.

In the last year, these efforts became the basis for Harmattan Office, which consists of Calligra Active and a proprietary interface that is installed by Nokia on its MeeGo-based N9 phone. Calligra is also the foundation for KO GmbH's still-in-development ports of Calligra Mobile/Active to Windows and Android. In addition, KO GmbH has released WebODF, a service that allows users to view and edit Open Document Format (ODF) files in web browsers, under the Affero GPL.

On January 12, 2012, Calligra developer Marijn Kruisselbrink also announced that he had Calligra running on Android. According to Inge Wallin, Calligra's marketing coordinator, Kruisselbrink's port is "now more or less crash-free." Wallin suggested that the Android port will probably be given the Calligra Active interface, rather than Calligra Mobile's, because "that has a more modern look and feel."

According to Wallin, Calligra is well-suited for porting to mobile platforms. As with all KDE applications since the start of the KDE 4 release series, Calligra's architecture "separates the actual functions from the interface. It also uses plugins heavily, to the degree that some plugins actually have plugins of their own" — for instance ones that connect to web services like Google Docs.

Wallin added:

As a side effect of this modularity, it is very easy to create subsets of the whole suite. This is possible not only by choosing which applications to include, but also to choose which [plugin] modules to install. Another effect of this module design is that the code is easy to follow and quite fast to get familiar with. This means that new people often become productive in hours or days instead of weeks.

Some sense of this modularity can be had from the fact that, according to Wallin's estimate, Calligra as a whole contains some 1.2 million lines of code. Of that, some 12,000 lines are for Calligra Mobile, and 2500 lines for Calligra Active. Much of the remaining code affects mobile applications, but only so far as it affects the rest of Calligra as well. "The mobile ports are of great importance," Wallin said, "but our architecture lets us get away with not putting very much work into them."

However, like all mobile ports, Calligra struggles with the limited screen size of handsets compared to netbooks, laptops, and workstations. Calligra plans to begin porting the database application Kexi some time soon, but some of Calligra's applications, especially the graphics editors Karbon and Krita, may never be practical for working on some mobile devices:

What we have to keep in mind is that tablets and to an even greater extent smart phones are not well-suited to provide complex and/or large contents. Viewing is fine, as are minor edits. But in general, we are more concentrating on making the viewing experience perfect at this stage.

AbiWord and Gnumeric

While these plans for porting are going forward in LibreOffice and Calligra Suite, the earliest free software office ports to mobile devices have been more or less abandoned. Both the AbiWord word processor and the Gnumeric spreadsheet had Maemo ports by the start of 2007. These ports remain widely available, but active development on both of them ceased several years ago. They are now four or five versions behind the current desktop releases, with little or no work having been done to prepare them for Maemo 5, let alone its successor, MeeGo.

According to Gnumeric developer Morten Welinder, if any efforts at porting Gnumeric are happening, "the main Gnumeric team is not involved. We've asked for patches, but haven't received anything." A port using the Hildon framework was begun, but Welinder described it as "officially abandoned."

Similarly, when asked the current state of affairs at AbiWord, lead developer Hub Figuière said:

Maemo is mostly dead. I know there is one person making packages for AbiWord, but when I stopped maintaining it in 2009, I didn't even have a N900 [phone] to test on Maemo 5. So there is little happening on that front. The two other major mobile platforms are either impossible (iOS - the AppStore does not allow GPL) or hard (Android - the NDK and Java makes a port harder than can be afforded by the very scarce resources the project has).

This state of affairs seems unfortunate. AbiWord and Gnumeric have always been faster than LibreOffice or even Calligra Suite, as well as more pared down in features. Both are logical candidates for mobile ports. As things are, while I have heard unconfirmed reports that the existing ports are still usable, their main interest now are as case studies of the considerations that go into a port. About the closest thing to mobile support is AbiCollab.net, AbiWord's equivalent of Google Docs.

Making the difficult practical

Porting applications designed for workstations and laptops to mobile platforms is always going to be challenging. It means going from virtually unlimited memory to the memory limits of years ago. To a large extent, it is the art of deciding what to leave out: format support, templates, features, or even entire applications. It also means risking the whims of a rapidly developing market, as developers discovered when tablets took over much of the netbook's niche.

It seems a sign of the increasing importance of mobile devices that the ports are even attempted — despite their difficulties, the need for them is simply too big to ignore if developers hope to offer users the choice of free software on all their devices. Still, regardless of the success or popularity of the ports, they seem likely to have at least one long-term effect. Asked if the ports will have any benefit for workstation users, Meeks answered rhetorically: "Beyond small, faster, quicker starting, more usable and potentially prettier [applications]?"

The difficulties of porting LibreOffice's venerable code and Calligra's more recently revised code are obviously very different. Yet in attempting the ports, developers are rethinking and revising the work of the past — and that can only benefit all users, regardless of how the ports themselves are received.