KOffice on version 2.0, extensions, and being like Firefox

App store idea may include content, templates and extensions
An example of how KWord handles text layout in KOffice 2.0

An example of how KWord handles text layout in KOffice 2.0

The idea of an application that supports third-party extensions and add-ons users can download and install in one click may be more applicable to Web browsers than office suites, but the developers at the open source KOffice project have developed such an architecture where all components are modular. TechWorld interviews the marketing coordinator for KOffice, Inge Wallin, to find out where this lesser-known of the open source office suites is headed now version 2.0.0 has arrived and what excites its developers. Building an easy, intuitive, cross-platform, and extensible platform like Firefox is high on the agenda.

Do you have any quick stats on the 2.0.0 release, like the time since the 2.x branch started development (there is 22 months [in SVN] is that correct?), the number of contributors, lines of code, commits, etc?

The start date of the porting effort to Qt4 was April 14, 2006 [so] 22 months is too little. That makes it a little over three years ago.

I did a quick and non-scientific sum of the number of lines and got the result to be a little near 975,000 lines of code. That does not include build files like cmake files and other scripts, and also does not include documentation, icons and other data.

An equally unscientific survey of the commits (people) give a figure slightly over 100, but I think that during this time, there has been approximately 60 real contributors.

What are the key feature enhancements in the 2.0.0 release? What are the developers really excited about that makes KOffice unique?

I would pick out two:

The use of the OpenDocument Format as the native file format. This makes KOffice immediately compatible with a lot of other office software, most notably True, there still exists a few incompatibilities, but most of those can be attributed to bugs that we will fix as soon as we become aware of them.

The enormous modularity which makes it extremely easy both to add new features for us and for third-party developers to add customisations.

This is very much like the Firefox extensions system. Almost every feature in KOffice 2.0 is created as a plug-in, which makes it easy to test and easy to isolate. Yet, our well-designed architecture makes it well integrated.

Does KOffice run on Linux, Windows, Mac OS X “quickly and easily” for the average user, without any big dependencies? The success of Firefox was due to being a “quick and easy” install on all three platforms.

It runs on Linux, Windows and Mac OS X because our platform – Qt 4 and kdelibs 4 – supports these architectures. The packaging of the software is not done by the KOffice team.

Linux is taken care of by the distributions (Red Hat, SUSE, Ubuntu, Mandriva, etc).

The KDE Windows team has created an easy installer which automatically takes care of all dependencies and downloads the necessary components. KOffice is part of this installer, but there are still some things that need to be fixed before the Windows installation can be called "quick and easy". We are confident that this will happen soon.

On Macintosh, there is currently nobody working on the packaging, and we are interested in getting some help with that. Some of our developers use Mac OS X as their development platform, and they have KOffice running quite well. To call it a "quick and easy" install, however, would be an exaggeration.

Page Break

How is support for ODF and OOXML going? Could the latter be added easily using an existing open source converter?

ODF is the native file format and will be supported better and better the more features are added.

There is at this time no support for OOXML in KOffice, but that's true for every other office suite in the world. Not even Microsoft itself implements the OOXML standard, but implements a variation of it.

There is a proof of concept implementation of a filter that uses as the converter, but that is not shipped with KOffice 2.0.

It is possible that somebody will start to work on OOXML (or rather Microsoft Office 2007) import and/or export filters, but we have seen no such activity yet.

KOffice 2.0.0 has been labelled by some developers as a "platform" for future development and not really aimed at production use. Is this the wider view of the project? How long before it will be considered production ready for most office app users?

In short: yes. We are aware of the bugs that always creep into .0 releases, and this is the first release of the new platform for a very long time. There is also a number of key features missing in 2.0, such as tables for KWord.

Version 2.1 will cover most of the missing features from 2.0 as well as also reintroduce some of the missing applications. Most notable of these is Kexi, the database manager. This version will be usable by most non-professional users.

Version 2.2 will be released within a year [and] will be the first version that will be usable for serious professional work.

As a further to to the previous question, how is the KOffice extension ecosystem going? The community has stated recently: "This makes KOffice one of the most extensible office suites. We expect many third-party extensions to appear, given the ease of use of the Flake plug-in API." Do you think the project can be like "the Firefox of office suites" in having a large repository of extensions that can be searched on a web portal and installed at the click of a button?

It's funny that you mention Firefox, since I was just making the same analogy. So the answer is, basically, yes.

But I would also like to point out that with our scripting system Kross, which lets the developer create scripts in a number of languages like Python and Java will also be easy to embed KOffice components into other production systems.

Could the third-party, "app store" idea be extended to include content (presentations, document templates, clip art, etc) for KOffice?

Definitely. And since we work with OpenDocument, we can reuse templates from, say,

Please add anything you would like to mention about the KOffice 2.0.0 release and where the project is headed.

The third major point that we mention in our announcement, but I didn't mention is our new GUI paradigm. KOffice 2 uses a system of dockers that is somewhat like Adobe's Photoshop.

The default arrangement is adapted to today's wider screens, with controls to the left and right of the document rather than above and below. These dockers and toolboxes can be rearranged by the user to any configuration, and can also be torn off to be used as stand-alone windows.