A Pebble Dictation App in 33 Lines of JavaScript

Pebble apps are always written in plain C. That is what I always thought and why I never really looked into building them myself.

But sometimes things turn out to be much simpler, then I expected it. To be honest, in tech this does not happen very often, which is why I got pretty excited when I found out how trivial it actually is to build a custom dictation app for my watch.

All you have to do is to create a UI.Window object and bind the Voice.dictate functionality to the show event of the window.

The Pebble takes care of everything else (like recording the voice, transforming it to text and even asking the user if it result is correct).

After everything is done a callback is executed. Here I created an Ajax request towards an API that simply echoes what I send to it.

So here you go, a Pebble dictation app in just 33 lines of JavaScript:

By the way, I used the CloudPebble IDE to “build” this app and if you think about building something for the Pebble yourself, I’d highly recommend this. It’s a really well done browser app that not only offers a preview of the app, but also allows you to deploy it directly from the cloud on to my watch (which, of course, is awesome and creepy at the same time).

First thing I built with my new super powers was a Completely Useless Chat System (that’s why the initial screen in the video says CUCS), but I already found a much more useful project, which will not be any harder to implement: task tracking!

For me as a Freelancer it’s quite painful to track what I’ve done for my clients (and some of the bigger ones require me to do so). So instead of managing Excel sheets, telling my watch what I’m doing and letting it store into a Google Spreadsheet sounds like a pretty good idea to me.

Apart from that, I’d be very interested to find out, if any of the other two people in the world, who develop for the Pebble platform are into this as well. Maybe together we can come up with some more (and less useless) ideas?

Written by Alexander Thomas