OdfKit is a project that reuses WebKit technology in a toolkit for working with ODF office documents. KO GmbH is sponsored by NLnet to work on OdfKit for three months. This week, Chani, who is on her way to Akademy, is working with me on OdfKit and since she's here an entire week, we're calling it OdfKit Hack Week.
The scope of OdfKit was formulated at Gran Canaria Desktop Summit 2009 and this month is the first time that actual code is going in. OdfKit was born as a reaction to a number of issues. On the one hand there is a need for a cross-platform library to easily add ODF support to command-line and desktop applications and on the other, we see that closed cloud-based office suites are emerging. Initiatives like ownCloud emphasise the need for Free Software for web services. OdfKit should make it easier to write alternatives for Google Docs and Microsoft Office Live, but it should also help in adding ODF support to desktop applications.
Why reuse WebKit code?
WebKit is a success story. The codebase started as KHTML, was adopted by Apple and later morphed into WebKit. Currently WebKit is the basis for Safari, Chrome, and many other browsers. On top of that it is a popular part of Qt. With WebKit, it is very easy to add a full-blown browser to a cross-platform application. Surely, a similar approach is possible for ODF software.
The WebKit code is becoming the most widely use browser code for mobile phones. Therefore, it has to be small and fast. Amongst others, Nokia, Apple, Google and Adobe are contributing to WebKit, making it a very competitive project.
WebKit abstracts the native toolkit, be it Qt, Cocoa, EFL, Gtk, wxWidgets, Skia or one of the other ports. This abstraction is done by the Web Template Framework (WTF). Code implemented using the WTF classes can be compiled for the different WebKit ports. The current projects that support ODF are OpenOffice, KOffice and AbiWord. Each of these is tied to a particular framework. This means that people that want to work on office software are divided by the framework they choose. WebKit does not have this problem: it runs natively in most programming frameworks and any improvement in the core benefits all of the ports.
Great, where can I get it?
Is this competition for KOffice?
That is not the goal. OdfKit is not meant to be as comprehensive as KOffice. It should make it easy to write applications with simple but correct ODF support. Loading, saving should be flawless; modifying the document programatically should be easy and should yield only valid ODF. Visualization of the document and simple editing are nice extras.
So what's the program for this week?
If you want to join you can find us in #odfkit on freenode and you can join the mailing list.