Grants:Project/Kiwix/User Experience

From Meta, a Wikimedia project coordination wiki

Desktop UX
summaryImprove offline user experience.
targetall projects, all languages.
amountApprox. USD 79,440.-
granteeStephane (Kiwix)Kelson
organization• Kiwix
this project needs...
created on09:53, 7 September 2017 (UTC)

Project idea[edit]

What is the problem we're trying to solve?[edit]

Here's what the Windows version looks like today.

Thanks to Kiwix, students in schools, libraries and prisons can easily access content offline to support their learning when connectivity is low or inexistent (and, in our experience, these places usually have little choice in terms of books to compensate). In 2016, all versions of Kiwix were directly downloaded more than a million times (see Kiwix Annual Report), 60% of these being on desktop computers. This is a low estimate, as by ''direct downloads'' we mean the number of individual connections to our servers to download one version of Kiwix or another: this does not include people downloading it once on a flash drive, for instance, and then distributing several copies on their school computers as we know happens quite a bit (nor does it include NGO's using it in their own programs, e.g. schools and/or plugs). We also have many distributors around the world who find Kiwix extremely valuable and useful, but use their own distribution means: to give but two extreme example, Kiwix is now officially distributed by all government computer clubs in Cuba, and copies are also smuggled into North Korea. Kiwix being used offline we cannot collect detailed usage data, and as these two examples show we probably don't want to anyway: we just know it is widely used from reports we get (or press clippings).

Feedback is regularly coming in from users, which helps us know what they want or need (and also flag bugs). With certain elements of its software architecture having been deprecated, we have an increasing number of compatibility issues and reports of poor desktop user experience. To put it bluntly, Kiwix has become increasingly buggy since Windows 7, and this shows in our download numbers. We need and want to fix this.

The last grant (Wikimed) allowed us to lay some foundations for that work: while Kiwix used to be a one-size-fits-all piece of software, we've started to break it down into core components (e.g. Kiwix-lib, Kiwix-tools, etc.) that we can reuse into other products in a more flexible/relevant manner (as a good analogy: we used to have one big heavy brick and now are working with Legos™). This will save us some significant work, therefore time, and therefore money in future work, as well as make it easier to onboard new volunteers that may be only interested in one side of the project or another.

Here's where Kiwix versions currently stand:

Android Desktop Windows Desktop Linux Desktop macOS iOS Kiwix plugs + 3rd party plugs (e.g. Orange, Rachel, Internet-in-a-box, etc.) Firefox / Chrome
Version 2.3 0.9 1.8.1 n/a 2.1
Downloads/users ca. 2-300k downloads

including custom apps (e.g. Wikimed) 100-150k (2017 est.)

ca. 600k direct downloads (2016)

ca. 200k direct downloads (2017 ytd)

ca. 15'000 (2017 ytd) >> 1'000'000 (2017 est.) < 2'000 (2017 ytd)
Volunteer lead available? yes no yes no yes
Last update October 2017 November 2014 April 2017 September 2017 June 2017

(note: all distribution channels do not give numbers in a similar and easy-to-grab way, so consider these as lowball estimates)

Because most if not all of our volunteers have now moved to working on the mobile versions of Kiwix (Android, iOS, and even soon Windows mobile), we know that relying on volunteers for that segment is not much of an option (also the fact that the desktop version hasn't evolved past 0.9 in years confirms it).

What is your solution to this problem?[edit]

We want to revamp the desktop UX and architecture so that Kiwix can keep on running for many more years on desktop computers. To do this, we will hire the services of a professional UX/UI expert and C++/Qt coders to help us out.

Project goals[edit]

  • Objective 1: Provide a modern and user friendly Kiwix 2.0 for all recent Windows and Linux users;
  • Objective 2: Apply WMF UX recommendations on all Android apps;
  • Objective 3: Speed-up ZIM read/write processes.

Project impact[edit]

How will you know if you have met your goals?[edit]


The Wikimedia Foundation has been kind enough to give UX feedback on the Wikimed app design from one of their UX specialists. Based on these discussions (and recommendations we've tried to implement), we want to integrate UX design right from the start as it is simply easier than trying to correct issues afterwards.

On the technical side, there are several significant changes we want to implement:

  • Remove namespaces in ZIM files: namespaces are specific to the zim format and are used to separate content types (index, articles, images, etc.). The problem is that whenever one wants to update that content, the namespace convention has to be respected, lest we "break" the relationship between articles, images and the indexing. It forces a number of URL rewriting on the file, which ends up being cumbersome and slows the whole generation process down (when 9 years ago the whole of Wikipedia could fit on a DVD, that wasn't much of a problem; it now is). This should also improve our compression rate and help make smaller files;
  • Try partial cluster decompression. ZIM is a compressed format: rather than decompress the whole file everytime a user wants to read something, we'll look into doing it by chunks, so as to make the action less resource-intensive, which should be helpful for users with low-end devices/computers.

Incidentally, those two points should also directly benefit Kiwix mobile users, as well as the Foundation's mobile team who started to implement zim access into their apps. Likewise, partners on the ground (e.g. RACHEL or Libraries without Borders) will benefit for their own roll-outs.


When this is done, we should have:

  • Kiwix 2.0 running on recent Windows/Linux (and later versions) without glitches;
  • At least 30% faster decompression when opening zim files on all supports;
  • We'll publish the list of UX improvements as they come.
  • Android UX improved

Project plan[edit]


Task 1 2 3 4 5 6 7
Kiwix Desktop (Windows & Linux) Admin/Recruitment/Setup UX concept & UI mockups Implementation Kiwix-lib (bookmarks & content/download management) & Kiwix-desktop (UI) Release Kiwix-desktop 2.0 (Windows installer, Windows app store) Stabilise and release Kiwix-desktop 2.1
Kiwix Android Kiwix-android 3.0 (system of extensions, multiple UI improvments) Kiwix-android 3.1 (stabilisation of 3.1, multiple UI improvments) Release of Kiwix 3.2
Zimlib ZIM Extensions Speed improvements in write/read. Creation of an official zim toolset. Remove namespaces
Headcount (incl. volunteer work) 1 2 2.4 2 2 1.8 1.8

At the end of the Grant, Kiwix 2.0 and all related software will be released and made available, as always, under an open license.


Item Cost (CHF) Note
Part-time software developer (7 mo) 35,000 0.4 FTE. Based on our experience during the Wikimed project. We're already working with someone who's part volunteer, part freelance developer. He knows Kiwix inside out, but also has other projects going and can not allow for more time. In order to optimize work, we'll try to include an intern to help him with the simpler UI parts.
Part-time UX engineer (7 mo) 20,000 0.2 FTE. Based on Glassdoor rates.

(travel, hosting, support for volunteers)

10,000 We plan to run a hackathon in order to integrate the backend developments into our Android and macOS versions.
Project Management and unexpected costs 20% 12,000 Experience shows that there's always some unexpected costs.
Total 77,000.- CHF Approx. USD 79,440.- USD

Community engagement[edit]

Wiki Indaba / Wikimedia Movement
As Africa is one of our main user base, we will probably attend Wiki Indaba 2018 so as to showcase previews and get early feedback. Since Wikimania will be Africa-centered, we'll also pitch a talk.


We have a small but active volunteer developer community with which we regularly engage: we've organized several hackathons across Europe over the past couple of years and in 2017 we've had our two largest ever, which allowed us to make massive progress on all fronts. We'd like to integrate any learnings/new tech into the Android and macOS platforms if possible. To limit costs we'll host the hackathon in Europe, where most of our volunteer base is. Based on 2017, we expect around 12-14 participants.


Over the course of the project, advancement will be communicated on the relevant mailing list (offline-l).

Kiwix already has its own Twitter and Facebook feeds, and we participate regularly in the Wikipedia Weekly with updates and news to get as much feedback and buy-in from the community.

Get involved[edit]


  • User:Stephane (Kiwix) is a former board member and Executive Director at Wikimedia CH. He already manages Kiwix' daily operation that are not related to tech;
  • User:Kelson is a Software developer and the co-founder of Kiwix and openZIM. He still is the lead developer for Kiwix' core code;
  • Matthieu (Starmad on IRC) is our software dev;
  • UX project lead: tbd.

We also work closely with the Foundation's Audiences & Partnership teams (Jorge, Anne and Toby).

Community notification[edit]


Do you think this project should be selected for a Project Grant? Please add your name and rationale for endorsing this project below! (Other constructive feedback is welcome on the discussion page).

  • This software is so important for us here in Africa. I use it more often in stead of non free soft that exist.BamLifa (talk) 13:02, 25 September 2017 (UTC)
  • We (at Library Without Borders) distribute offline content in over 100 projects and 200 devices. Through our custom plateform "Ideascube" we are able to offer rich content such as TED videos, Wikipedia, and more thanks to kiwix server which became one of the cornerstone of our project! (Florian, IT Team at LWB) 12:34, 29 September 2017
  • Offline collections are essential if the Foundation is to achieve its vision of reaching everyone on the planet. Kiwix is a central to that offline work, and this upgrade is much needed. I think it will repay itself many times over as offline is now beginning to really take off. Thanks to progress at Kiwix and elsewhere we are trying to reactivate the English Wikipedia 1.0 project, so that we can offer Wikipedia selections through Kiwix with regular monthly updates. Walkerma (talk) 01:38, 2 October 2017 (UTC)
  • Kiwix is one of the most widely used toolchains for building offline and portable libraries. I've used it in various forms for almost ten years. Speed and interface friendliness are some of the remaining barriers to truly widespread use -- these are obvious places to make a big difference. SJ talk 
  • It is a very useful tool, in Colombia in a project we are starting to load Wikipedia into educational institutions and libraries without Internet access. It is loaded onto a computer, for example the teacher's laptop, with other educational resources open -OER. The local network is configured with xampp and the Apache server and a router is used. Students access Wikipedia from tablets and cell phones. (In Colombia the government is delivering tablets in the education sector). To install Wikipedia and the Local Network just copy the respective files to the hard drive.
  • With millions of downloads, Kiwix and its ZIM files are among the most useful products in the Wikimedia world. Almost every month someone in Italy comes up with an idea to spread knowledge in some disadvantaged context and I point them to Kiwix, which is then found to solve most of their needs. Of course speed is always a concern, so the proposed work to improve zimlib makes a lot of sense to me (it's also likely to have a long-lasting impact). As for the UX part, I'm still reading the documents. Nemo 19:11, 4 October 2017 (UTC)
  • There are more than four billion people without Internet. Kiwix is a critical part of the solution. Doc James (talk · contribs · email) 21:27, 4 October 2017 (UTC)
  • As a leader in the Arabic Wikimedia community, I'd like to endorse this enhancement of Kiwix. Our partnership with them has increased the number of downloads from the Arab world and developed a Wikimed in Arabic. This team needs, definitely, support from Wikimedia to fulfill its targets. --Helmoony (talk) 16:31, 10 October 2017 (UTC)
  • Offline access, with initiatives like Wikipedia Zero, are crucial in our mission to deliver free knowledge including to people with limited Internet access. And Kiwix is leader in this field. I was very happy to help distribute offline Esperanto Wikipedia by Kiwix 2 times, including to Burundi, one of the poorest countries on Earth. --KuboF Hromoslav (talk) 14:58, 17 October 2017 (UTC)
  • Kiwix is one of the cores of EduAirBox .We started building our success thanks to Kiwix which today is an important link of which 50 000 students benefit. Kiwix has an incredible compression format that allows us to reduce the energy costs of our Box while making contents accessible without internet in universities. 06:40, 26 October 2017 (UTC)