Pebble: LearnAWord

LearnAWord (Working Title) is an App for the Pebble Smart Watch written in C. It has a JavaScript element on the phone that handles the all web functionality.

learnaword simple image

LearnAWord Pebble Watch App

LearnAWord’s development started when I was looking for another avenue to assist me in learning a new language (in this case, German). I’m a big fan of Duolingo and Babbel (Both of which I’d recommend: Duolingo for the gamification/ui side of things and Babbel for its superior audio) but I’ve often felt that the lacking element is the fact that you tend to sit down for a learning “session” rather than having it as a constant learning process. Ultimately, I was lacking the immersion element of language learning. This is an attempt to fill at least a tiny bit of that gap by utilising wearable technology.

LearnAWord is a Pebble Watch App that has the obligatory time/date information always on display, but also:

  • German Word
  • German Word in Plural form
  • Type of word (Noun, Verb etc)
  • Translation
  • Word Gender
  • An example of the word being used in a sentence/phrase.

Physical interface wise, it works as thus:

  • Up/Down buttons scrolls the translation area if the text overspills the area
  • A short tap on the middle button makes the title area scroll left/right if the word is too long
  • A hold on the middle button makes the word refresh.

In terms of the backend to the app, I’m making use of the Collins Dictionary API for my translation needs. The API provides JSON responses to dictionary queries, with XML included within the content of some of JSON responses.

Unfortunately the Pebble JS implementation doesn’t include any XML parsing libraries. Therefore, I’m using xml2js to parse the XML into JSON objects and Browserify on top of that as the Pebble JS SDK only supports one JS file.

Leave a comment