DESOSA 2022

Wikipedia Android

The Wikipedia Android App is the Android application for the well known online encyclopedia Wikipedia. It is known for being a completely free to access, collaborative project that is largely written by volunteers. The website is immensely popular, with 1.7 billion unique devices per month and 58 million articles available in over 300 different languages 1.

95% of the Android application is written in Kotlin, with the rest mostly being written in Java. It is being developed in Android Studio, allowing for a rich but complex development environment. During the Software Architecture course we will analyze the architecture of the app and make contributions to this open source project.


  1. https://en.wikipedia.org/wiki/Wikipedia:About ↩︎

Authors

Giuseppe Deininger

Robotics enthusiast and Embedded Systems MSc student.

Casper Hildebrand

Music and data enthusiast and first year MSc Computer Science.

Ruben Nair

First year Computer Science Master student at the TU Delft.

Sven van der Voort

Always busy with the latest technology. Also MSc student Computer Science at TU Delft.

Wikipedia Android: Scalability

In this essay, we will investigate the scalability of the Wikipedia Android app. Since our project concerns the client application rather than the Wikipedia infrastructure and we described API design in an earlier essay, we will not focus on infrastructure or API scalability. Rather we will examine how the Wikipedia Android app performs on low-resource devices such as entry-level phones and compare that to performance on high-end phones. We will do this by setting up two emulators simulating an entry-level and a high-end Android phone and collecting several performance metrics.

Wikipedia Android: Quality and Evolution

This essay describes how quality is defined for the Wikipedia Android app and how quality control is applied throughout the development process. The evolution of quality through time is also discussed. System key quality attributes The system’s key quality attributes have been discussed in detail in the previous essay1 and so they will only be summarized here, so that more focus can be put on Accessibility, the attribute found to need more work.

Wikipedia Android: From Vision to Architecture

In this second essay, we will look at how the vision of the product is applied by investigating the architecture of the project. This analysis of the architecture will be done at several different levels, ranging from the main pattern and container views, down to the development view. Finally, the quality attributes identified in essay 1 are revisited to see how they are realized with the application’s architecture. Main architectural pattern One of the most popular architectural patterns applied in Android applications is the Model-View-Controller pattern.

Wikipedia Android: Product Vision and Problem Analysis

This is the first out of four essays surrounding the open-source Wikipedia Android app. In this essay, we will focus on the product vision behind the app. Project Characterisation The most important aim of the Wikipedia Android project is to bring the Wikipedia encyclopedia to Android devices making it accessible to millions of users. The co-founder of Wikipedia, Jimmy Wales, described the product vision of Wikipedia as: “Imagine a world in which every single human being can freely share in the sum of all knowledge.