Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Roadmap

Steve Penna edited this page Sep 17, 2025 · 1 revision

Welcome to libpebble3!

"Roadmap" might be overpromising, but we wanted to let everyone know where we are, and where we would like libpebble3 to be in an ideal future world.

This won't always be up-to-the-minute but we'll try to keep it broadly update-to-date.

What does libpebble3 do?

  • It finds & connects to any (original or Core Devices - or indeed any other) Pebble watch, and communicates with it over Pebble Protocol.
  • It handles everything that a Pebble app would be expected to do (e.g. handle timeline/calendar sync, install apps and manage the locker, all BlobDb sync operations, update firmware, run JsKit apps' companion javascript code, do the basics like time sync, manage phone calls/music/notifications on android (the watch does this directly with the phone on iOS), manage PebbleKit Android, collect health data from the watch, etc, etc.
  • Anything that a Pebble companion app needs to do to work, which doesn't require a web service, libpebble3 aims to do.

So what doesn't it do?

  • Have a UI. libpebble3 exposes APIs which the "host" app can use to display a UI.
  • Connect to any web services. libpebble3 provides an API which the host app can implement to e.g. load a user's locker.
  • Handle voice processing. This could be done locally, but also could be done in the cloud - the host app should handle this.
  • Manage granting permissions on any platform (the host app needs to manage this).

Where are we now?

We (Core Devices) are building the Pebble app for iOS and Android using libpebble3. We are building out libpebble3 alongside it, adding features as we need them. It is not yet feature-complete, but it works pretty reliably for what is supported.

Some known missing core Pebble features:

  • Language pack support
  • Remote Timeline Support
  • Health support
  • Bluetooth classic support for older watches
  • Calendar pins don't have any actions, yet (and calendar invites don't generate notifications, yet)
  • Weather pin support. When this is added, the host app will need to provide weather data from a web service.
  • PebbleKit Android

We plan to add these features over the coming weeks.

What is the state of the library?

In short, not ready for public consumption unless you know what you are doing, and are OK digging around a messy codebase to figure out how things work.

  • There is no example host app, so you'll need to create one to be able to test libpebble3 with a watch.
  • The code isn't terrible, but isn't well organized.
  • There aren't enough tests.

What is our goal for the state of the library?

  • Create a simple host app (very bare-bones) for iOS/Android, to enable devleopment on the library.
  • Modularize the library (it is currently mostly in one module):
    • Create an API module containing anything which host apps should interact with.
    • Create several implementation modules for different categories of features e.g. notifications, blobdb, connectivity + if we support more platforms, then some of them may not do everything that mobile apps do, so we would separate out functionality.
  • Add support for more platforms (e.g. browser, desktop).
  • Add integration tests which exercise the entire library.

Specifics:

  • Remove the JVM source tree? We dont really use it, and it's a pain adding every expect to jvm.
  • Clean up the multiplatform gradle code
  • ...

How does it work / how do I use it in my host app?

TODO!