Kiwix/Plan 2019-2020/Final

From Meta, a Wikimedia project coordination wiki
Jump to navigation Jump to search

Welcome to this project's final report for 2019-20! This report shares the outcomes, impact and learnings from Kiwix' work. For the initial plan, see Kiwix/Plan 2019-2020.

Part 1: The Project[edit]

Summary[edit]

Most technical goals were attained in spite of a somewhat difficult second half of the year: our code is clean, and Kiwix runs smoothly on every device it can be installed on (with some margin of improvement regarding UX). We now consider the work that had started in 2017 and that aimed at stabilizing Kiwix (or more exactly the Kiwix suite of platforms, if that's a word) to be mostly done, which will allow us to focus on expanding content and improve user experience. Top improvements this year included two long-awaited updates: the English Wikipedia (which got us an article in Vice's Motherboard) and the final release of Kiwix-desktop 2.0 (for Linux and Windows machines).

Other significant milestones included the release of Kiwix-android 3.0, an expanded zimfarm, a hackathon alongside Wikimania, and new partnerships that expanded our reach. Our (measured) audience continued to grow, but not as fast as we'd want it as we still lack reliable measurement tools other than pestering partners via email. This should hopefully begin to change now that we are finally able to take our eyes off purely technical matters.

Project Goals[edit]

The broad and ultimate goal of the grant did not deviate from last year's: we want to facilitate the distribution of Wikimedia (and other) contents to people without reliable internet access, either directly or through third party organizations. To do so, we needed to:

  • make the various Kiwix applications easy to use and install;
  • improve our maintenance output.

The expected outcome being that (i) people without internet access can nevertheless access Wikimedia content; and (ii) a cleaner code makes it easier for new contributors to contribute features and support maintenance. For detailed objectives, see section 1.3.3.

Project Impact: Plans are useless, but planning is essential[edit]

This was a year of many learnings - no least with the fact that the world can go its merry way one day and ground to a halt the next. The good news (because we are of the glass-is-half-full persuasion) is that to a large extent our tech work was barely impacted : most of our team are contractors, and most of them work independently. Working from home, the lockdowns that started mid-March did not prevent them from going to the office, but rather out of it. And since our team is so small that each project is basically owned and managed by a single individual, there was no impact either in a reduced ability to hold in-person team meetings.

On the other hand, our team is so small that each project is basically owned and managed by a single individual: if that individual got sick or under a more restrictive variant of lockdown, then said project is stuck until better days show up. But overall, even though our plans -and pretty much everyone's- were kicked in the parts-that-really-hurt, we weathered most of the trouble because we had essentially spent the past two years laying out the foundation of a nimble, yet solid and resilient, project.

What we delivered[edit]

A couple of project were still hanging from last year's plan, namely Kiwix-desktop, which had been in a succession of beta versions for the better of the year, and the English Wikipedia zim, who had not been updated since October 2018 (along with the few wikis with more than 1 million articles). And ah, yes, Kiwix-android was only half-functioning when we started the year.

  • The main problem with Kiwix-desktop is that because of cost constraints it had to be developed both on Linux and Windows at the same time, that the development was done by a single engineer with limited interest in UX shenanigans, who anyway had two other projects to manage at the same time. Allocating resources to finding and fixing the 5% of code that blocks 80% of users is tedious, frustrating and time-consuming. Yet it had to be done: people who still relied on the old 0.9 could not read the newer zim format. But we prevailed: Kiwix-desktop 2.0 is offlcially out since June 2020 and from then on it will be maintenance and UX improvements, which should both benefit users and be less demanding on our resources;
  • Kiwix-android, for its part, was a great product in wait for a great project lead: it was in fact our goal to have someone by Q3 of the previous year, but he could only start by the end of Q4. But boy did we deliver: the entire infrastructure was moved to Kotlin by the end of Q1, and Kiwix-Android released in September 2019 with a host of new features (including the ability to use one's device as a hotspot and host zim files for others. Crash scenarios and bugs have drastically been reduced, and we find it slightly unfair that it is not so readily translated in Playstore statistics. But then we strongly believe that the future of the android app is not so much in a generic Kiwix platform as in a dedicated custom apps (so stay tuned for our next releases).
  • MWoffliner is the very good, very amazing piece of software that makes offline Wikipedia a thing. Unfortunately, something happened around the end of 2018 that it would not be able to zim up very large wikis. Even though English is probably not the most widely spoken language amongst our users, the English Wikipedia is still very much in demand and that felt like a particular let down. But with 6 million articles to parse, copy and compress, it was nearly three full weeks before we could know whether each new attempt at fixing had worked or not (because of course the process had to crash at the end). We finally adopted a strategy of minor, incremental fixes (see repository and changelog) and broke down the task among several contractors. And it worked: enwp and all other big wikis are now updated on a monthly basis, with the added bonus that update runs now only take five days or so (producing a health 92 Gb baby instead of the 78Gb from almost 18 months prior; Wikipedia did grow by about 10-15% during that timeframe).
  • The hackathon in Stockholm turned out to be a great event, both in terms of deliverables and team building. Big shout-out to the WMSE team for their support as well (they never told us if they liked our Swiss chocolate, though). Pack a dozen or so people from almost as many countries on a boat, shake, and get the full list of deliverables here.
  • Covid-19 showed that there can be some good, even in the worst event: the world woke up to the fact that not everyone has connectivity, and that solutions were needed. This clearly translated into a measureable uptick in exposure and contact request, which will hopefully translate into solid partnerships over the next few quarters. Case in point: Orange, the big French telco, asked us to install Kiwix (with a selection of mostly Wikimedian content + Khan Academy) on their African network. This was an interesting use case as it turned out to be simultaneously an online and offline deployment: content was stored on the Ivory Coast hub, serving customers in 11 countries in the region. The value proposition for everyone in this case was that they would serve this locally-stored content for free (or reduced cost) to their customers (ie on the Orange network), and that they would not have to pay for international data costs - ie, between Orange's servers and, say, the Foundation (note to eager Wikimedians: yes, the internets do not exactly work that way, but the explanation is a decent enough approximation). Kiwix-serve was ready to roll within 96 hours or so of them contacting us, which is to show how long we've gone in terms of off-the-shelf solutions.

What we did not deliver[edit]

Configuration page for the online hotspot creator...
...and what the output looks like when users connect to the hotspot

Content is definitely the missing piece here: we could not produce a satisfying content strategy in time (satisfying as in "realistic and manageable"), so the exercise is pushed to the next cycle and will be part of our broader reflection on Kiwix' funding and business model (producing a revised business plan is also part of next year's cycle). Yet, content was central to our activities and effort during this year: we got a substantial grant from the Mozilla Foundation to expand our library (with ZIMit, a semi-universal scraper that should help us industrialize content production), and we also invested some money into getting designs for a Wiktionary app (hopefully to be released with the next cycle).

Another missing deliverable is version 3.0 of our Raspberry Pi-based hotspot. The product works reliably already and we found that as such it constituted an MVP that could help us diversify our revenue streams: we therefore shifted our efforts to the online installer, which is now open for business and allows us to 1. generate some revenue and 2. delegate more easily distribution to partners (e.g. in India or the Pacific Islands, where we are starting a partnership model for distribution).

What was the plan anyway?[edit]

Targets[edit]

Outcome 1 Target 1 Measurement method Baseline July 2019 Status June 2020
People without internet access use Kiwix to access Wikimedia contents. 20% increase in number of individual, non institutional users of Kiwix. Baseline/endline number of downloads and retained 30-day installers as measured by Google Play console.

Baseline/endline number of downloads as measured by Kiwix servers.

See below Android: +19.2%

Desktop: +36.5%

Target 2 Measurement method
Android 30 day retained installers exceeds 40% Google Play Store stats Kiwix: 43.6%

Wikimed (en): 77.2%

Kiwix: 45.1%

Wikimed (en): 76.1%

Target 3
90% of zims automatically updated on a monthly basis; 99% bimonthly Publication date at D-30 and D-60. 95%, major regression on large wikis (>1M articles) 99% monthly coverage for all wikis.
Outcome 2 Target 4 Measurement method
Distributors and integrators can reliably integrate Kiwix to their own programs and services. Increase number of official partners to 10 An official partner or integrator has a signed distribution or integration agreement, or openly indicates that they are using Kiwix on their communication material. n/a 6 new partnerships in Solomon, PNG, the US, Ecuador, India.
Target 5 Measurement method
30% increase in testing code coverage (kiwix-android, libzim, libkiwix, mwoffliner, zimfarm) Implement measure of code coverage  (published transparently once a night via codecov.io) nada. /kiwix/ and /openzim repositories monitored.
Target 6 Measurement method
Implement KPI measurement system Cross-platform and platform-specific are identified and implemented nada. metrics.kiwix.orgup and running.

Outputs[edit]

Outcome #1 : access
Output 1
Publish content strategy. Pushed to 2020-21
Output 2
Namespace parameter is removed from ZIM structure, which reduces dev time for new scrapers and maintenance costs overall. Ongoing
Output 3
Release Kiwix Hotspot 3.0 Rescheduled to 2020-21 as we decided to prioritize the online installer instead.
Outcome #2 : distribution
Output 4
Online cardshop is launched and allows single users or distributors to pay for and generate their own hotspot-based content selection. Yes check.svg Done
Output 5
Maintain professional development of key software solutions. Our core portfolio (zimwriterfs / zimtools / libzim / kiwix-lib / kiwix-tools, MediaWiki Offliner / Kiwix-desktop / Kiwix-Android / Kiwix-Hotspot) is maintained by contracted employees so as to have regular and reliable release dates. Yes check.svg Done
Output 6
KPI and KPI dashboard are selected and implemented in order to help Kiwix and integrators/distributors improve their offer to end users. Yes check.svg Done

Metrics[edit]

We estimate our user base to be upwards of three millions, worldwide.

  • download.kiwix.org (direct access, desktop downloads): 1,135,000 downloads (vs. 831,440 in FY 2018-2019). Top countries: US, China, Germany, Cuba, Yemen
  • android:
Active installs on June 30th 2018 2019 2020 Change %
Kiwix app 59,813 151,511 161,883 +6.8%
Wikimeds 100,097 114,710 145,478 +26.8%
Other apps

(PhET. Wikivoyage, WikiSpecies)

28,366 42,697 60,909 +42.7%
Total 188,276 308,918 368,270 +19.2%

Top download regions for android : Mexico, Cuba, Yemen, US, Iraq.

Note: user retention for the medical apps is around 70% (+/-5%). People seem happy with the apps, but there certainly is a problem with search and discovery. We also clearly underperform conversions from the playstore's landing page.

  • From iTunes : iOS 28,789 (vs. 21,208), Wikimed iOS 14,521 (vs.10,240); macOS 1,898 (vs.1,270)
  • Firefox, Chrome, Windows (Kiwix-JS): ca. 20,000 (vs. ~ 4,000)
  • Other distributors, partners, integrators (as reported by IIAB, Libraries without Borders, Orange, RACHEL, etc.): ca. 2,500,000 (+)


Project resources[edit]

Please provide links to all public, online documents and other artifacts that you created during the course of this project. Even if you have linked to them elsewhere in this report, this section serves as a centralized archive for everything you created during your project. Examples include: meeting notes, participant lists, photos or graphics uploaded to Wikimedia Commons, template messages sent to participants, wiki pages, social media (Facebook groups, Twitter accounts), datasets, surveys, questionnaires, code repositories... If possible, include a brief summary with each link.

As always, all of our content is open-source and available

Next steps and opportunities[edit]

The full plan for next year (2020-21) is online and available here.

Part 2: The Grant[edit]

Finances[edit]

Actual spending[edit]

Item Q1-Q2 Q3-Q4
WMF Grant revenue 121,187.50 121.875.-
Personel spending
- Salaries & empl. taxes 35,398 40,739.29
- Contractors 148,899.99 126,497.04
Total Personel 184,297.99 167,236.33
Non-personel expenses
- Rent 3,239.83 2,059.77
- Hardware, Servers, licenses 3,170.5 8,958.77
- Admin fees, T&E (incl. hackathon), marketing 18,266.36 24,712.94
Total non-personel expenses 24,676.69 35,731.48
Total spending 208,974.68 202,967.81


All amounts in CHF (CHF 1 = ca.USD 1.1)

Remaining funds[edit]

No remaining funds.

Grantee reflection[edit]

It was a great cycle inasmuch as we finally solved a lot of technical issues that had plagued us for a long time. We still are lagging in terms of independent fundraising, but now have a solid range of products that we definitely should not be ashamed of, particularly considering we are juggling a bunch of peanuts as our budget. Professionally, Kiwix is the strongest it's ever been, thanks in great part to two amazing individuals at the Wikimedia Foundation (Jorge Vargas and Anne Gomez: if anyone ever googles their names and need a recommendation, feel free to reach out). We are now officially done with building a solid foundation: time to conquer the world.