Jump to content

Wikimedia Apps/Wiktionary definition popups in the Android Wikipedia app

From mediawiki.org

Users of the Wikipedia app for Android have the ability to find definitions from Wiktionary for any highlighted word on English Wikipedia. This was first introduced in 2016 as an experimental feature in beta version of the app, and then activated on the stable Android Wikipedia app with the rollout of mobile content service loading (https://phabricator.wikimedia.org/T115484). This page details the objectives, development, and obstacles for the feature.

Goals

[edit]

The Wiktionary definition popup feature is intended to improve the user experience by making additional relevant information available to the user, and to promote the strategic goal of integrating content from other projects into Wikipedia.

Design

[edit]

The goal is to present definitions to the user in a streamlined, easy-to-read format. Rather than presenting a Wiktionary page in its entirety, the definition popup presents a set of definitions parsed from the term's Wiktionary page. The design takes inspiration from the definition lookup feature in the Amazon Kindle app for Android and the built-in definition lookup feature on iOS.

Status (as of 2016)

[edit]

The feature is an experimental MVP and enabled only for articles on English Wikipedia. Due to the time cost of expanding the feature to other languages (see Obstacles), further work on the feature is pending based on user engagement.

How to use

[edit]

Highlight a word in any English Wikipedia article in the app, and you'll see a floating context menu containing the options copy, share, and define. Choose define.

Obstacles

[edit]

Wiktionary content is unstructured, and presenting a concise set of definitions requires parsing them from the page HTML. English Wiktionary has an entry layout guide which assisted in this for the current English-only implementation.

It appears that every Wiktionary has a unique layout, so adding support for additional languages will require adding custom parsing logic for each additional language we support. We'll need to measure user engagement with the feature in order to determine whether expending the time and effort to do this additional work is worthwhile.

If Wiktionaries began moving to a structured data model (by working with Wikidata, for example), that would greatly increase our ability to scale this feature to other languages; of course, that would be a very large undertaking in its own right.