2009-10-22 Blog Post on Project Paroli

Wikipedia goes offline!
With the recent developments in offline Wikis it has become apparent that the their use has grown far beyond an alternative collaboration tool. Countless wikis are used as a universal instrument of sharing and distributing aknowledge on almost any topic. But so far, participation requires constant access to the internet. This is bound to change.

Earlier this year the Wikimedia Foundation adopted the ZIM file format by openZIM[1] as its standard for displaying web content offline. ZIM is being developed since February and already has come a long way. It is working nicely and running smoothly even on embedded devices such as the Ben NanoNote[2] as well as the Neo Freerunner[3].

This flexibility and portability the project owes to its internal structure. Instead of a single, complex process, OpenZIM is designed to run in between existing applications. The ZimReader acts as a web-server allowing the user to browse the wiki's content with any browser available. The ZimReader as well as the ZimWriter, used to generate the ZIM files, are written in C++ and thus platform independent. ZIMlib can also be used as a drop-in, to make your application instantly ZIM-aware. The specifications of the ZIM format can be found on the project's wiki[4], alternative ZIM implementations - in your favourite programming language or framework - are welcome.

The heart of the project however is the ZIM format[4]. It is designed to be an efficient and universal way of storing large wikis in a single file. It can be used to compress virtually any data from a given database (PostgreSQL, MySQL, SQlite or Oracle) scheme or from a collection of files. "With ZIM we are trying to introduce a standard for offline wiki applications", the project team explains. Applications on platforms such as the iPhone, webOS or Symbian are also invited to join and with the Wikimedia Foundation already preparing automatic ZIM generators for the Wikipedia, it is only a matter of time.

The holy grail of ZIM is offline editing. "This is a must", Manuel Schneider, who is leading the openZIM effort, said and surprisingly added "The road is clear and the mechanisms in place, all that is needed is implementation". The project aims to have this ready next year. The process how to merge edits back is currently being discussed between different projects and the Wikimedia Foundation in San Francisco.

Of course, there have been several attempts in the past to create offline versions of the wikipedia and other wikis. However, what was missing was a cleanly structured and thought-through approach to solving the issues at hand. Open standards and collaboration, spanning across multiple platforms and areas of expertise, are vital in such an endeavor. OpenZIM is just that. A project were both, Wiki writers as well as application developers, meet and work together towards this standard.

"Bringing Wiki content to offline devices in a standardized and exchangeable way, using open standards and free software", is a bold and big goal indeed, but the openZIM team is going to tackle it one step at a time. As mentioned earlier the ZIM implementation is already functional and has been used in both commercial and free products. The current construction sites are the article categories and full text indexing as well as increasing performance while minimizing the memory footprint.

If you want to get involved in the openZIM project or have any questions or comments check their wiki and contact them via their mailing list[5].


 * 1) http://www.openzim.org
 * 2) http://www.qi-hardware.com/products/ben-nanonote/
 * 3) http://wiki.openmoko.org/wiki/Neo_FreeRunner
 * 4) http://openzim.org/ZIM_File_Format
 * 5) http://openzim.org/Mailinglist

Wikipedia nabelt sich ab!
Gerade die neusten Entwicklung im Bereich der offline Darstellung von Wikis haben gezeigt, dass ihre Nutzer längst nicht mehr nur Hobbyisten und Hippies sind. Zahllose Wikis werden als universelles Instrument zum Sammeln und Verteilen von Wissen zu fast jedem erdenklichen Thema eingesetzt. Egal ob Universität oder Aktiengesellschaft, Wikis sind in. Bislang benötigt man zum Mitmachen allerdings einen ständigen Zugang zum Internet. Doch hier tut sich einiges.

Schon Anfang des Jahres erklärte die Wikimedia Foundation das ZIM-Dateiformat zum Standard für die Offline-Nutzung seiner Webinhalte. ZIM wird seit Februar entwickelt nun das Team von openZIM[1] und hat bereits beachtliche Ergebnisse vorzuweisen. Abgesehen von Desktop PCs läuft ZIM bereits auch flüssig auf Kleingeräten wie dem Ben NanoNote[2] oder dem Neo Freerunner[3].

Diese Flexibilität und Portabilität ist seinem Aufbau geschuldet. Statt als einzelner, komplexer Prozess wurde openZIM in verschiedene eigenständige Programme aufgeteilt. Der ZimReader arbeitet als Webserver und ermöglicht somit dem Benutzer sich per x-beliebigem Browser durch die Inhalte der ZIM-Datei zu klicken. Sowohl ZimReader als auch ZimWriter, mit dem die ZIM-Dateien erstellt werden, sind in C++ programmiert worden und somit plattformunabhängig. Die ZIMlib kann ausserdem als Bibliothek in eigene Programme eingebunden werden um diese so unkompliziert ZIM-fähig zu machen. Die Spezifikation des Dateiformats wurde im Projekt-Wiki[4] veröffentlicht, alternative Implementierungen - in anderen Programmiersprachen oder Frameworks - sind willkommen.

Das Herz des Projekts ist allerdings das ZIM-Format[4] selbst. Es wurde entworfen um einen möglichst effizienten und universellen Weg zu bieten grosse Wikis in einer einzigen Datei zu speichern. Man kann damit theoretisch sämtliche Daten aus einer Datenbank (PostgreSQL, MySQL, SQlite or Oracle) oder einer Sammlung Dateien komprimiert abspeichern. "Mit ZIM versuchen wir einen Standard für die Offline-Nutzung von Wikis zu schaffen" erklärt das Projektteam. Anwendungsentwickler auf Plattformen wie dem iPhone, webOS oder Symbian sollten sich dem anschliessen - da die Wikimedia Foundation bereits die automatische Erzeugung von ZIM-Dateien für all ihre Wikis vorbereitet ist dies wohl nur eine Frage der Zeit.

Der heilige Gral von ZIM ist die Offline-Bearbeitung. "Dies ist ein Muss", sagt Manuel Schneider der das openZIM-Projekt leitet und fügt zur Überraschung hinzu: "Der Plan steht bereits und das Format ist schon entsprechend vorbereitet - das einzige was noch zu tun ist, ist die Implementierung". Das Projekt hofft diese im kommenden Jahr angehen zu können. Wie die veränderten Daten dann zurück in die Wikis übernommen werden, wird derzeit in anderen Projekten und der Wikimedia Foundation in San Francisco diskutiert.

Natürlich gab es in der Vergangenheit viele verschiedene Ansätze um Offline-Versionen von Wikipedia und anderen Wikis zu erstellen. Was jedoch gefehlt hat war ein klar strukturierter und durchdachter Ansatz, der sich Problemen stellt und nicht verlagert. Offene Standards und interdisziplinäre Zusammenarbeit über verschiedene Plattformen hinweg sind für ein solches Vorhaben entscheidend. OpenZIM ist genau dies, ein Projekt bei dem sich Wiki-Autoren auf Anwendungsentwickler treffen und gemeinsam an einem Standard arbeiten.

"Wiki-Inhalte mit Hilfe von offenen Standards und Freier Software in einem standardisierten und austauschbaren Format auf Offline-Geräte zu bringen" ist ein grosses und mutiges Ziel, aber das openZIM-Team geht Schritt für Schritt voran. Wie bereits beschrieben ist die ZIM-Implementierung bereits einsatzfähig und wurde schon sowohl in kommerziellen als auch Freien Produkten verwendet. Die aktuellen Baustellen sind die Kategoriesierung von Artikeln, die Verbesserung des Volltext-Suchindex sowie der Leistungssteigerung bei gleichzeitiger Minimierung des Speicherbedarfs.

Wer Interesse hat sich am openZIM-Projekt zu Beteiligen oder Fragen oder Kommentare hat besucht dessen Wiki oder kontaktiert es über die Mailingliste[5].


 * 1) http://www.openzim.org
 * 2) http://www.qi-hardware.com/products/ben-nanonote/
 * 3) http://wiki.openmoko.org/wiki/Neo_FreeRunner
 * 4) http://openzim.org/ZIM_File_Format
 * 5) http://openzim.org/Mailinglist

La Wikipedia se desconecta!
Con los recientes desarrollos en los Wikis fuera de linea se ha hecho evidente que su uso ha crecido mas allá de una herramienta colaborativa alternativa. Innumerables wikis están usándose como un instrumento universal para compartir y distribuir el conocimiento de casi cualquier tema. Pero hasta el momento, la participación requiere acceso constante a internet. Esto tiene que cambiar.

A principios de este año la Fundación Wikipedia adopto el formato de archivo ZIM de openZIM[1] como estándar para mostrar la información de contenido web fuera de linea. ZIM comenzó a desarrollarse desde Febrero y ya se ha recorrido un largo camino. Está trabajando muy bien y está funcionando incluso en dispositivos embebidos como Ben NanoNote[2] y Neo Freerunner[3].

Esta flexibilidad y portabilidad del proyecto se debe a si estructura interna. En lugar de un único proceso complejo, OpenZIM esta diseñado para correr entre aplicaciones existentes. El ZimReader actúa como un servidor web permitiendo al usuario navegar en los contenidos del wiki con cualquier navegador disponible. ZimReader como ZimWriter, es usado para generar los archivos ZIM, están escritos en C++ y así que son independientes de la plataforma. ZIMLib puede también ser usado internamente, para hacer su aplicación instantáneamente consistente con ZIM. Las especificaciones del formato ZIM puede encontrarlas en el wiki del proyecto[4], y las implementaciones alternativas - en su lenguaje de programación o entorno de desarrollo favorito - son bienvenidas.

Sin embargo el corazón del proyecto es el formato ZIM[4]. Este esta diseñado para ser eficiente y un camino universal para almacenar wikis grandes en un único archivo. Este puede se usado para comprimir virtualmente cualquier dato desde el esquema de base de datos dado (PostgreSQL, MySQL, SQlite or Oracle) o desde una colección de archivos. "Con ZIM estamos intentando introducir un estándar para las aplicaciones wiki fuera de linea", explica el equipo del proyecto. Aplicaciones en las plataformas como iPhone, webOS o Symbian son invitadas a unirse y con la Fundación wikipedia se están preparando generadores automáticos de ZIM para la Wikipedia, es únicamente cuestión de tiempo.

El santo grial de ZIM es la edición fuera de linea. "Esto es una necesidad", Manuel Schneider, quien es el líder del esfuerzo openZIM, diciendo y sorprendentemente agrega "El camino es claro y los mecanismos están establecidos, todo lo que se necesita es la implementación". El objetivo del proyecto es tenerlo listo el próximo año. El proceso de como mezclar las ediciones de vuelta esta siendo actualmente discutido entre diferentes proyectos y en la Fundación Wikipedia en San Francisco.

Por supuesto, allí se han tenido varios intentos para crear versiones fuera de linea de la wikipedia y otros wikis. Sin embargo, lo que faltaba era una estructura limpia, pensada y enfocada en solucionar los problemas a mano. Los estándares abiertos y colaboración, abarcada a través de múltiples plataformas y áreas de experticia, son vitales como un esfuerzo. OpenZIM es justamente esto. El proyecto hecho entre, los escritores Wiki como los desarrolladores de aplicaciones, conocimiento y trabajo juntos hacia este estándar.

"Acercar el contenido Wiki a dispositivos fuera de linea en un camino estandarizado e intercambiable, usando estándares abiertos y software libre", es la meta mas grande e importante, pero el equipo de openZIM esta tomando un paso a la vez. Como se menciono anteriormente la implementación de ZIM es completamente funcional y puede ser usado en productos comerciales y/o libres. El trabajo actual esta orientado a las categorías de artículos y la indexación de texto completo, así como aumentar el rendimiento y reducir al mínimo el uso de memoria.

Si usted quiere integrarse al proyecto openZIM o tiene preguntas o comentarios mire nuestro wiki y contactemos a través de la lista [5].


 * 1) http://www.openzim.org
 * 2) http://www.qi-hardware.com/products/ben-nanonote/
 * 3) http://wiki.openmoko.org/wiki/Neo_FreeRunner
 * 4) http://openzim.org/ZIM_File_Format
 * 5) http://openzim.org/Mailinglist