Tuesday, December 3, 2013

Hebrew on the Pebble

Hebrew on the Pebble

There are many new smart watches out in the market. My personal one is the pebble. In my opinion a watch is an extension of the phone, and not a replacement,   and the pebble does just that.
The main disadvantage of the pebble is the SDK environment. There is no simple way to create a pebble application in windows. The workaround for this is a cloud environment that is very nice, you can find it at: https://cloudpebble.net/ide/. In the cloud IDE you upload your resources and write your code. From the cloud you can also compile the application and download it for installation from your phone.
This article will not go into the details of the pebble development. In a broad overview, the pebble GUI is made out of multiple layers that you can create. Each layer can have its own callback so that you can update each layer on a timer that suits you, and only update that layer. There are many API’s for writing text or graphics on each layer so that you can display almost any idea you have.

Language

The main feature that is lacking in my option is the support for multiple languages. Pebble supports only English, and does not support other languages. I am not sure for the reason behind this, it might be since the main market is in the US or the limited memory that the pebble has, or both.
For a review in Hebrew about the watch see: http://www.geektime.co.il/pebble-smartwatch-review/.
The pebble supports two types of applications. Once is a watch face and the other is a watch app. The watch face displays the time in different types of formats and visualizations (a list of watches can be found at http://www.mypebblefaces.com). The watch app is a richer application that usually also interacts with your phone.
If you want to create your own watch face but do not know or want to program, there is a great site that lets you customize your own watch app: http://www.watchface-generator.de/.

Fonts

This blog will deal only with the watch face, and in a future post we will write about watch apps.
What the pebble does support is the usage of True Type Fonts (TTF - http://en.wikipedia.org/wiki/TrueType). The pebble itself comes with some basic fonts and sizes built into the rom (https://developer.getpebble.com/blog/2013/07/24/Using-Pebble-System-Fonts/). You also have the option to add your own custom fonts at the cost of rom location in your app (http://developer.getpebble.com/sdkref/group___fonts.html).

Solution

Once I found this, the rest is as they say history. All I had to do is to use a Hebrew Font, say David, and decide on the font size that I want. I could then display any graphics that I wanted to, and when adding text I needed to use the TTF that I added to my watch. The only disadvantage is that since the pebble does not support RTL you need to write works backwards for it to display correctly.
The pebble has computing capabilities as well, so with a build in math lib, you can easily create a conversion from Gregorian dates to Jewish dates.  Do in addition to a Hebrew clock, you also get the current Hebrew date, and day of the week.

A copy of the watch face I created can be found at:



For the more adventurist people that want to see the code for the pebble have a look at:

More Hebrew watches

Another nice watch that displays in Hebrew words the time can be found at:




A watch that knows how to display the moon phase can be found at:






No comments:

Post a Comment