Import the pebble dev site into devsite/

This commit is contained in:
Katharine Berry 2025-02-17 17:02:33 -08:00
parent 3b92768480
commit 527858cf4c
1359 changed files with 265431 additions and 0 deletions

View file

@ -0,0 +1,78 @@
# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# This is a list of all of the Pebble blog authors.
# If you're writing a blog post for the first time, add an entry for yourself!
alex:
name: Alex Lin
alexey:
name: Alexey Komissarouk
photo: https://avatars1.githubusercontent.com/u/268126?v=1&s=100
brad:
name: Brad Murray
photo: https://avatars2.githubusercontent.com/u/33967?v=3&s=100
cat:
name: Cat Haines
photo: https://avatars1.githubusercontent.com/u/1187089?v=3&s=100
cherie:
name: Cherie Williams
photo: https://avatars1.githubusercontent.com/u/318582?v=1&s=100
job: Developer Evangelist
chrislewis:
name: Chris Lewis
photo: https://avatars3.githubusercontent.com/u/5732010?v=3&s=100
jonb:
name: Jon Barlow
photo: https://avatars0.githubusercontent.com/u/876597?v=3&s=100
meiguro:
name: Meiguro
photo: https://avatars2.githubusercontent.com/u/4428900?v=3&s=100
katharine:
name: Katharine Berry
photo: https://avatars1.githubusercontent.com/u/110792?v=3&s=100
katherine:
name: Katherine McAuliffe
photo: https://avatars1.githubusercontent.com/u/8052313?v=3&s=100
keegan:
name: Keegan Lillo
photo: https://avatars1.githubusercontent.com/u/3537963?v=3&s=100
kirby:
name: Kirby Kohlmorgen
photo: https://avatars1.githubusercontent.com/u/1156201?v=3&s=100
pebble:
name: Team Pebble
photo: https://avatars0.githubusercontent.com/u/1048268?v=1&s=100
rperryng:
name: Ryan Perry-Nguyen
photo: https://avatars3.githubusercontent.com/u/6402435?v=3&s=100
ryan:
name: Ryan Case
thomas:
name: Thomas Sarlandie
photo: https://avatars1.githubusercontent.com/u/779005?v=3&s=100
tom:
name: Tom Maremaa
niharika:
name: Niharika Bedekar
lukasz:
name: Łukasz Zalewski
photo: https://avatars3.githubusercontent.com/u/4211799?v=3&s=100
# To fix in posts:
# Chris Lewis
# team pebble
# cherie & thomas
# Matt Clark (SetPebble)
# tom@getpebble.com

View file

@ -0,0 +1,20 @@
# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
c: PebbleSDK-4.3_docs.zip
# c_preview: PebbleSDK-4.2-beta4_docs.zip
pebblekit_ios: pebblekit_ios_4.0.0.zip
pebblekit_android: pebblekit_android_4.0.1.zip
pebblekit_js: jsdocs-pkjs
rocky_js: jsdocs-rocky

View file

@ -0,0 +1,46 @@
# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
- config: url
env: URL
- config: https_url
env: HTTPS_URL
- config: baseurl
env: BASEURL
- config: asset_path
env: ASSET_PATH
- config: external_server
env: EXTERNAL_SERVER
- config: algolia_app_id
env: ALGOLIA_APP_ID
- config: algolia_api_key
env: ALGOLIA_API_KEY
- config: algolia_search_key
env: ALGOLIA_SEARCH_KEY
- config: algolia_prefix
env: ALGOLIA_PREFIX
- config: docs_url
env: DOCS_URL
- config: google_analytics
env: GOOGLE_ANALYTICS
- config: debug
env: DEBUG
- config: sdk_bucket
env: SDK_BUCKET
- config: rollbar_client_token
env: ROLLBAR_CLIENT_TOKEN
- config: rack_env
env: RACK_ENV
- config: skip_docs
env: SKIP_DOCS

View file

@ -0,0 +1,134 @@
# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
upcoming:
- date: November 7-8th
month: November 2014
name: Toyota Hackathon in Redwood City, CA
url: http://www.eventbrite.com/e/toyota-itc-connected-vehicle-hackathon-tickets-13303967525?aff=zvents
items:
- "Up to 5 Pebbles as prize for team with: Best use of Pebble API"
- $50 refurbished Pebbles for developers to purchase
- Mentors on-site throughout the event
- date: November 7-9th
month: November 2014
name: HackATL in Atlanta, GA
url: http://hackatl.org/
items:
- Up to 10 Pebbles given to those who make Pebble hacks!
- Limited loaner Pebbles available at the event to develop on
- date: November 8-9th
month: November 2014
name: UnituHack in London, England
url: http://unituhack.com
items:
- "Up to 5 Pebbles as prize for team with: Best use of Pebble API"
- Limited loaner Pebbles available at the event to develop on
- $50 refurbished Pebbles for developers to purchase
- Mentors on-site throughout the event
- date: November 15-16th
month: November 2014
name: Hack Shanghai in Shanghai, China
url: http://www.hackshanghai.com/
items:
- "5 Pebbles as prize for team with: Best use of Pebble API"
- 11 Pebbles as prize for various prize tiers
past:
- date: October 11-12th
month: October 2014
name: HackRU in New Brunswick, NJ
url: http://www.hackru.org/
items:
- "Mystery # of Pebbles for team with: Best use of Pebble API"
- $75 refurbished Pebbles for developers to purchase
- Loaner Pebbles available through the MLH Hardware Lab at the event
- Pebble API Workshop
- Mentors on-site throughout the event
- T-shirts, stickers, other swag
- date: October 17-19th
month: October 2014
name: BoilerMake in West Lafayette, IN
url: http://www.boilermake.org/
items:
- "Up to 4 Pebble Steels as prize for team with: Best use of Pebble API"
- $4500 in Pebbles as various prizes
- $50 refurbished Pebbles for developers to purchase
- $80 new Pebbles for purchase
- Loaner Pebbles available through the MLH Hardware Lab at the event
- 30 min Pebble API Workshop
- Mentors on-site throughout the event
- Stickers at table
- date: October 17-18th
month: October 2014
name: DubHacks in Seattle, WA
url: http://dubhacks.co/
items:
- 5 Pebbles as a prize
- Loaner Pebbles available through the MLH Hardware Lab at the event
- Remote Pebble support
- date: October 19-21st
month: October 2014
name: Modev Wearables + Things in Washington, DC
url: http://wnt2014.gomodev.com/
items:
- Hackathon + Conference presence
- 10 Pebbles as prize at hackathon
- $50 refurbished Pebbles for developers to purchase
- 30 min Pebble API Workshop on Oct 20th
- Mentor on-site throughout the event
- date: October 20-21st
month: October 2014
name: Internet of Things Conference in San Francisco, CA
url: http://iotaconf.com/index.html
items:
- $80 new Pebbles (all colors) for sale
- $180 gift box Pebble Steels (black/steel) for sale
- 30 min presentation on advanced graphics
- Stickers and other swag available
- Team Pebble on site to answer questions
- date: October 25-26th
month: October 2014
name: TeenHacks in Fullerton, CA
url: http://teenhacks.org/
items:
- 4 Pebbles as a prize
- Remote Pebble support
- Stickers available
- date: October 30th
month: October 2014
name: The Perfect Trip DevCon 2014 in San Francisco, CA
url: https://developer.concur.com/devcon/PerfectTripFundAwards
items:
- 8 Pebbles as a prize
- Remote Pebble support
- Stickers available
- date: November 5th
month: November 2014
name: Toyota Pre-Hack Meetup in Redwood City, CA
url: http://www.eventbrite.com/e/nestgsv-connected-vehicle-meetup-tickets-13838032929?aff=NestGSV
items:
- $50 refurbished Pebbles for developers to purchase
- Pebble API Demo
- Mentors on-site throughout the event

View file

@ -0,0 +1,458 @@
# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
- title: Pebble Faces
repo: pebble-examples/pebble-faces
languages:
- c
- js
hardware_platforms:
- aplite
- basalt
screenshot: https://raw.githubusercontent.com/pebble-examples/pebble-faces/11305757db5fa9ce5e448aa0ba4e7beb8a38b020/screenshots/screenshot.png
screenshot_platform: aplite
description: |
This Pebble application downloads, de-compresses and displays PNG images
from the Internet.
featured: true
tags:
- Images
- title: Weather Cards Example
repo: pebble-examples/cards-example
languages:
- c
hardware_platforms:
- basalt
screenshot: https://raw.githubusercontent.com/pebble-examples/cards-example/master/screenshots/screenshot1.gif
screenshot_platform: basalt
description: |
This example shows how to implement a cards based weather app, demonstrating the Pebble Draw Commands API, which allows you to draw and animate vector graphics.
featured: true
tags:
- Graphics
- Color
- title: KS Clock Face
repo: pebble-examples/ks-clock-face
languages:
- c
hardware_platforms:
- basalt
screenshot_platform: basalt
screenshot: https://raw.githubusercontent.com/pebble-examples/ks-clock-face/master/screenshots/screenshot-color.png
description: |
Animated color Pebble watchface from the Pebble Time Kickstarter video.
Expands from a dot, sweeping the clock arms as it does so.
tags:
- Color
- Animation
- title: Concentricity
repo: pebble-examples/concentricity
languages:
- c
hardware_platforms:
- chalk
- basalt
- aplite
featured: true
screenshot_platform: chalk
screenshot: https://raw.githubusercontent.com/pebble-examples/concentricity/master/screenshots/concentricity~chalk.png
description: |
Example watchface for aplite, basalt and chalk showing the hours, minutes and seconds with
concentric rings around the center of the display.
tags:
- Graphics
- Color
- Watchface
- title: Time Dots
repo: pebble-examples/time-dots
languages:
- c
hardware_platforms:
- chalk
featured: true
screenshot_platform: chalk
screenshot: https://raw.githubusercontent.com/pebble-examples/time-dots/master/screenshot.png
description: |
Example watchface for Pebble Time Round showing the hours and minutes as a
bar and dots.
tags:
- Color
- title: ContentIndicator Demo
repo: pebble-examples/content-indicator-demo
languages:
- c
hardware_platforms:
- chalk
featured: true
screenshot_platform: chalk
screenshot: https://raw.githubusercontent.com/pebble-examples/content-indicator-demo/master/screenshot.png
description: |
Example watchapp showing use of the ContentIndicator UI component.
tags:
- Color
- title: owm-weather
repo: pebble-hacks/owm-weather
languages:
- c
- js
hardware_platforms:
- aplite
- basalt
- chalk
featured: true
screenshot_platform: basalt
screenshot: https://raw.githubusercontent.com/pebble-hacks/owm-weather/master/screenshots/basalt.png
no_cloudpebble: true
description: |
Library for easy fetching of weather data from OpenWeatherMap.org. Includes
a simple test app as a proof of concept usage of a weather C API.
tags:
- Color
- Libraries
- Watchface
- PebbleKit
- title: Tricorder
repo: pebble-examples/tricorder
no_cloudpebble: true
languages:
- c
- java
- objective-c
hardware_platforms:
- basalt
screenshot_platform: basalt
screenshot: https://raw.githubusercontent.com/pebble-examples/tricorder/72e677141285b3ac2bf4659d6e88ba9c61dc500b/screenshot.png
description: |
Datalogging example app that communicates with PebbleKit Android and iOS
companion apps. Records many different stats such as connection state,
battery level, etc.
featured: true
tags:
- Color
- Datalogging
- PebbleKit
- title: Block World
repo: pebble-hacks/block-world
languages:
- c
hardware_platforms:
- basalt
screenshot_platform: basalt
screenshot: https://github.com/pebble-hacks/block-world/raw/master/screenshots/screenshot.png
description: |
Simple 'block-builder' game for Pebble SDK 3.0. Uses modified PGE and
isometric libraries to show a grid of 16 x 16 x 14 blocks that can be placed
by the user.
featured: true
tags:
- Color
- Graphics
- Animation
- Game
- title: Pandas and Bananas
repo: pebble-hacks/pandas-and-bananas
languages:
- c
hardware_platforms:
- basalt
screenshot_platform: basalt
screenshot: https://github.com/pebble-hacks/pandas-and-bananas/raw/master/screenshots/screenshot.png
description: |
Color game for Pebble SDK 3.0 that sees the user controlling a panda via
accelerometer tilting or buttons to catch fruit and avoid bombs.
featured: true
tags:
- Color
- Graphics
- Animation
- Game
- title: GBitmapSequence Example
repo: pebble-hacks/gbitmap-sequence-example
languages:
- c
hardware_platforms:
- basalt
screenshot_platform: basalt
screenshot: https://github.com/pebble-hacks/gbitmap-sequence-example/raw/master/screenshots/gbitmap-sequence.gif
description: |
Example app showing the usage of the GBItmapSequence API in Pebble SDK 3.0.
tags:
- Color
- Graphics
- Animation
- title: Isotime
repo: pebble-hacks/isotime
languages:
- c
hardware_platforms:
- basalt
screenshot_platform: basalt
screenshot: https://github.com/pebble-hacks/isotime/raw/master/screenshots/screenshot.png
description: |
Color watchface for Pebble SDK 3.0. Uses PGE plus PGE Isometric libraries to
show the time on digits built with individual segments. Staggered animation
of segments that change each minute. Sleeps completely between animations.
tags:
- Color
- Graphics
- Animation
- Watchface
- title: PDC Image
repo: pebble-examples/pdc-image
languages:
- c
hardware_platforms:
- basalt
screenshot_platform: basalt
screenshot: https://raw.githubusercontent.com/pebble-examples/pdc-image/master/screenshots/screenshot.png
description: |
A simple example Pebble project demonstrating how to use the Draw Commands
API to load and display a vector file in the Pebble Drawing Commands format.
tags:
- Graphics
- Images
- title: PebbleKit JS Weather
repo: pebble-examples/pebblekit-js-weather
languages:
- c
- js
hardware_platforms:
- aplite
- basalt
screenshot_platform: aplite
screenshot: https://raw.githubusercontent.com/pebble-examples/pebblekit-js-weather/master/weather-screenshot~bw.png
description: |
This watchapp uses PebbleKit JS to fetch weather data from the
openweathermap.org and display it on the watch. It uses the location
provided by the phone to look up the nearest location, and sends temperature
data along with that location's name. A weather icon is also displayed.
featured: true
- title: Hello Timeline
repo: pebble-examples/hello-timeline
no_cloudpebble: true
languages:
- c
- js
hardware_platforms:
- basalt
screenshot_platform: basalt
screenshot: https://raw.githubusercontent.com/pebble-examples/hello-timeline/master/screenshots/screenshot.png
description: |
This example app shows how to use the Pebble timeline API with user tokens.
featured: true
tags:
- Timeline
- title: Timeline TV Tracker
repo: pebble-examples/timeline-tv-tracker
no_cloudpebble: true
languages:
- c
- js
hardware_platforms:
- basalt
screenshot_platform: basalt
screenshot: https://raw.githubusercontent.com/pebble-examples/timeline-tv-tracker/master/pebble/screenshots/screenshot1.png
description: |
This example demonstrates the usage of topics and shared pins in the Pebble
timeline API.
featured: true
tags:
- Timeline
- title: UI Patterns
repo: pebble-examples/ui-patterns
languages:
- c
hardware_platforms:
- basalt
screenshot_platform: basalt
screenshot: https://raw.githubusercontent.com/pebble-examples/ui-patterns/master/screenshots/dialog-choice.png
description: |
Example project showing implementations of recommended Pebble UI design
patterns.
featured: true
tags:
- Design
- Images
- title: Font Browser
repo: pebble-examples/app-font-browser
languages:
- c
hardware_platforms:
- aplite
- basalt
screenshot_platform: aplite
screenshot: https://raw.githubusercontent.com/pebble-examples/app-font-browser/master/app-font-browser-screenshot.png
description: |
This example show how to load and display all the Pebble built-in system
fonts. It also uses the Clicks API to allow the user to cycle through each
font in both directions.
tags:
- Fonts
- title: Tea Timer
repo: pebble-examples/feature-app-wakeup
languages:
- c
hardware_platforms:
- aplite
- basalt
screenshot_platform: aplite
screenshot: https://raw.githubusercontent.com/pebble-examples/feature-app-wakeup/master/feature-app-wakeup-screenshot.png
description: |
This example shows how the Wakeup API works.
tags:
- Wakeup
- title: Timeline Push Pin
repo: pebble-examples/timeline-push-pin
no_cloudpebble: true
languages:
- c
- js
hardware_platforms:
- basalt
screenshot_platform: basalt
screenshot: https://raw.githubusercontent.com/pebble-examples/timeline-push-pin/master/screenshots/screenshot1.png
description: |
This is a Pebble SDK 3.0 example app that demonstrates how an app can use
PebbleKit JS to push a pin to itself through the public timeline API. It
includes a segment of JS code (marked 'timeline lib') that can be re-used in
any Pebble app that needs to push pins to its user.
featured: true
tags:
- Timeline
- title: Simple Analog
repo: pebble-examples/simple-analog
languages:
- c
hardware_platforms:
- aplite
- basalt
screenshot_platform: aplite
screenshot: https://raw.githubusercontent.com/pebble-examples/simple-analog/master/simple-analog-screenshot.png
description: |
Example analog watchface that uses hands instead of numbers.
featured: true
tags:
- Watchface
- Analog
- title: Classio Battery Connection
repo: pebble-examples/classio-battery-connection
languages:
- c
hardware_platforms:
- aplite
- basalt
screenshot_platform: aplite
screenshot: https://raw.githubusercontent.com/pebble-examples/classio-battery-connection/master/classio-battery-connection-screenshot.png
description: |
Example watchface showing the time, including seconds. This version also
displays the battery level and status of the Bluetooth connection.
tags:
- Watchface
- Battery Service
- Bluetooth Service
- title: Persist Counter
repo: pebble-examples/feature-persist-counter
languages:
- c
hardware_platforms:
- aplite
- basalt
screenshot_platform: aplite
screenshot: https://raw.githubusercontent.com/pebble-examples/feature-persist-counter/master/feature-persist-counter-screenshot.png
description: |
This example shows how to use the Persistent Storage API.
tags:
- Persistent Storage
- ActionBarLayer
- title: Menu Layer
repo: pebble-examples/feature-menu-layer
languages:
- c
hardware_platforms:
- aplite
- basalt
screenshot_platform: aplite
screenshot: https://raw.githubusercontent.com/pebble-examples/feature-menu-layer/master/feature-menu-layer-screenshot.png
description: |
This example shows how to use the MenuLayer.
tags:
- MenuLayer
- title: Transparent Images
repo: pebble-examples/feature-image-transparent
languages:
- c
hardware_platforms:
- aplite
- basalt
screenshot_platform: aplite
screenshot: https://raw.githubusercontent.com/pebble-examples/feature-image-transparent/master/feature-image-transparent-screenshot.png
description: |
This example demonstrates how to display an image with black, white and
transparent sections.
tags:
- Images
- title: Frame Buffer
repo: pebble-examples/feature-frame-buffer
languages:
- c
hardware_platforms:
- aplite
- basalt
screenshot_platform: aplite
screenshot: https://raw.githubusercontent.com/pebble-examples/feature-frame-buffer/master/feature-frame-buffer-screenshot.png
description: |
This example shows how to capture and manipulate the frame buffer.
tags:
- Graphics
- Frame Buffer
- title: Custom Font
repo: pebble-examples/feature-custom-font
languages:
- c
hardware_platforms:
- aplite
- basalt
screenshot_platform: aplite
screenshot: https://raw.githubusercontent.com/pebble-examples/feature-custom-font/master/feature-custom-font-screenshot.png
description: |
This example shows how to use a custom font.
tags:
- Fonts
- title: Background Counter
repo: pebble-examples/feature-background-counter
languages:
- c
hardware_platforms:
- aplite
- basalt
screenshot_platform: aplite
screenshot: https://raw.githubusercontent.com/pebble-examples/feature-background-counter/master/feature-background-counter-screenshot.png
description: |
This example shows how to use the Worker API (background worker).
tags:
- Background Worker
- title: Accel Discs
repo: pebble-examples/feature-accel-discs
languages:
- c
hardware_platforms:
- aplite
- basalt
screenshot_platform: aplite
screenshot: https://raw.githubusercontent.com/pebble-examples/feature-accel-discs/master/feature-accel-discs-screenshot.png
description: |
This example shows how to use the accelerometer.
tags:
- Accelerometer Service
- Graphics

View file

@ -0,0 +1,102 @@
[
{
"title": "Pebble SDK",
"questions": [
{
"question": "What are the Aplite, Basalt, and Chalk platforms?",
"answer": "These are the platform names we use to describe our different generations of watches. Aplite refers to the original Pebble and Pebble Steel. Basalt refers to Pebble Time. Chalk refers to Pebble Time Round."
},
{
"question": "I cannot find the \"Developer Mode\" or \"Developer Connection\" toggle in the iOS or Android application",
"answer": "Please make sure you have updated your mobile applications to at least 2.0. On iOS, you first need to enable Developer Mode in the global _Settings_ application on the phone. On Android, this can be enabled from the navigation drawer."
},
{
"question": "`pebble` tool error: 'RuntimeError: Freetype library not found'",
"answer": "Please install the freetype library on your computer: \n\n* Mac OS users can use the [homebrew](http://brew.sh/) packaging system and run `brew install freetype`.\n\n* Linux users should not have to do anything."
},
{
"question": "How do I save the state between app invocations, for example, if I want to store user selections etc and persist it across app invocations?",
"answer": "Use the [Persistent Storage API](/guides/events-and-services/persistent-storage), or [PebbleKit JS](/guides/communication/using-pebblekit-js) `localStorage`."
},
{
"question": "How do I calculate the total size of a dictionary?",
"answer": "If you have a pointer to a `DictionaryIterator`, you can easily calculate the total size of this dictionary:\n\n```c\nint size = (int)received->end - (int)received->dictionary;\n```"
},
{
"question": "Can I get realtime accelerometer data?",
"answer": "Yes. See [this community blog post (external link)](http://ninedof.wordpress.com/2014/03/28/streaming-pebble-accelerometer-data/) for more information."
}
]
},
{
"title": "App Communication",
"questions": [
{
"question": "App message error: 'The app rejected the update'",
"answer": "This is likely caused by a mismatch between your watch application UUID and the UUID you registered for on the mobile application. Please make sure you use the same UUID on both ends."
}
]
},
{
"title": "Memory Management",
"questions": [
{
"question": "How apps are loaded for execution? For example, are apps always in RAM, or loaded in RAM one at a time when the user starts that specific app?",
"answer": "Apps (code and static variables) are loaded entirely in RAM when they are started. Your resources are only loaded in RAM when you call `resource_load()` or one of the function that calls it (like `fonts_load_custom_font()` or `gbitmap_create_with_resource_id()`). Your app, and all memory it has allocated, will be removed from RAM when it is terminated."
},
{
"question": "What is the maximum code segment size? The data segment size?",
"answer": "All segments share the same memory space. There is no limit on the segment sizes but the global limit of memory available to apps is currently around 24k bytes."
},
{
"question": "Is there a separate Read-Only data segment vs a Read-Write data?",
"answer": "No. For apps, the data segment is all Read-Write."
},
{
"question": "Can one app invoke another app to get around app size limits?",
"answer": "You can use the PebbleKit iOS or Android to launch any application on Pebble."
}
]
},
{
"title": "App Publishing",
"questions": [
{
"question": "My companion app got rejected",
"answer": "It probably hasn't been accepted yet. You will get a confirmation email from pebbledev after it has been submitted to Apple. After this, it will be 2-3 days for it to be officially in the MFi program."
}
],
"hidden-questions": [
{
"question": "When is JS bundling?",
"answer": "Check tweets from @pebbledev and the bundling [forum thread](https://forums.getpebble.com/discussion/12451/pebble-js-bundling-updates)"
},
{
"question": "Why does this app say 'coming soon'?",
"answer": "See 'When is JS bundling?'"
},
{
"question": "I don't want this app to show 'coming soon'",
"answer": "Publish the release, but don't press 'Make Public'. The JS will still be included in the next bundling. Once it has been bundled, make it public."
}
]
},
{
"title": "Hardware Issues",
"questions": [
{
"question": "My screen is artifacting/flashing/ customer support issues",
"answer": "Contact [support@getpebble.com](mailto:support@getpebble.com) for RMA issues."
}
]
},
{
"title": "Pebble SDK 1.x Migration",
"questions": [
{
"question": "In my old app `PBL_APP_INFO` I was setting the flags `APP_INFO_STANDARD_APP | APP_INFO_VISIBILITY_SHOWN_ON_COMMUNICATION`. How do I do that with the new `appinfo.json` file?",
"answer": "You can add another flag to `package.json` under the `\"watchapp\"` block:\n\n```js\n\"watchapp\": {\n \"watchface\": false\n \"onlyShownOnCommunication\": true}\n```"
}
]
}
]

View file

@ -0,0 +1,21 @@
# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
- title: SDK 4.0 Now Available!
url: /sdk4
background_image: /images/landing-page/devblog.jpg
button_text: Find out more
button_fg: white
button_bg: red
duration: 4000

View file

@ -0,0 +1,22 @@
# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
- id: beautiful-apps
title: Create beautiful and engaging apps
- id: interactive-apps
title: Create apps that interact with the world
- id: building-apps
title: Build, refine, and debug apps
- id: publishing-apps
title: Publish and share apps

View file

@ -0,0 +1,106 @@
# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# This is the listing of the various areas of the Guides.
# It is used to build the primary navigation and the Guides.
app-resources:
title: App Resources
description: Information on the many kinds of files that can be used inside Pebble apps.
category: beautiful-apps
sort_by: title
appstore-publishing:
title: Appstore Publishing
description: How to get your app ready for going live in the Pebble appstore.
category: publishing-apps
sort_by: order
best-practices:
title: Best Practices
description: Information to help optimize apps and ensure a good user experience.
category: building-apps
sort_by: title
communication:
title: Communication
description: How to talk to the phone via PebbleKit with JavaScript and on Android or iOS.
category: interactive-apps
sort_by: title
debugging:
title: Debugging
description: How to find and fix common compilation and runtime problems in apps.
category: building-apps
sort_by: title
design-and-interaction:
title: Design and Interaction
description: Information on creating the best app user experiences and layout designs.
category: beautiful-apps
sort_by: order
events-and-services:
title: Events and Services
description: How to get data from the onboard sensors and services including the accelerometer, compass, and microphone.
category: interactive-apps
sort_by: title
graphics-and-animations:
title: Graphics and Animations
description: Information on using animations and drawing shapes, text, and images, as well as more advanced techniques.
category: beautiful-apps
sort_by: title
migration:
title: Migrating Older Apps
description: Information useful for updating old code from older apps to use newer SDKs.
category: publishing-apps
sort_by: title
pebble-packages:
title: Pebble Packages
description: How to create and use Pebble Packages
category: building-apps
sort_by: title
pebble-timeline:
title: Pebble Timeline
description: How to use Pebble timeline to bring timely information to app users outside the app itself via web services.
category: interactive-apps
sort_by: title
rocky-js:
title: Rocky.js
description: Information on creating apps with JavaScript using Rocky.js
category: interactive-apps
sort_by: title
smartstraps:
title: Smartstraps
description: Information on creating and talking to smartstraps.
category: interactive-apps
sort_by: title
tools-and-resources:
title: Tools and Resources
description: Information on all the software tools available when writing Pebble apps, as well as other resources.
category: building-apps
sort_by: title
user-interfaces:
title: User Interfaces
description: How to build effective user interfaces. Includes information on events, persistent storage, background worker, wakeups and app configuration.
category: beautiful-apps
sort_by: title

View file

@ -0,0 +1,53 @@
# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
libs:
- name: jquery
path: /js/libs/jquery-1.11.2.js
- name: moment
path: /js/libs/moment.js
- name: responsive
path: /js/libs/responsive.js
- name: slick
path: /js/libs/slick.js
- name: jquery.fitvids
path: /js/libs/jquery.fitvids.js
- name: jquery.scrollTo
path: /js/libs/jquery.scrollTo.js
- name: jquery.vide
path: /js/libs/jquery.vide.js
- name: handlebars.runtime-v2.0.0
path: /js/libs/handlebars.runtime-v2.0.0.js
- name: utils
path: /js/libs/utils.js
- name: tether
path: /js/libs/tether.js
- name: select
path: /js/libs/select.js
- name: algoliasearch
path: /js/libs/algoliasearch.js
- name: query-string
path: /js/libs/query-string.js
- name: mmenu
path: /js/libs/jquery.mmenu.oncanvas.js
- name: mmenu-offcanvas
path: /js/libs/jquery.mmenu.offcanvas.js
- name: mmenu-footer
path: /js/libs/jquery.mmenu.footer.js
- name: cookies
path: /js/libs/cookies.js
- name: heir
path: /js/libs/heir.js
- name: EventEmitter
path: /js/libs/EventEmitter.js

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,14 @@
# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

View file

@ -0,0 +1,94 @@
# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
- city: San Francisco
group_id: PebbleSF
pin:
latitude: 37.774929
longitude: -122.419416
- city: London
group_id: PebbleLDN
pin:
latitude: 51.507351
longitude: -0.127758
- city: Paris
group_id: PebbleFR
pin:
latitude: 48.86
longitude: 2.34
- city: Ottawa
group_id: PebbleOTT
pin:
latitude: 45.42
longitude: -75.7
- city: Chicago
group_id: PebbleChi
pin:
latitude: 41.88
longitude: -87.64
- city: Hamburg
group_id: Pebble_HH
pin:
latitude: 53.54999923706055
longitude: 10
- city: Houston
group_id: Pebble-Houston
pin:
latitude: 29.719999313354492
longitude: -95.22000122070312
- city: Los Angeles
group_id: PebbleLA
pin:
latitude: 33.970001220703125
longitude: -118.23999786376953
- city: New York
group_id: PebbleNYC
pin:
latitude: 40.709999084472656
longitude: -74.01000213623047
- city: Orlando
group_id: PebbleORL
pin:
latitude: 28.540000915527344
longitude: -81.37000274658203
- city: Seattle
group_id: PebbleSEA
pin:
latitude: 47.61000061035156
longitude: -122.33000183105469
- city: Helsinki
group_id: PebbleHEL
pin:
latitude: 60.16999816894531
longitude: 24.940000534057617
- city: Amsterdam
group_id: PebbleAMS
pin:
latitude: 52.369998931884766
longitude: 4.889999866485596
- city: Brussels
group_id: PebbleBelgium
pin:
latitude: 50.83000183105469
longitude: 4.329999923706055
- city: Reno
group_id: PebbleReno
pin:
latitude: 39.529998779296875
longitude: -119.80999755859375
- city: Toronto
group_id: PebbleTO
pin:
latitude: 43.63999938964844
longitude: -79.43000030517578

View file

@ -0,0 +1,102 @@
# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
- name: CloudPebble
slug: cloudpebble
projects:
- name: CloudPebble
github: pebble/cloudpebble
summary: Web-based IDE for Pebble development.
license: MIT
- name: CloudPebble QEMU Controller
github: pebble/cloudpebble-qemu-controller
summary: Controls QEMUs
license: MIT
- name: CloudPebble ycmd Proxy
github: pebble/cloudpebble-ycmd-proxy
summary: Handles communication with the autocompletion daemon(s) on behalf of CloudPebble clients.
license: MIT
- name: Pebble SDK
slug: pebble-sdk
projects:
- name: libpebble2
github: pebble/libpebble2
summary: Library for communication with Pebble devices and emulators
license: MIT
- name: pebble-tool
github: pebble/pebble-tool
summary: The Pebble tool, as distributed in the Pebble SDK
license: MIT
- name: pypkjs
github: pebble/pypkjs
summary: Python implementation of PebbleKit JS
license: MIT
- name: PyV8
github: pebble/pyv8
summary: Pebble fork of PyV8
license: Apache License 2.0
- name: QEMU
github: pebble/qemu
summary: Pebble's fork of QEMU, with support for Pebble and Pebble Time
license: GPLv2
- name: Node.js
slug: node
projects:
- name: pebble-api
github: pebble/pebble-api-node
summary: Node.js client for the Pebble timeline APIs
license: MIT
- name: koa-bunyan-logger
github: pebble/koa-bunyan-logger
summary: Koa middleware for bunyan request logging
license: MIT
- name: yieldb
github: pebble/yieldb
summary: Simple, expressive and yieldable MongoDB
license: MIT
- name: event-loop-lag
github: pebble/event-loop-lag
summary: Measures Node.js event loop lag
license: MIT
- name: joi-objectid
github: pebble/joi-objectid
summary: A MongoDB ObjectId validator for Joi
license: MIT
- name: koa-joi-router
github: pebble/koa-joi-router
summary: Easy, rich and fully validated koa routing.
license: MIT
- name: koa-resourcer
github: pebble/koa-resourcer
summary: A simple resource directory mounter for koa
license: MIT
- name: has-own
github: pebble/has-own
summary: "A safer .hasOwnProperty() where property name comes first: `hasOwn(name, obj)`"
license: MIT
- name: qdog
github: pebble/qdog
summary: Module used for adding and reading from SQS and eventually Redis
license: MIT
- name: Other
slug: other
projects:
- name: Pebble.js
github: pebble/pebblejs
summary: Program the Pebble with simply JavaScript
license: MIT
- name: git-deploy
github: pebble/git-deploy
summary: Git driven deployment strategy using git-hooks.
license: MIT

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,23 @@
# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
c:
version: "4.3"
pebblekit-android:
version: 4.0.1
pebblekit-ios:
version: 4.0.0
path: ~/pebble-dev/
pebble_tool:
version: "4.5"

View file

@ -0,0 +1,22 @@
# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
- id: color-picker
title: Color Picker
url: /more/color-picker/
description: An interactive color picker to help you design your Pebble apps.
- id: inspiration
title: Inspiration
url: /inspiration/
description: Find some inspiration for your next Pebble app.

View file

@ -0,0 +1,94 @@
{
"guides": {
"settings": {
"attributesToIndex": [
"unordered(title)",
"unordered(content)",
"unordered(type)"
],
"attributesToSnippet": [
"content:30"
],
"attributesForFaceting": [
],
"attributeForDistinct": "urlDisplay",
"highlightPreTag": "<span class=\"search__result__highlight\">",
"highlightPostTag": "</span>"
}
},
"blog-posts": {
"settings": {
"attributesToIndex": [
"unordered(title)",
"unordered(content)",
"unordered(type)"
],
"attributesToSnippet": [
"content:30"
],
"attributesForFaceting": [
],
"customRanking": [
"asc(age)"
],
"attributeForDistinct": "urlDisplay",
"highlightPreTag": "<span class=\"search__result__highlight\">",
"highlightPostTag": "</span>"
}
},
"documentation": {
"settings": {
"attributesToIndex": [
"title",
"splitTitle",
"unordered(summary)",
"unordered(type)"
],
"attributesToSnippet": [
"summary:30"
],
"attributesForFaceting": [
"language"
],
"customRanking": [
"desc(ranking)"
],
"attributeForDistinct": null,
"highlightPreTag": "<span class=\"search__result__highlight\">",
"highlightPostTag": "</span>"
}
},
"examples": {
"settings": {
"attributesToIndex": [
"unordered(title)",
"unordered(summary)",
"unordered(type)"
],
"attributesToSnippet": [
"summary:30"
],
"attributesForFaceting": [
],
"attributeForDistinct": null,
"highlightPreTag": "<span class=\"search__result__highlight\">",
"highlightPostTag": "</span>"
}
},
"other": {
"settings": {
"attributesToIndex": [
"unordered(title)",
"unordered(content)"
],
"attributesToSnippet": [
"content:30"
],
"attributesForFaceting": [
],
"attributeForDistinct": null,
"highlightPreTag": "<span class=\"search__result__highlight\">",
"highlightPostTag": "</span>"
}
}
}