Pebble’s first smartwatch crowd funding campaign in 2012 raised over 10 million dollars through pledges, with over a million of their smartwatches sold to date.
The Pebble team recently announced their latest upcoming smartwatch – the Pebble Time. The Pebble Time is a color e-paper smartwatch with a new chronologically focused timeline interface, an animated UI, microphone, a smart accessory port and more. A new generation of Pebble Smartwatch brings with it an updated API and lots of exciting potential.
As of February 2014, the Pebble app store had over 1,000 applications developed using Pebble’s free software development kit. Now, the Pebble team are back with their latest venture, the Pebble Time. To date, Pebble Time has over 11 million dollars raised in crowd funding and over 50,000 backers with a month remaining. This makes it likely that their funding will go even higher.
The new 3.0 SDK has been released, so in this article we’ll take a look at what the changes mean for developers, what you can get started with now and what’s on its way. A big thank you to Thomas Sarlandie at Pebble for answering a bunch of questions for this article.
Timeline interface
The new version of the Pebble OS arranges notifications, news, reminders and events in chronological order on a timeline. Rather than searching for and opening an app to check information, you can scroll to the past or future to see what timeline enabled apps have pinned to your timeline.
There will be a web API for the timeline which allows developers to feed all sorts of information onto a user’s watchface – without the need to build a whole Pebble watch app. You’ll be able to add a simple app to allow for configuration options and then build the rest of the functionality with the web API.
Color e-paper display
The Pebble Time will have a display capable of 64 colors. The Pebble SDK will automatically reduce the colors if required but for those eager to be precise, it will be possible to edit your images in your image editor of choice first.
Current apps will gracefully degrade on the watch and new apps will be able to detect if a user is on a black and white or color display and respond accordingly using compile time and runtime APIs. It’ll be as basic as a simple if statement in your code:
#ifdef PBL_COLOR
window_set_background_color(s_main_window, GColorSunsetOrange);
#else
window_set_background_color(s_main_window, GColorBlack);
#endif
Colors will be definable via names like GColorBabyBlueEyes
, GColorIcterine
,GColorRed
andGColorYellow
. You also have access to them via RGB (GColorFromRGB(255, 255, 0)
) and hex (GColorFromHEX(0xFFFF00)
).
New app menu
Your apps will now have a more visual selection process with tiles that can show summary info from the app visible whilst scrolling through. Such as the last song listened to in a music app or the last high score in a game.
New UI components and animation framework
A new powerful animation framework is available in the new Pebble SDK that allows for various animations in your apps. The whole update to the Pebble OS has a very sleek and subtle animation filled design, so it makes sense that the new SDK will allow developers to meet the same standards. New UI components are on their way that match the Pebble design and will include their own animations.
Microphone
Later in the year, we’ll have access to a voice to text API for the new microphone in the Pebble Time. On Android, voice recognition works via Android Wear whilst iOS has been a bit tougher to get going.
At initial launch, the microphone will be mainly used for voice replies. The Pebble Time will be limited to Gmail notifications on iOS, whilst Android will have a greater range, also working with SMS, Hangouts, Facebook Messenger and more. Fingers crossed the voice to text API will include compatibility with both platforms when it is released.
BLE connectivity
The Pebble will have a Bluetooth Low Energy API later in the year for access to BLE-enabled objects. Connecting up the Pebble further into a world of interconnected devices. Heart rate monitors, garage door openers, fitness trackers, bluetooth lightbulbs and more will all be able to connect with the Pebble via Bluetooth.
Full PNG support along with APNG support
We’re currently able to use PNG files in the Pebble SDK but they have to be converted before they are usable. In the new SDK we’ll be able to use PNG files directly, using less of that valuable memory on each Pebble. This is especially exciting for those looking to use lots of remote images from the web – things are going to be much easier.
Animated PNG file support will be available. When I heard about this I was a bit concerned about battery life. Surely playing an animated PNG file will drain that battery! Posing this question to the Pebble team, I was advised against using too many animations at 30 fps. So no super crazy animated watch faces at 30 fps – keep it calm and simple to avoid draining your users’ battery life. Use sparingly.
3D Pebble data will be available
Not only will the Pebble Time have new capabilities for app development but it will be possible to go beyond that and build accessories like straps, covers and docks using available 3D data of the new Pebble. A whole new ecosystem of Pebble accessories will be on its way in no time.
Smart accessory port
Accessories will have more capabilities than just customised pretty straps and covers. The Pebble Time will have a smart accessory port so hardware developers can build sensors and smart straps to extend its hardware capabilities. Want multiple sensors and accessories at once? I’m told there is the potential for it to be electronically chainable. However, developers will need to write a software layer on top to manage collisions.
App limit gone!
Users will no longer have the eight application limit on the new Pebble Time, which means more room for more applications and more chance that your app will be on more watches. Multiple watch faces will still be able to be installed on the watch. It uses caching to store the most recently used apps and watch faces, if it hits the limit (which is quite high, potentially greater than 50), then it subtly pushes the last one out until it is used again.
Larger app size, CPU and resource size allowances
We’ll be getting a jump in app size allowance from an available 24kB for both our code and the heap, to 64kB for the code and heap (with a limit of 32kB for the code itself). The CPU frequency is jumping from 64MHz to 100 MHz and max resource size is increasing from 96kB to 256kB.
JavaScript and the Pebble Time
The PebbleKit JavaScript Framework we know and love for our web API calls and configuration windows will be expanded with a few new functions to support the timeline.
Sadly, the Pebble.js API will need a bit of time to catch up. Due to the Pebble.js API being community driven, it will not be part of the developer preview. However, I’m assured the Pebble team will be working with the community to get it updated as soon as they can.
What should keen Pebble developers do to prepare?
- Read Pebble’s Getting Started guide and their Migration Guide to get a feel for the coding side of what’s new.
- Install the latest SDK from the links provided in the Getting Started guide or get yourself set up in the updated CloudPebble so you can get into some development.
- If you’ve got an existing app, get started by importing it into the updated CloudPebble or SDK, look over the Migration Guide mentioned above and make a few small changes to get your app up to date.
Time to get developing!
The new Pebble Time is not only exciting for us as smartwatch owners with its 7 day battery life, always-on color screen, microphone, thinner and still water resistant design, no eight app limit and more, but it also has a tonne of potential for Pebble developers looking to expand their current Pebble apps and build entirely new ones made possible by the new features. It’s going to be a fantastic year in Pebble dev!