Hackathon Spring 2017

From Kiwix
Jump to navigation Jump to search

This page summarizes the action plan for the Kiwix Spring Hackathon 2017.


  • Setup the Android automated testing up and make a proof of concept
  • Release a new version of Kiwix for Android (maybe a first version with multizim support?)
  • Implement Wikimed Feedback solution
  • Implement a solution to allow non-tech to launch/update Android custom apps
  • More sophisticated bookmark
  • Work on 2.3 release
  • Consider possible ways to enable users to provide device-info such as storage locations to help us improve support for their devices.
Scrappers (Python)
  • Fix Gutenberg scrapper and generate new ZIM files
  • Fix KALite ZIM export (for a first release)
  • Create a fully automatized solution for Stackexchange projects ZIM files
Scrapper Mediawiki (Nodejs)
  • Implement Wikihow scrapper (non-parsoid Mediawiki scraper)
  • Scrape categories
  • Support videos (if Parsoid allows it)
  • Release a new version of Phet Simulation with an improved UX
  • Add category filtering
HTML5 (Javascript)
  • Launch the first pure HTML ZIM read browser extensions (FF+Chrome)
  • Fix fulltext search/indexes problems
ZIM building
  • Setup a ZIM building scheduler (with Celery?)
Ideascube builder
  • Get a Qemu Raspbian image ready in Travis


zip2zim (zimwriterfs as a service)

Create an online tool for converting zip files of HTML into deployable zim files

Group Discussion Topics

During the hackathon we'd like to discuss various topics collectively. These include:

  • UX and particularly Onboarding
  • Desktop apps
  • Incorporating analytics

We aim to agree a topic with about a day's notice so those who wish can do some preparation, e.g. reading up, sharing ideas and notes, etc.

UX & Onboarding

When: 14:00 ish Tuesday 4th April 2017


We believe large numbers of users only use the app briefly before abandoning it. There are various ideas why this might be so. Perhaps they don't understand what the app can do for them, or they may find it hard to get started. There may be problems downloading content, etc. Also, with our growth in custom apps, including non-Wikipedia content such as PhET simulations, perhaps the user interface, menu options, and some of the functionality is a poor fit for the content and capabilities. We'd like to discuss the UX, including onboarding (getting users from first starting the app to using it productively), and consider ways we might usefully improve the UX.

Sum up of the meeting : UX and Onboarding

Automatic testing

When: Wednesday 5th April 2017


Some repos already have automatic testing (unit tests and/or UI tests). Some other ones plan to add it.

We should discuss our experience/ideas on that topic, and see if we could do something in common.

Sum up of the meeting : Automatic testing meeting on 2017-04-05


Browser extensions

A basic browser extension has been commited.

Before it is available from Google and Mozilla extensions system, it can be installed manually :

  • For Firefox :
    • Open http://download.kiwix.org/nightly , choose the latest date available, and click on the latest kiwix-firefox-signed-extension-*.xpi
    • Confirm the installation
    • It's expected that only the jQuery mode will work under Firefox extension (Firefox limitation for now)
    • This jQuery mode works well on wikipedia ZIM files, but has not been tested on other kind of ZIM files, where it should have big limitations
  • For Chromium/Chrome :
    • Open http://download.kiwix.org/nightly , choose the latest date available, and download the latest kiwix-chrome-signed-extension-*.crx file
    • open a new Chromium/Chrome tab with URL "chrome://extensions/"
    • drag and drop the crx file into this tab
  • On both browsers, a Kiwix icon should appear on the right of the address bar
  • If you click on this icon, it should open a new tab with the Kiwix application. You must then choose your ZIM file(s), and you should be able to browse it

Gutenberg scraper

  • Updated dependencies and made it python3 compatible
  • Parallelized long-running operations: download, parsing and export
  • Fixed all bugs and enhancements from github
  • Add docker image and CI integration in Docker-hub
  • Publication of Python package


youtube scrapper


  • Restructured project to allow for easier testing and readability.
  • Various bug fixes
  • Introduced new developers to tooling and processes
  • Travis CI


Ideascube builder

  • Communication between python script and QEMU process
    • establish ssh connection
    • enable ssh server via QEMU process input/output
  • Setting up environment for ansiblecube (as buildMyCube.sh does)
  • Script configuring and compiling linux for QEMU armhf emulation (does not have options for ansiblecube captive portal yet)



  • Category Filtering
  • UI/UX improvements


This hackathon gathers different kind of tasks which all in one will help to implement the Wikimed Projet and reach our goals in term of new content for 2017.


~ 10 developers meet during a week to make this steps forward.


The hackathon will take place in Lyon, France


  • April 2th afternoon: arrivals (suggested arrival time 5PM)
  • April 3th -> 9th: Kiwix hackathon
  • April 9th afternoon: departures (suggested departure time 3PM)


Travel + Accommodation
  • Adrian
  • Elad
  • Emmanuel
  • Joe
  • Julian
  • Rashiq
  • Renaud
  • Hayley
Only Travel
  • Isaac
Located in Lyon
  • Matthieu
  • Mossroy
  • Guillaume


  • Accommodation: ~4.000 CHF
  • Travels: ~2.000 CHF
  • F&B: ~3000 CHF

-> ~9.000 CHF