pebble
  • Tutorials
  • Get the SDK
  • Guides
  • Documentation
  • Examples
  • Community
  • Blog
  • More
Privacy
Cookies
Publish

Guides

  • Table of Contents
  • App Resources
  • Appstore Publishing
  • Best Practices
  • Communication
  • Debugging
  • Design and Interaction
  • Events and Services
  • Graphics and Animations
  • Migrating Older Apps
  • Pebble Packages
  • Pebble Timeline
  • Rocky.js
  • Smartstraps
  • Tools and Resources
  • User Interfaces

Guides Table of Contents

1. App Resources

Information on the many kinds of files that can be used inside Pebble apps.

Animated Images

How to add animated image resources to a project in the APNG format, and display them in your app.

App Assets

A collection of assets for use as resources in Pebble apps.

Converting SVG to PDC

How to create compatible SVG files using Inkscape and Illustrator.

Fonts

How to use built-in system fonts, or add your own font resources to a project.

Images

How to add image resources to a project and display them in your app.

Pebble Draw Command File Format

The binary file format description for Pebble Draw Command Frames, Images and Sequences.

Platform-specific Resources

How to include different resources for different platforms, as well as how to include a resource only on a particular platform.

Raw Data Files

How to add raw data resources to a project and read them in your app.

System Fonts

A complete list of all the system fonts available for use in Pebble projects.

2. Appstore Publishing

How to get your app ready for going live in the Pebble appstore.

Preparing a Submission

How to prepare an app submission for the Pebble appstore.

Publishing an App

How to upload and publish an app in the Pebble appstore.

Appstore Analytics

How to view and use analytics about your app's usage.

Appstore Assets

A collection of downloads to help developers create and improve their appstore listings.

iOS App Whitelisting

Instructions to iOS developers to get their Pebble apps whitelisted.

3. Best Practices

Information to help optimize apps and ensure a good user experience.

Building for Every Pebble

How to write one app compatible with all Pebble smartwatches.

Conserving Battery Life

How to write an app to consume power as efficiently as possible.

Modular App Architecture

How to break up a complex app into smaller pieces for managablilty, modularity and reusability.

4. Communication

How to talk to the phone via PebbleKit with JavaScript and on Android or iOS.

Advanced Communication

Details of communication tips and best practices for more advanced scenarios.

Datalogging

Information on how to collect data batches using the Datalogging API.

PebbleKit Android

How to use PebbleKit to communicate with a watchapp on Android.

PebbleKit JS

How to use PebbleKit JS to communicate with the connected phone's JS environment.

PebbleKit iOS

How to use PebbleKit to communicate with a watchapp on iOS.

Sending and Receiving Data

How to send and receive data between your watchapp and phone.

Sports API

How to use the PebbleKit Sports API to integrate your mobile sports app with Pebble.

5. Debugging

How to find and fix common compilation and runtime problems in apps.

Common Runtime Errors

Examples of commonly encountered runtime problems that cannot be detected at compile time and can usually be fixed by logical thought and experimentation.

Common Syntax Errors

Details of common problems encountered when writing C apps for Pebble, and how to resolve them.

Debugging with App Logs

How to use the app logs to debug problems with an app, as well as tips on interpreting common run time errors.

Debugging with GDB

How to use GDB to debug a Pebble app in the emulator.

6. Design and Interaction

Information on creating the best app user experiences and layout designs.

Benefits of Design Guidelines

Learn the main concepts of design guidelines, why they are needed, and how they can help developers.

Core Experience Design

How design guidelines shape the core Pebble app experience.

One Click Actions

Details about how to create One Click Action watchapps

Recommended Guidelines and Patterns

Pebble's recommended guidelines for creating awesome app experiences.

Round App Design

Tips and advice for designing apps that take advantage of the Pebble Time Round display

Example Implementations

Resources and code samples to implement common design and UI patterns.

7. Events and Services

How to get data from the onboard sensors and services including the accelerometer, compass, and microphone.

Accelerometer

How to use data and simple tap gestures from the onboard accelerometer.

Background Worker

Using the Background Worker to do work in the background, such as activity tracking.

Buttons

How to react to button presses in your app.

Compass

How to use data from the Compass API to determine direction.

Dictation

How to use the Dictation API to get voice-to-text input in watchapps.

Event Services

How to use the various asynchronous event services to power app features.

Heart Rate Monitor

Information on using the HealthService API to obtain information from the Heart Rate Monitor.

Pebble Health

Information on using the HealthService API to incorporate multiple types of health data into your apps.

Persistent Storage

Using persistent storage to improve your app's UX.

Wakeups

Using the Wakeup API to launch an app at some future time.

8. Graphics and Animations

Information on using animations and drawing shapes, text, and images, as well as more advanced techniques.

Animations

How to use Animations and Timers to add life to your app.

Drawing Primitives, Images and Text

How to draw primitive shapes, image, and text onto the Graphics Context.

Framebuffer Graphics

How to perform advanced drawing using direct framebuffer access.

Vector Graphics

How to draw simple images using vector images, instead of bitmaps.

9. Migrating Older Apps

Information useful for updating old code from older apps to use newer SDKs.

PebbleKit iOS 3.0 Migration Guide

How to migrate apps that use PebbleKit iOS to the 3.0 version.

SDK 2.x Migration Guide

Migrating Pebble apps from SDK 1.x to SDK 2.x.

SDK 3.x Migration Guide

Migrating Pebble apps from SDK 2.x to SDK 3.x.

SDK 3.x on Aplite Migration Guide

How to migrate apps that use SDK 2.x on Aplite to SDK 3.x

SDK 4.x Migration Guide

Migrating Pebble apps from SDK 3.x to SDK 4.x.

10. Pebble Packages

How to create and use Pebble Packages

Creating Pebble Packages

How to create Pebble Packages

Using Pebble Packages

How to use Pebble Packages

11. Pebble Timeline

How to use Pebble timeline to bring timely information to app users outside the app itself via web services.

Creating Pins

How to create timeline pins with reminders, actions, and layouts.

Libraries for Pushing Pins

A list of libraries available for interacting with the Pebble timeline.

Managing Subscriptions

How to integrate the timeline into apps with the PebbleKit JS subscriptions API according to user preferences.

Public Web API

How to push Pebble timeline data to an app's users using the public web API.

Service Architecture

Find out what the timeline is, how it works and how developers can take advantage of it in their apps.

12. Rocky.js

Information on creating apps with JavaScript using Rocky.js

Rocky.js Overview

Details of Rocky.js projects, available APIs, limitations, and how to get started.

13. Smartstraps

Information on creating and talking to smartstraps.

Hardware Specification

Details of how to build smartstrap hardware, including 3D printing instructions and electrical characteristics.

Protocol Specification

Reference information on the Pebble smartstrap protocol.

Talking To Pebble

Information on how to implement the smartstrap protocol to talk to the Pebble accessory port.

Talking To Smartstraps

Information on how to use the Pebble C API to talk to a connected smartstrap.

14. Tools and Resources

Information on all the software tools available when writing Pebble apps, as well as other resources.

App Metadata

Details of the metadata that describes the app, such as its name, resources and capabilities.

CloudPebble

How to use CloudPebble to create apps with no installation required.

Color Picker Tool

Preview all the colors available on Pebble with the associated SDK contants and HTML codes.

Command Line Tool

How to use the Pebble command line tool to build, debug, and emulate apps.

Developer Connection

How to enable and use the Pebble Developer Connection to install and debug apps directly from a computer.

Hardware Information

Details of the the capabilities of the various Pebble hardware platforms.

Internationalization

How to localize an app to multiple languages.

15. User Interfaces

How to build effective user interfaces. Includes information on events, persistent storage, background worker, wakeups and app configuration.

App Configuration

How to allow users to customize an app with a configuration page.

App Exit Reason

Details on how to use the AppExitReason API

AppGlance C API

How to programatically update an app's app glance.

AppGlance REST API

How to update an app's app glance using the REST API.

AppGlance in PebbleKit JS

How to update an app's glance using PebbleKit JS.

Content Size

Details on how to use the ContentSize API to adapt your watchface layout based on user text size preferences.

Layers

How to use standard Layer components to build an app's UI.

Round App UI

Details on how to use the Pebble SDK to create layouts specifically for round displays.

Unobstructed Area

Details on how to use the UnobstructedArea API to adapt your watchface layout when the screen is partially obstructed by a system overlay.

Overview

  • App Resources
  • Appstore Publishing
  • Best Practices
  • Communication
  • Debugging
  • Design and Interaction
  • Events and Services
  • Graphics and Animations
  • Migrating Older Apps
  • Pebble Packages
  • Pebble Timeline
  • Rocky.js
  • Smartstraps
  • Tools and Resources
  • User Interfaces