Reprise of Akademy 2014: Artikulate

During Akademy 2014 BoFs we scrutinized some applications usability and visual design. In this article we present the outcome of our work with the KDE pronunciation trainer 'Artikulate'.

Even when it sounds like KDE Akademy is a just big party, we have been very productive as well. During the birds-of-a-feather (BoF) session on user experience, we discussed usability and visual design for some projects.

Here we want to report about the first one: Artikulate.


Artikulate is a pronunciation trainer that helps improving and perfecting a learner’s pronunciation skills for foreign languages.

To achieve this, it provides trainings with native speaker recordings for several languages. The learner downloads those training packages, selects a category of phrases to train, then starts with recording her/his own voice when speaking the phrases and comparing the results to the native speaker’s recordings by listening to both. By adjusting and repeating the own pronunciation, the learner can improve his/her skill.

Artikulate and the vocabulary trainer Parley are intentionally split into two programs.

Requirements / User Stories

  • As a learner, I want to listen to words or phrases, record my own pronunciation, and compare both to improve my pronunciation skills.
  • As a learner, I want to be able to focus on a certain type of phonemes to improve my weak pronunciation.
  • As a learner, I want to get supported by groups of difficulties, phonetic transcription, and an elaborated visualization of my recording.
  • As a learner, I want to postpone or repeat items for a self-paced training.
  • As a learner, I want to enter a rating for my pronunciation of an item, to get back easily for difficult cases.
  • As a learner, I want to see my statistics to get encouraged.
  • As a learner, I want to download new trainings from market-places like  ‘Get Hot New Stuff’ to extend the program to my needs.
  • As a learner, I want to access my individual training results in case of multiple users.
  • As an native speaker, I want to record words and phrases to generate new trainings.

Generic Layout / Information Architecture

When designing a new application, the command pattern and navigation structure should be defined first.

Artikulate has a simple command structure. That means, user can select items or start functions from only a few options. Therefore, the menu button command pattern fits perfectly. In respect to the content, a detail item (the current word) is chosen from a master list (the complete course). This list-detail pattern is easy to use and provides all necessary functionality.

Last but not least it should be possible in Artikulate to create new trainings. This interaction principle is described at the HIG page on viewing vs. editing.


The basic layout is predefined and needs to be filled with the right information. That is the list of words or phrases of a course which goes to the left-hand navigation list view. In case of phrases or very long words, it makes sense to abbreviate it by ellipsis. The list view contains all information to allow sorting and perhaps filtering of training items.

The remaining screen shows the word/phrase including a phonetic translation. There are functions to listen to the correct pronunciation, to record own pronunciation, and to replay it. It makes sense to replay automatically after recording, and to have easy access to the major functions: listen, record, skip, and next. Additional information to the item including the translation into the native language, as well as the overall statistics are shown too.

The configuration is started via menu button. If necessary, users will register here. Trainings/courses are available to all users, the download is possible in the main screen nearby the course selection, and it can be done at the configuration.

Mockup for Artikulate

Figure 1: Mockup for Artikulate


This is a first attempt of how the layout of Artikulate may look like in the future. We did follow the KDE human interface guidelines and the UI is flat, clean, and simple.

Now we are interested in your feedback as a potential user of Artikulate. Do you have different requirements? Do you have any comments on the design? What are we missing?


In particular, we controversially discussed the following aspects:

How do you want the trainings to be composed?

View Results

Loading ... Loading ...

Do you want to see the list of previous and next training items, which is the left-hand navigation?

View Results

Loading ... Loading ...

How do you want to go through the training?

View Results

Loading ... Loading ...


Those questions are just a few ideas we tackled during Akademy BoF. Please use the comment section to discuss your ideas with us.

0) { foreach ($sd_categories as $category) { array_push ($sd_result,$category->term_id);//<-- gendert von name zu term_id anpassungen ntig!! } } ?>