Pebble SDK

We think the ability to create and use apps is one of Pebble’s most exciting features, and we want to make the app experience on Pebble as seamless as possible. So, drawing on our experience with our previous generation inPulse smartwatch, we’re designing Pebble from the ground up with third party apps in mind. inPulse’s SDK has been popular despite a serious limitation: only one app could be installed and used at a time. Not so with Pebble. Pebble will have an application switcher built in, as well as a real-time operating system so that core functionality such as notifications and the music player remote control can remain available even while an app is in use. To support the demands of multiple (and more advanced) applications, Pebble’s ARM Cortex-M3 microcontroller will have 8 times more Flash memory and 12 times more RAM than inPulse.

We’ve also heard app developers’ requests for input mechanisms richer than inPulse’s single button. We are happy to report that Pebble will have four buttons as well as an accelerometer. We’re hoping developers will invent new and creative apps that take advantage of an accelerometer on the wrist - motion tracking during fitness activities and gesture-based user interfaces are both intriguing possibilities.

We want to make sure Pebble apps can easily communicate with smartphone apps as well as the Internet and cloud based services. So we’ll be creating iOS and Android libraries that enable smartphone developers to push data to a companion Pebble app for display on the user’s wrist, as well as allowing Pebble to remotely control smartphone apps. And we’ll allow Pebble to send data (such as a motion log, or recorded times from a stopwatch app) to a web service via Bluetooth and the smartphone’s internet connection. One more feature that we think is especially cool: we’ll provide a web service so that web app developers can send notifications to Pebble without having to write a single line of code for either the smartphone or the watch itself.

Finally, we’ve learned from inPulse that customized and unique watch face designs are a mainstay of smartwatch app development. With Pebble’s beautiful, 144x168 always-on display we anticipate that Pebble owners will be even more interested in personalizing their watch by choosing from a wide variety of faces. To support that demand we’ll make it as easy as possible to turn a drawing into a simple working watch face. And developers interested in creating advanced animations or other unique features will be able to code a watch face from scratch using the same APIs that are used to create Pebble apps. For those moving from inPulse to Pebble, you’ll be pleased to hear that Pebble’s watch face can be changed without affecting the notifications or other core functionality.

One more thing: we are committed to making Pebble app development approachable to as many programmers as possible. Of course this means the Pebble APIs will be simple and easy to use, but we also believe that developers should not have to pay for special tools. So, as with inPulse, Pebble’s app development SDK will be completely free and based on a GCC toolchain.