Pebble Time Avalanche Watchface

AvsScreenShot

This is my first published app! It’s a watchface app for the Pebble TIme Smartwatch. A watchface app is an app that is displayed on a Pebble watch when it isn’t doing anything else besides telling the time.

Purpose: I wanted to use some of the knowledge I gained while preparing for the Pebble Rocks Hackathon that I went to in September. The hackathon turned out to be a bust for me, but not using the knowledge I gained felt like a waste.  I’m also a huge Avalanche fan, so I created this watchface.

Solution: I modified the Pebble tutorial for watchfaces, found the exact team colors and team font to create the watchface. I had big ideas about displaying game day information on the watchface, but I had to scale my plans down.

I used the Cloud Pebble IDE and, between that and the Pebble Developer Portal, creating and publishing my app was very easy to do even for a new developer like myself. Great job, Pebble!

Challenges: I had 2 major issues with this project: Finding access to hockey statistics APIs and the Avalanche font.

I wanted to have my watchface show schedule information for the Avalanche. I just wanted the date, time and opponent of the next game and maybe the score of the prior game. it did not seem like a big deal to get this information since it’s on every major website that covers sports, but it turns out it is a big deal. Professional sports APIs are locked down very well and developers have to pay for access to these APIs. This makes a ton of sense considering how much effort it takes to churn out accurate real-time statistics for fast-moving professional sports. My options were to either pay for access to these APIs or create my own API. I chose to move on.

The font I found did not have a colon or a slash included, so the Pebble Time watch did not show these characters. You’d think this would be an obvious issue, but when you install the font on a mature system like Windows, Windows is nice enough to show you basic characters even when they’re not included in the font so I didn’t notice the issue until I installed it in my app. The font had to be modified.

I attempted to use a version of FontForge I found on SourceForge. It would crash every time I tried to use it. Any other font-modification software I found was either costly or it was a WISYWIG-turn-your-handwriting-into-a-font program which is neat, but not what I needed. I cried a little, then enlisted help from a friend, then dropped the project for a while.

FontForge is an open source program and it turns out not all open source repositories of the same name are the same. The REAL FontForge project is found on Github. I was able to use this version to modify the font to my liking and made it work on the watch. Yay!

Outcome: You can find my Avalanche watchface at http://apps.getpebble.com/en_US/application/5635df3f4e6cf645be00003f. If you want to install it on your Pebble Time Smartwatch, just search for “Avalanche” in the watchface store. Show it some love by giving it some hearts in the Pebble store and let me know what you think about the watchface!

Dreams: This project is completed, but not done. Here are some of the ideas I have to make this the beginning of something amazing:

  • Create my own API to keep track of the Avalanche schedule to add gameday info to the watchface.
  • Create an Android companion app that allows users to choose the team they want to display on the watchface and the associated jersey. (ie. “Avalache – Third Jersey” or “New York Islanders – Away Jersey”).