Google Summer of Code 2010

From openZIM
Revision as of 20:29, 11 January 2013 by Kelson (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search




We will do the mentoring in a team. As we are all working on this project during our free time and all have real jobs during the day, we spread the tasks involved in mentoring so we can back up each other.

  • Tommi Mäkitalo (tntnet) - main openZIM developer, will take care for technical questions
  • Manuel Schneider (x80686) - openZIM project leader, will take care for all the paper stuff, evaluation etc., is available through IRC during the day

For coordination there will be regular IRC and Mumble meetings with the students and mentors. The schedule of this meetings should be at least twice a week and will be fixed as soon as the participants are fixed.

Students Applications

Idea 1: MediaWiki extension to create ZIM files

  • content selection by user:
    • add a selector to each article "include this article"
    • provide a method to include categories / all articles with selected categories
    • choose if images should be included as well or not
    • choose if selected articles / category should be exported or the whole wiki
  • content selection by extension:
    • make a list of all selected articles
    • make a list of all categories needed
    • make a list of all involved images / files
    • gather a list of involved MIME types
  • ZIM header:
    • send the list of content to zimlib
    • create meta data for zimlib
    • send MIME type list
  • ZIM content:
    • provide an interface for zimlib where it can fetch article content
    • retrieve HTML content of an article - only content section

Idea 2: zimreader for mobile phones

make a HTML viewer that uses zimlib to show contents on a mobile phone

can be

  • Symbian
  • J2ME

Student can decide which platform he / she likes better.

The openZIM server can be used for development if needed, a Symbian SDK is available there.

As an example see Vido, the GTK based ZIM viewer running on the Ben NanoNote (320x240 3" color TFT, 336 MHz MIPS CPU, 32 MB DRAM, microSD).

openZIM GSoC Ideas in the context of Wikimedia Strategy

see also

openZIM provides a solution - or at least a part of it - to most of the Wikimedia Offline proposals in the Wikimedia Strategy.

WMF Strategy: Outline for Recommendation #1 - content reuse from WMF projects

this is our target goal. With ZIM we provide a very efficient format which works for a variety of data types (hypertext, images and other files, categories...) and on a broad variety on platforms and devices (eg. it's optimized for very limited devices like handhelds). As an open documented standard and by the availability of GPLed libraries it can be easily be integrated in any reader application (severals are already available). ZIM files of all sources can be exchanged with any reader application and thus enables easy reuse of Wikimedia content.

The Foundation has decided to include ZIM as a regular dump file format. Other works have to be done before this can happen - namely fixing static dumps, Tomasz Finc is already working on that on Wikimedia's side.

Currently creating ZIM files involves a lot of manual work. Several publishers use different tools like Perl scripts to gather the content from MediaWiki and put it into a database. The libzim currently has an interface to read these contents from a database or other ZIM files to create new ZIM files. So automated ZIM file creation is still a missing gap.

MediaWiki extension to create ZIM files
  1. Having a "one-click function" to export selected articles from MediaWiki was one of the first ideas the Wikimedia Foundation had when they decided to adopt ZIM. So this idea will become reality, enabling all users of MediaWiki to easily produce ZIM files, spreading the file format more widely and making it more usable outside Wikimedia.
  2. While the static dumps are being fixed we can prepare the next step in the automated ZIM file creation. The libzim interface for the MediaWiki extension can be simply reused.

WMF Strategy: Outline of offline recommendation #2: Use of cellphones

As described in #1 the file format is very efficient and has been optimized for usage on devices with limited ressources.

zimreader for mobile phones

We don't have specific knowledge on how to write code for cell phones, but we have all the components - file format, free implementation, library - in place. So we had the idea of finding somebody to write sample application for the cell phone of his / her choice as a start.

WMF Strategy: Outline for Recommendation #3 - Schools

ZIM is already used at schools, mainly the Kiwix project (an user of openZIM) is very active in that area. Having a standardized format as described in #1 helps to provide schools with a large variety of compatible content which is updated frequently.

Beside that openZIM is working with Linux4Africa as they are about to adopt the ZIM file format using the openZIM zimreader application as a local webserver on their school servers.