How a Hacker is Helping Build Pebble’s Smart Watch Platform

Building a platform is hard and not everyone can succeed at it. Of the recent hardware companies to get off the ground, Pebble is one of the few that has come through on its promise to create a platform. And although it is early, they are finding initial traction with a rumored 600 different apps being worked on by developers.

We had the opportunity to catch up with Huy Tran, a fellow hacker who did such an amazing job with the original Pebble SDK that Pebble decided to hire him! Still a student looking to complete his CS degree at UCLA, Huy likes to think of himself as an aspiring game developer who enjoys doing graphics on the side.

Q: What originally inspired you about the Pebble API?
It was always in the back of my mind that Pebble had an SDK when I first backed the project on Kickstarter. The idea that I could write an app or even a game for what seemed like a tiny handheld with a reasonable screen was intriguing. There were even times I’d hit Google to check if anyone found out more details about the SDK, such as what language the watch apps would have to be in.

Q: What was the first app you built for your Pebble?
The first app would be Droptype, it’s a mix of the puzzle games I’ve played. It wasn’t entirely simple making it because it was my first Pebble app, but I took my time in order to get to know just what the SDK allowed me to do. It’s true that the SDK wasn’t very forgiving at first because it lacked the online documentation that it has now, but the API was well thought out enough that mostly everything functioned just as I thought it would. There was only one thing that tripped me up though, and that was firing a timer with a wait time of zero. This would cause a crash, but you normally don’t need to do that anyway.

However, what really set me back was the app size limit which is set at 24KB. The initial SDK also had some issues removing unused code, so anything you wrote would have 9KB attached to it immediately meaing you actually only had 15KB to work with. I remember that many of us Pebble app developers had to post to our users that new features had to wait until we figured out how to refactor our code until it did the same thing except with a smaller binary size. PebbleKit v1.1 however has since fixed the unused code issue, so you now you truly have 24KB, and that doesn’t include art assets. Considering that PebbleKit v1.1 came with two-way communication and documentation, it was a very good release.

Q: Explain to our readers how you went from a hacker on Pebble to an employee?!
I have to say it’s a funny story I probably won’t be forgetting soon! I remember checking my email and seeing “Pebble 1 Year Anniversary Fiesta.” I thought to myself “I have to go” and messaged a friend right away about it. We went and eventually met Eric after he gave the history of Pebble. At some point Eric turned to me and asked, “So have you developed anything on Pebble?” I’m not sure what prompted the question — maybe he sensed that I was carrying a laptop in my bag — but I responded, “Yeah, I made a game,” and went on to show him. “You made that game?” he exclaimed, and revealed that he currently had it installed on his watch!

A long story short, but I came to help them fix bugs in their SDK and after spending the day with the developers they invited me to come in and start hacking. And now I’m full time at Pebble. Pretty exciting!

Q: What are the challenges in building a developer platform and how is Pebble approaching it?
I believe one of the challenges is making sure that what we ship next is exactly what the developers need. Pebble was afraid of what the developer response was towards the first SDK, but they made the right decision in my opinion because the forums suddenly became a beaming community of happy developers and users trying out the apps after release. However, the SDK was indeed lacking, and If you make a risky move such as releasing a small SDK, you should quickly release an update that incorporates feedback you obtained from the previous release, and that’s just what they did.

Now we just need to make sure we keep doing this, and the platform should eventually grow. I think what we have planned will cover more than enough use cases developers have in mind, so our challenge is more about deciding what use cases to target first and having enough people working on the associated systems to be able to release it quick enough for everyone to try out! Communication is also definitely an important factor and I’m actually working on setting up a techblog for the Pebble Team to start writing for the developer community. We also have an awesome SDK Guy, Philip, that regularly responds to developers on the official forums.

Q: How many developers are on the platform and how many apps have they launched?
There are quite a few developers. I can’t count how many are making watchfaces, but I know that there are a few app developers that are each churning out apps that are impressive. Gavin Maxwell for example looks like he’s out on a quest to remake every retro or handheld game on the Pebble. Jonathan Panttaja created MiniDungeon which is an RPG in the form factor of a watch. One developer even made a watchface generator. You can get a good idea of what’s out there by visiting My Pebble Faces.

Q: When do you expect developers to start charging for their apps?
I think developers haven’t been charging for their apps currently because there’s no feasible solution right now. There are quite a few developers sporting Paypal and Bitcoin addresses for donations at the moment. From what I remember, the Pebble Team has given many hints that there will be something like an app store for Pebble.

Q: If a developer builds an app, how can Pebble users find it? Today it’s hard.
It definitely is hard! I went through the trouble of making little info pages complete with a tweet button, but the metrics are horrid — trust me. I’m quite confident no one pressed the tweet buttons.

Right now, the two main ways to release an app is to post in the official watchapp directory or use a third party website such as My Pebble Faces. It’s a well-made site, but I’m unsure if all Pebble users are even aware that it exists. There might be people out there wearing the Pebble watch that only check the few apps available through the phone. This is both good and bad. With this arrangement, only the few that truly want something new on the Pebble will go through the trouble of finding the avenues to try something and sort of understand that they’re going through unknown territory. The others can wait it out and once everything is in place, they’ll have access to great apps right on their phone through the official Pebble phone apps.

Q: Before you go, what is your favorite Pebble app?
I transitioned from working on Pebble apps all day to working at Pebble all day, so I’ve had little time to check out what’s out there, but before there was any SDK, I enjoyed the built-in Music app the most. People are always impressed by how you’re able to command your phone to start playing music from a distance via your watch. It’s especially useful when you’re driving a car without bluetooth music controls on the wheel.

Thanks for reading. If you liked this post, please share it!
Please share your thoughts here.
  1. iGavMax says:

    I got a mention.. nice! :)