Wikimedia Blog/Drafts/How Google Code-in helped this year (again) open-source project Kiwix

Title ideasEdit

  • How Google Code-in helped this year (again) open-source project Kiwix
  • A student project gone terribly right.

SummaryEdit

  • Isaac joined the Google code-in at 17, hoping to gain some experience and (maybe) win a cool shirt. He ended up helping thousands in 100+ countries get access to Wikipedia offline.

BodyEdit

 
Isaac at the Lyon Hackathon, Spring 2017

Imagine that you are a 17 year-old, are very much into programming, and that you decided to join the Google code-in, a global contest to help develop open-source projects. Spend a month solving a variety of bite-sized tasks and, maybe, win a t-shirt (along with making the world a better, more open place): what could go wrong?

Nothing, it turns out, and even quite the opposite.

This year the Kiwix (http://www.kiwix.org/) project, an offline reader for Wikipedia (and a lot more), was participating in Google Code-In as a part of the Wikimedia (http://wikimedia.org/) organisation. It is the third time that we have participated and we are really satisfied with the result. Google Code-in is not only an opportunity for young developers to express their talent but also a concrete opportunity for open-source projects like Kiwix to advance.

This year we only had about ten tasks registered for Google Code-in due to a lack of resources on mentor's side so we decided to foucs on "Kiwix for Android". That said this still need a little bit time to get everything ready for the developers: we not only have chosen, partly rewritten and copied tickets from our upstream bug tracker (http://bugs.kiwix.org/) but also had to prepare a virtual machine and small documentation to make it really easy to step-in (https://www.mediawiki.org/wiki/Google_Code-in_2015#Kiwix_for_Android).

Even if many developers are potentially interested/capable to implement the features or fix the bugs, our short experience with the program is that only one or two will really "play the game" to the end. This year we are really thankful to have met mhutti1, a student from UK, who has implemented almost all the tasks:

The result of this work is that:

  • Kiwix is now movable to the SD card allowing users with less internal storage to install and benifit. A small android manifest change.
  • Kiwix now restarts on the last open article and should start at the last vertical position. By using SharedPreferences.
  • The search box can now be more easily opened by clicking on the majority of the action bar. By using the Toolbar object.
  • Fullscreen is persistent through app restarts. By using SharedPreferences again.
  • An animiation glitch when canceling search is now fixed. An extra intent was being created but was not passing on its data.
  • The "Back to Top" feature was made less intrusive, it now fades out after 1.5 seconds.

Thankful for all the good work and because we would love to meet him in person, we have invited mhutti1 to attend to our next international developer event: Wikimedia hackathon 2016 in Jerusalem, Israel (https://www.mediawiki.org/wiki/Wikimedia_Hackathon_2016). At this occasion he will meet Rashiq, Kiwix for Android dev lead and ex-student of GCI 2013. We are sure they will have a few stories to exchange...

Kelson (GCI mentor & Kiwix leader) and mhutti1 (GCI student & Kiwix developer)

NotesEdit