An OpenDocument Viewer is important - it will allow kids to read electronic documents (such as educational books) in the OpenDocument format (ODF). This format is usable in AbiWord which is being adapted to work on the OLPC.
Obviously, since the whole point of the project is education, giving kids the tools they need to read electronic books in various formats is critical. The OpenDocument format (ODF) has properties that are especially valuable for OLPC electronic books, compared to HTML, PDF, or other formats:
- Small (compressed files). ODF is a highly-compressed format that's easily deployed as a single file, unlike HTML. ODF is essentially zip-compressed XML, which results in astonishingly good compression (and this works even when transmitted over a network, something filesystem-based compression can't do). What's more, all the display components (images, formulas, styles, etc.) are contained in a single file, which means that distributing ODF documents is really easy. In a test using a sample document (the OpenDocument specification itself), the original was 444K, the PDF was 3.8M, and the DjVu file was 9.2M (after a 1h 2min conversion), for a 736 page document.
- Fully uses display. ODF includes information that makes it "flowable" on the screen, unlike PDF. Since ODF is writeable, it has the information necessary to let it use a whole screen - while PDF often does not. Given screen constraints, that's important.
- Editable. ODF files can be edited, unlike (practically) PDF and often HTML. If we want kids to be able to help themselves and each other, they must be given documents they can improve on by editing them. They should be able to create their own content, and collaborate with others to improve it. PDF is usually not editable, and in many cases HTML is merely a generated format (not the format used for editing). OpenDocument files can be marked as read-only, where that is important.
- Well supported. OpenOffice.org and KOffice both use OpenDocument as their native file format. Many other programs support it too. In other words, OpenDocument makes it easy to author content for distribution to OLPC laptops.
- Fully open international standard. ODF is a fully open international standard. OpenDocument was developed by a consensus process of many developers, and is not dominated by any single vendor. It is already an international standard, ISO 26300. To many countries, these are critical factors - they will be pleased knowing that books will be distributed using a fully open international standard.
- International. ODF supports international documents. It has all the international capabilities you'd expect (arbitrary characters, direction control, Ruby text, and so on).
- Capable by building on existing standards. ODF supports mathematical formulas (using the MathML standard) and vector graphics (using SVG).
- Accessible. ODF supports accessibility. ODF has various capabilities to make it accessible to the disabled.
- Small viewers. ODF viewers do not require much space. In particular, simple ones can be implemented by translating to HTML and/or running XULRunner. Since xulrunner is already available in OLPC, the additional space taken by the ODF viewer would be in the order of 10Kb.
In short, ODF is a highly-compressed format, a fully open international standard (ISO 26300), and viewers can be very small. OLPC will want to make lots of books available to kids, and even has a special mode for reading in sunlight. It's a perfect match.
There are many programs that allow users to read and edit OpenDocument format today; see the OpenDocument Fellowship list of applications. OpenDocument is the native storage format of the latest versions of OpenOffice.org, StarOffice, and KDE KOffice, and is supported by many other applications.
odfviewer is probably what should be installed in the first edition of the laptop. This is being actively developed as OpenDocument Fellowship's "OpenDocument Viewer - project #3". The application is very small - it's xulrunner-based - and is being developed by the OpenDocument Fellowship as "project #3". For a tiny viewer that's available right now, you can look at odftools, which generates HTML from the ODF and displays it; that is the basis of odfviewer.