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
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.
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.
Comments (3 posted)
When a git user runs into a problem, they look at the tools they
have on hand and ask, “how can I combine these ideas to solve my
problem?” When a mercurial user runs into a problem, they look at
the problem and ask, “what code can I write to work around this?”
They are very different approaches that may end up at the same
place, but follow alternate routes.
I therefore suggest two responses:
(a) Either Perl 5 Porters (i.e. Rik as Pumpking) or TPF should
contact Fedora/Redhat packagers and inform them of our concerns.
I'm not saying that TPF should slap them with a "cease and desist"
(though that would certainly be emotionally satisfying), but I do
think we should "officially" raise concerns that splitting out core
libraries is not viewed as acceptable by upstream and that we do
not feel it is in the spirit of the license.
(b) p5p should finally bite the bullet and write the spec for
"minimal perl" (whatever we finally think that is) and we should
then offer that to packagers as a sanctioned minimal distribution
as a compromise to response (a). We should also be clear about
binary package naming -- i.e. a minimal perl should not be packaged
-- David Golden
Comments (none posted)
Version 7.4 of the GDB debugger is out. New features include a Renesas
RL78 simulator, a number of Python scripting improvements, several new
debugging commands and options, and more.
Full Story (comments: 1)
The first release of Goptical
, the GNU optical design and simulation
library, is available. "The Goptical library provides C++ model classes for optical components,
surfaces and materials. It enables building optical systems by creating and
placing various optical components in a 3d space and simulates light
propagation through the system. Classical optical design analysis tools can be
used on optical systems.
Full Story (comments: none)
The KDE project has announced
the release of
, and KDE Platform
4.8. "KDE applications released today include Dolphin with its new
display engine and semantic goodies, new Kate features and improvements,
and Gwenview enhancements. Enjoy new Marble features such as interactive
Elevation Profile, satellite tracking and Krunner integration.
Comments (13 posted)
Version 1.2 of the Suricata intrusion detection system is out. The
headline features appear to be HTTP file extraction and inspection; this
release also features a number of performance improvements.
Full Story (comments: none)
Newsletters and articles
Comments (none posted)
of systemd for administrators covers securing services. "In this iteration of the series we want to focus on a couple of these security features of systemd and how to make use of them in your services. These features take advantage of a couple of Linux-specific technologies that have been available in the kernel for a long time, but never have been exposed in a widely usable fashion. These systemd features have been designed to be as easy to use as possible, in order to make them attractive to administrators and upstream developers...
Comments (164 posted)
Page editor: Jonathan Corbet
Next page: Announcements>>