Tell us your story
Tell us your story
How has offline Wikipedia affected you? The Wikimedia Foundation (the non-profit that supports Wikipedia) is looking for personal, diverse and inspiring stories about how offline Wikipedia affects the world. If you have a personal story that you would like to share, please contact: Thank you!

Hackathon Google Zurich 2018

From Kiwix
Revision as of 08:10, 18 September 2018 by Julianharty (talk | contribs) (Kiwix Android: Added note on Code Coverage for Android project.)
Jump to: navigation, search

This page summarizes the action plan for the Kiwix Google Zürich Hackathon 2018.



In Kiwix-js:

  • Stabilize and optimize the ServiceWorker mode, to try to make it the default mode (on platforms that support it). This mode should be much more sustainable in the long term. Some help would be welcome on how to use the browser cache in this context
  • Improve performance by using WebAssembly (on platforms that support it) for the bzip2 decompression. Preliminary tests let us hope around 30% performance improvement.
  • Investigate on compiling the libzim to WebAssembly. If it's technically possible, it would allow to benefit from all the features and optimizations of this library, without the need of re-implementing them. If the people from Google know this technology, it might be a topic where they would be helpful.


In Kiwix-Android:

  • Work on 3.0
  • Download improvements (improve stability)
  • Search Improvements / Discussions


In Kiwix-Android:

  • Implement test code coverage report in Travis see
  • Help to reduce the number of crashes occurring for our users. Isaac agree the download manager code is the epicentre of many of the problems and he's planning to revise it during the hackathon. I'm happy to help with testing the changes.



  • Release Kiwix-plug installer 2.0.
  • Setup master builds more frequently and tie it to nigtly builds (#171).
  • Replace dependencies that are too exotic and problematic (pygobjects to PyQT?).
  • Revamp UI to fix UI-speed issues.
  • Update dependencies to latest stable.
  • Update travis/appveyor to latest stable image.
  • Draft pibox Documentation.
  • Harmonize coding style (black?).
  • Prepare pibox for localization (#43).
  • Have an alpha cardshop
  • Prepare the next project

Joe Reeve (ISNIT0)

  • Become more familiar with the MWOffliner codebase
  • Overhaul PhET app UI/UX
  • Assist with Kiwix-Android testing/development


  • Get familiarised with the OpenZim codebase
  • Successfully compile all OpenZim tools
  • Resolve various bugs, build issues, and crashes



Kiwix JS

  • Release of Kiwix JS 2.3.1, Kiwix JS Windows and corresponding custom apps for Windows
  • Big performance improvement on decompression of contents : it's now more than twice faster

Kiwix Android

  • Update of all Wikimed and Wikivoyage and others custom apps
  • Generated Code Coverage for the automated tests locally, still some issues to resolve on some devices and there may be a clash with debugging the app when code coverage is enabled. Detail available

Kiwix-plug installer

  • #228 (SSH timeout) - merged fix attempt (uncomfirmed)
  • #231: OPEN, CLOSED - build_dir UI issue
  • #230: OPEN, CLOSED - password issue
  • #229: OPEN, CLOSED - Verify `previous_loop_mode`
  • New WikiFundi dumps: updated content and new password rules in config
  • released 2.0-rc9
  • CLOSED openzim/wikifundi/issues/89
  • CLOSED openzim/wikifundi/issues/90
  • Recreated Wikifundi dumps to include fixed config
  • CLOSED #232
  • released 2.0-rc10


  • Deployed docker containers on *demo server*:
    • rabbitMQ with SSL
    • mongo
    • basic scheduler (authentications, user mgmt)
    • warehouse
    • phony monitor



~ 8 developers meet during a week to make a few steps forward.


The hackathon will take place in Zürich, Switzerland: 3 days @Google offices, the rest at the residency.


  • September 16th afternoon: arrivals (suggested arrival time 5PM)
  • September 17th -> 23th: Kiwix hackathon (17th -> 19th @Google)
  • September 23th afternoon: departures (suggested departure time 3PM)


  • Emmanuel (in the field)
  • Isaac (Sunday - Sunday /w one day break in the middle)
  • Joe (Monday - Friday)
  • Julian (Monday - Friday)
  • Mossroy (Sunday - Sunday)
  • Renaud (Saturday - Sunday)
  • Magnus (Sunday - Thursday)
  • Dattaz
  • Rashiq
  • Matthieu
  • Guillaume


  • Accommodation: ~4500 CHF
  • Travels: ~700 CHF (local)
  • F&B: ~ 2500 CHF

-> ~