SlideShare a Scribd company logo
1 of 59
Download to read offline
TITLE TEXT 
PEBBLE DEVELOPER RETREAT 2014 
KICK-OFF 
THOMAS - DEVELOPER EVANGELIST 
@SARFATA
WELCOME!
100DEVELOPERS 
COUNTRIES 14
4000+ 
APPS
6 MILLION 
APP DOWNLOADS
! 
! 
100+ MILLION HOURS
MOST USERS ENGAGE WITH 3 OR 
MORE APPS PER WEEK
15% OF USERS HAVE TRIED MORE 
THAN 20 APPS
THANK YOU!
PEBBLE IS NOW AVAILABLE IN 
! 
US,UK,CA,BE,NE,LU,DK,NO,SW 
AND THE REST OF THE WORLD!
WHAT DIFFERENCE A YEAR MAKE …
ONE YEAR OF FIRMWARE 
2.1 2.2 2.3 2.4 2.5 2.6 
2.0 
May June July 
Feb Sep 
User Improvements 
Emoji 
Doc Improvements Compass … 
PebbleKit Improvements
PEBBLE FIRMWARE 2.6 WAS RELEASED THIS WEEK
ONE YEAR OF FIRMWARE 
2.1 2.2 2.3 2.4 2.5 2.6 
2.0 
May June July 
Feb Sep 
Battery life 
PebbleKit JS 
Connectivity 
+10% Battery Life 
+50% Time Connected
AND MORE … 
2.1 2.2 2.3 2.4 2.5 2.6 2.7 
2.0 
May June July 
Feb Sep 
WakeUp
AGENDA
AGENDA 
Introducing the new APIs 
! 
Developer Retreat 2014 Activities 
! 
Logistics for this week
NEW APIS
FRAMEBUFFER ACCESS
FRAME BUFFER API 
Directly manipulate the frame buffer 
Overlay the frame buffer with UI elements 
! 
GBitmap* graphics_capture_frame_buffer(GContext* ctx); 
Details later today in our Graphics talk
BACKGROUND API
INTRODUCING THE BACKGROUND WORKER API 
Build Activity Trackers 
A separate executable in your app 
Only one Worker running on Pebble 
! 
Limited to 12kB of RAM 
Limited set of APIs 
! 
Can both exchange messages 
Background app can launch the foreground app 
Foreground App 
Background Worker 
PBW
"## appinfo.json 
"## resources 
"## src 
$ &## bgexample.c 
"## worker_src 
$ &## worker.c 
&## wscript 
USING BACKGROUND WORKER 
The new Pebble build script will automatically 
look for worker files in the worker_src folder. 
! 
On CloudPebble, you can select to add a file to 
the foreground app or background worker. 
! 
Worker must #include <pebble_worker.h> 
! 
You can also use pebble new-project --worker
STARTING THE BACKGROUND WORKER 
The foreground process can launch the background worker 
! 
! 
AppWorkerResult result = app_worker_launch(); 
! 
Check the return value for errors.
ONE BACKGROUND WORKER AT A TIME 
Starting an activity tracker while another one is running 
will cause the system to show a confirmation popup 
! 
When the interrupting tracker is stopped, the previous 
one is automatically restarted
POLLING FOR YOUR BACKGROUND WORKER 
Your application can query the state of its background 
worker 
! 
bool running = app_worker_is_running(); 
! 
And of course stop it 
! 
app_worker_kill();
COMMUNICATING WITH BACKGROUND WORKER 
Background worker and foreground app can communicate via a new 
dedicated channel AppWorkerMessage: 
bool app_worker_message_subscribe(AppWorkerMessageHandler handler); 
typedef void (*AppWorkerMessageHandler) 
(uint16_t type, AppWorkerMessage *data); 
void app_worker_send_message(uint8_t type, AppWorkerMessage *data); 
! 
This channel can be used to synchronize status information, current stats, 
user actions, etc. 
AppWorkerMessage is limited to 3 bytes. Use Persistent Storage to 
exchange more data.
COMMUNICATING WITH THE PHONE 
Background worker do not have access to AppMessage and PebbleKit JS. 
They do have access to Persistent Storage and Data Logging, 
! 
Possible strategies: 
1. Continuously transfer data to a mobile app via Data Logging 
2. Save data to Persistent Storage, 
Start the foreground app to push data via AppMessage and JavaScript
BACKGROUND WORKERS 
Designed and optimized for Activity Trackers 
! 
Only one running at a time 
! 
Compatible with DataLogging or PebbleKit JS (via Persistent Storage)
WAKE UP API 
Coming Soon!
WAKE UP! 
Background Worker is great for activity tracker … 
But what about Timers, Alarms, Game Alerts? 
! 
The Wake Up API lets your app request a Wake Up call.
HOW TO REQUEST A WAKE UP CALL? 
Your application can set a time in the future where it wants to be awoken: 
! 
WakeupID 
app_wakeup_schedule(time_t timestamp, int32_t reason, bool notify);
HOW TO RECEIVE A WAKE UP CALL 
If your application is not running, it will be started. 
You can figure out why via a new AppLaunchReason API: 
! 
AppLaunchReason app_launch_reason(void); 
! 
typedef enum { 
APP_LAUNCH_SYSTEM = 0, //!< App launched by the system 
APP_LAUNCH_USER, //!< App launched by user selection 
APP_LAUNCH_PHONE, //!< App launched by mobile or companion app 
APP_LAUNCH_WAKEUP //!< App launched by wakeup event 
} AppLaunchReason; 
! 
bool app_wakeup_get_launch_event(WakeupID *id, int32_t *reason);
HOW TO RECEIVE A WAKE UP CALL 
If your application is running, you will receive an event. Just like all event 
services, you need to register a handler first: 
! 
typedef void (*WakeupHandler)(WakeupID wakeup_id, int32_t reason); 
void app_wakeup_service_subscribe(WakeupHandler handler);
SNOOZE 
The system will refuse to schedule a WakeUp event with 
less than 60 seconds margin to other WakeUp events. 
Use the return value to re-schedule if needed. 
! 
If the watch is off, the WakeUp event will be missed but 
you can notify the user via the notify parameter. 
! 
Each app can only schedule up to 8 events.
USING THE WAKE UP API TODAY 
The WakeUp API is included in FW 2.7-beta1 distributed today to all 
developer retreat attendees and to all registered Pebble developers who 
request access to it.
ACTIVITIES
Thursday Friday Saturday Sunday 
Kickoff 
Graphics 
Battery 
Workshop 
Code Review 
Hacking 
and Robots 
Hacking 
Meetup in SF 
Strap 
Pebble Dev 
Awards 
Size 
1010000 
Bluetooth LE 
Workshop 
Computer 
History Museum 
Code Review Code Review 
CloudPebble 
Overlay 
Pebble™
ADVANCED PEBBLE PROGRAMMING 
1pm to 4pm 
Heiko and Matthew will share our most advanced techniques and best tips! 
! 
Size 
Graphics 
1010000
SAN FRANCISCO MEETUP
Learn what really impacts battery life 
! 
Find out how much battery your application is really 
using on user wrists 
! 
Discover best practices to save battery 
BATTERY WORKSHOP 
10:30 to 11:00
BLUETOOTH LOW ENERGY 
11:00 to 11:30 
This is what happens when we let our engineers loose 
! 
Martijn will distribute an experimental (!) firmware with 
support for a BLE API and we will share a bunch of 
BLE-enabled gadgets. 
! 
The rest is up to you …
Work with one of our engineer to improve your 
code, reduce the size of your apps, battery usage, 
speed of your graphics, etc! 
CODE REVIEWS
CLOUDPEBBLE WORKSHOP 
Discover CloudPebble new features 
! 
Tell us what you would like to see in 
CloudPebble 
14:30 to 15:00
STRAP PRESENTATION 
15:00 to 15:30
USING RESOURCE SPACE FOR CODE 
15:30 to 16:00 
Have you ever struggled with the 24k limit? 
! 
Ron and Grégoire will show you how to split your code in several pieces 
that will be dynamically loaded from the resources. 
! 
This is also a great presentation to learn more about Pebble memory system 
and the SDK build tools.
USE OF THE “PEBBLE” BRAND 
16:00 to 16:30 
The name Pebble is becoming more and more 
popular, especially among apps. As we keep on 
growing we will need to change the rules regarding 
how you can use our name. 
! 
Join the developer evangelism team and the legal 
team to discuss how we should roll this out.
COMPUTER HISTORY MUSEUM
PEBBLE BOTS 
Credit: https://www.youtube.com/watch?v=2ibwZYR2oKg
On Sunday morning, Cherie will give 
awards to notable members of the 
developer community. 
PEBBLE AWARDS
Thursday Friday Saturday Sunday 
Kickoff 
Graphics 
Battery 
Workshop 
Code Review 
Hacking 
and Robots 
Hacking 
Meetup in SF 
Strap 
Pebble Dev 
Awards 
Size 
1010000 
Bluetooth LE 
Workshop 
Computer 
History Museum 
Code Review Code Review 
CloudPebble 
Overlay 
Pebble™
LOGISTICS
FEEDBACK THIS YEAR 
We would like to hear all your feedbacks. There are no subjects that are 
taboo. Please share all ideas and suggestions. 
Appstore APIs flexibility 
Paid apps 
Firmware APIs 
Phone2Watch 
Communication 
PebbleKit JS 
Promotion 
Mobile apps 
Pebble.js 
8 Apps limit? 
UI / Design 
Config view 
Answering Notifications? 
iOS Android 
Communication 
Hardware 
Bands Accessories 
Customization
LOOKING FOR A JOB?
DEVELOPER RETREAT EXCLUSIVE CONTENT
ENJOY!
ADVANCED PEBBLE PROGRAMMING 
1pm to 4pm 
Heiko and Matt

More Related Content

What's hot

Appium - Reality check on the world’s leading Open Source Framework for Mobil...
Appium - Reality check on the world’s leading Open Source Framework for Mobil...Appium - Reality check on the world’s leading Open Source Framework for Mobil...
Appium - Reality check on the world’s leading Open Source Framework for Mobil...Asaf Saar
 
My 10 Mobile Automation Questions
My 10 Mobile Automation QuestionsMy 10 Mobile Automation Questions
My 10 Mobile Automation QuestionsRan Byron
 
All your family secrets belong to us—Worrisome security issues in tracker apps
All your family secrets belong to us—Worrisome security issues in tracker appsAll your family secrets belong to us—Worrisome security issues in tracker apps
All your family secrets belong to us—Worrisome security issues in tracker appsPriyanka Aash
 
10 things you didnt know about appium + whats new in appium 1.5
10 things you didnt know about appium + whats new in appium 1.510 things you didnt know about appium + whats new in appium 1.5
10 things you didnt know about appium + whats new in appium 1.5Sauce Labs
 
Live Panel: Appium Core Committers Answer Your Questions
Live Panel: Appium Core Committers Answer Your Questions		Live Panel: Appium Core Committers Answer Your Questions
Live Panel: Appium Core Committers Answer Your Questions Sauce Labs
 
Google Analytics for Quantified Self
Google Analytics for Quantified SelfGoogle Analytics for Quantified Self
Google Analytics for Quantified SelfVanessa Sabino
 
Android Instant Apps testing
Android Instant Apps testingAndroid Instant Apps testing
Android Instant Apps testingDiana Pinchuk
 
Wheat - Mobile functional test automation
Wheat - Mobile functional test automationWheat - Mobile functional test automation
Wheat - Mobile functional test automationSunny Tambi
 
Getting Started with Mobile Test Automation & Appium
Getting Started with Mobile Test Automation & AppiumGetting Started with Mobile Test Automation & Appium
Getting Started with Mobile Test Automation & AppiumSauce Labs
 
What's New With Appium? From 1.0 to Now
What's New With Appium? From 1.0 to NowWhat's New With Appium? From 1.0 to Now
What's New With Appium? From 1.0 to NowSauce Labs
 
Launch High Performing Mobile Apps with Appurify
Launch High Performing Mobile Apps with AppurifyLaunch High Performing Mobile Apps with Appurify
Launch High Performing Mobile Apps with AppurifyManish Lachwani
 
Scrum breakfast skillset_toolset_mindset
Scrum breakfast skillset_toolset_mindsetScrum breakfast skillset_toolset_mindset
Scrum breakfast skillset_toolset_mindsetMichael Palotas
 
Advanced android app lifecycle + Patterns
Advanced android app lifecycle + PatternsAdvanced android app lifecycle + Patterns
Advanced android app lifecycle + Patternsbryan costanich
 
Everything You Need To Know about Appium and Selenium
Everything You Need To Know about Appium and SeleniumEverything You Need To Know about Appium and Selenium
Everything You Need To Know about Appium and SeleniumLizzy Guido (she/her)
 
What is Sauce Labs?
What is Sauce Labs? What is Sauce Labs?
What is Sauce Labs? Sauce Labs
 
Openbar Kontich // Mobile app automation on a budget by Wim Vervust & Bram Thys
Openbar Kontich // Mobile app automation on a budget by Wim Vervust & Bram ThysOpenbar Kontich // Mobile app automation on a budget by Wim Vervust & Bram Thys
Openbar Kontich // Mobile app automation on a budget by Wim Vervust & Bram ThysOpenbar
 
Splunk bangalore user group 2020 09 01
Splunk bangalore user group 2020 09 01Splunk bangalore user group 2020 09 01
Splunk bangalore user group 2020 09 01NiketNilay
 
Appium@Work at PAYBACK
Appium@Work at PAYBACKAppium@Work at PAYBACK
Appium@Work at PAYBACKMarcel Gehlen
 

What's hot (20)

Appium - Reality check on the world’s leading Open Source Framework for Mobil...
Appium - Reality check on the world’s leading Open Source Framework for Mobil...Appium - Reality check on the world’s leading Open Source Framework for Mobil...
Appium - Reality check on the world’s leading Open Source Framework for Mobil...
 
My 10 Mobile Automation Questions
My 10 Mobile Automation QuestionsMy 10 Mobile Automation Questions
My 10 Mobile Automation Questions
 
Activity
ActivityActivity
Activity
 
All your family secrets belong to us—Worrisome security issues in tracker apps
All your family secrets belong to us—Worrisome security issues in tracker appsAll your family secrets belong to us—Worrisome security issues in tracker apps
All your family secrets belong to us—Worrisome security issues in tracker apps
 
10 things you didnt know about appium + whats new in appium 1.5
10 things you didnt know about appium + whats new in appium 1.510 things you didnt know about appium + whats new in appium 1.5
10 things you didnt know about appium + whats new in appium 1.5
 
Live Panel: Appium Core Committers Answer Your Questions
Live Panel: Appium Core Committers Answer Your Questions		Live Panel: Appium Core Committers Answer Your Questions
Live Panel: Appium Core Committers Answer Your Questions
 
Google Analytics for Quantified Self
Google Analytics for Quantified SelfGoogle Analytics for Quantified Self
Google Analytics for Quantified Self
 
Android Instant Apps testing
Android Instant Apps testingAndroid Instant Apps testing
Android Instant Apps testing
 
Wheat - Mobile functional test automation
Wheat - Mobile functional test automationWheat - Mobile functional test automation
Wheat - Mobile functional test automation
 
Getting Started with Mobile Test Automation & Appium
Getting Started with Mobile Test Automation & AppiumGetting Started with Mobile Test Automation & Appium
Getting Started with Mobile Test Automation & Appium
 
What's New With Appium? From 1.0 to Now
What's New With Appium? From 1.0 to NowWhat's New With Appium? From 1.0 to Now
What's New With Appium? From 1.0 to Now
 
Launch High Performing Mobile Apps with Appurify
Launch High Performing Mobile Apps with AppurifyLaunch High Performing Mobile Apps with Appurify
Launch High Performing Mobile Apps with Appurify
 
Scrum breakfast skillset_toolset_mindset
Scrum breakfast skillset_toolset_mindsetScrum breakfast skillset_toolset_mindset
Scrum breakfast skillset_toolset_mindset
 
Advanced android app lifecycle + Patterns
Advanced android app lifecycle + PatternsAdvanced android app lifecycle + Patterns
Advanced android app lifecycle + Patterns
 
Everything You Need To Know about Appium and Selenium
Everything You Need To Know about Appium and SeleniumEverything You Need To Know about Appium and Selenium
Everything You Need To Know about Appium and Selenium
 
Multi screenlab
Multi screenlabMulti screenlab
Multi screenlab
 
What is Sauce Labs?
What is Sauce Labs? What is Sauce Labs?
What is Sauce Labs?
 
Openbar Kontich // Mobile app automation on a budget by Wim Vervust & Bram Thys
Openbar Kontich // Mobile app automation on a budget by Wim Vervust & Bram ThysOpenbar Kontich // Mobile app automation on a budget by Wim Vervust & Bram Thys
Openbar Kontich // Mobile app automation on a budget by Wim Vervust & Bram Thys
 
Splunk bangalore user group 2020 09 01
Splunk bangalore user group 2020 09 01Splunk bangalore user group 2020 09 01
Splunk bangalore user group 2020 09 01
 
Appium@Work at PAYBACK
Appium@Work at PAYBACKAppium@Work at PAYBACK
Appium@Work at PAYBACK
 

Similar to Thomas Sarlandie Kickoff Talk | Pebble Developer Retreat 2014

How to xcode in teams (without killing anyone) - #supengineering
How to xcode in teams (without killing anyone) - #supengineeringHow to xcode in teams (without killing anyone) - #supengineering
How to xcode in teams (without killing anyone) - #supengineeringJames Campbell
 
Mobile App Development - Pitfalls & Helpers
Mobile App Development - Pitfalls & HelpersMobile App Development - Pitfalls & Helpers
Mobile App Development - Pitfalls & HelpersRobin Hawkes
 
Cocoa coders 141113-watch
Cocoa coders 141113-watchCocoa coders 141113-watch
Cocoa coders 141113-watchCarl Brown
 
Aleksandar Vacić - iOS App Development iz Srbije
Aleksandar Vacić - iOS App Development iz SrbijeAleksandar Vacić - iOS App Development iz Srbije
Aleksandar Vacić - iOS App Development iz SrbijeMobile Monday Srbija
 
2 years with Angular & Electron: Video Hub App 2
2 years with Angular & Electron: Video Hub App 22 years with Angular & Electron: Video Hub App 2
2 years with Angular & Electron: Video Hub App 2Boris Yakubchik
 
Smart Mirror Summer Report
Smart Mirror Summer ReportSmart Mirror Summer Report
Smart Mirror Summer ReportJabari Barton
 
Hacking for Innovation - WPP, New York
Hacking for Innovation - WPP, New YorkHacking for Innovation - WPP, New York
Hacking for Innovation - WPP, New YorkSaurabh Sahni
 
GDSC - IIITB: Android Study Jams - Introductory Session
GDSC - IIITB: Android Study Jams - Introductory SessionGDSC - IIITB: Android Study Jams - Introductory Session
GDSC - IIITB: Android Study Jams - Introductory SessionShreytripathi6
 
IOT BASED SYSTEM DESIGN
IOT BASED SYSTEM DESIGNIOT BASED SYSTEM DESIGN
IOT BASED SYSTEM DESIGNAbhishekBhat36
 
Dictionary Within the Cloud
Dictionary Within the CloudDictionary Within the Cloud
Dictionary Within the Cloudgueste4978b94
 
Google App Engine for Java v0.0.2
Google App Engine for Java v0.0.2Google App Engine for Java v0.0.2
Google App Engine for Java v0.0.2Matthew McCullough
 
Laurentiu macovei meteor. a better way of building apps
Laurentiu macovei   meteor. a better way of building appsLaurentiu macovei   meteor. a better way of building apps
Laurentiu macovei meteor. a better way of building appsCodecamp Romania
 
Create Cross-Platform Native Mobile Apps in Flex with ELIPS Studio
Create Cross-Platform Native Mobile Apps in Flex with ELIPS StudioCreate Cross-Platform Native Mobile Apps in Flex with ELIPS Studio
Create Cross-Platform Native Mobile Apps in Flex with ELIPS StudioGuilhem Ensuque
 
Offline of web applications
Offline of web applicationsOffline of web applications
Offline of web applicationsFDConf
 
Offline for web - Frontend Dev Conf Minsk 2014
Offline for web - Frontend Dev Conf Minsk 2014Offline for web - Frontend Dev Conf Minsk 2014
Offline for web - Frontend Dev Conf Minsk 2014Jan Jongboom
 
NativeScript Developer Day Keynote - Todd Anglin & Burke Holland
NativeScript Developer Day Keynote - Todd Anglin & Burke HollandNativeScript Developer Day Keynote - Todd Anglin & Burke Holland
NativeScript Developer Day Keynote - Todd Anglin & Burke HollandBrian Rinaldi
 

Similar to Thomas Sarlandie Kickoff Talk | Pebble Developer Retreat 2014 (20)

Pebble wearables devcon
Pebble wearables devconPebble wearables devcon
Pebble wearables devcon
 
How to xcode in teams (without killing anyone) - #supengineering
How to xcode in teams (without killing anyone) - #supengineeringHow to xcode in teams (without killing anyone) - #supengineering
How to xcode in teams (without killing anyone) - #supengineering
 
Mobile App Development - Pitfalls & Helpers
Mobile App Development - Pitfalls & HelpersMobile App Development - Pitfalls & Helpers
Mobile App Development - Pitfalls & Helpers
 
Cocoa coders 141113-watch
Cocoa coders 141113-watchCocoa coders 141113-watch
Cocoa coders 141113-watch
 
Walter api
Walter apiWalter api
Walter api
 
Aleksandar Vacić - iOS App Development iz Srbije
Aleksandar Vacić - iOS App Development iz SrbijeAleksandar Vacić - iOS App Development iz Srbije
Aleksandar Vacić - iOS App Development iz Srbije
 
2 years with Angular & Electron: Video Hub App 2
2 years with Angular & Electron: Video Hub App 22 years with Angular & Electron: Video Hub App 2
2 years with Angular & Electron: Video Hub App 2
 
Smart Mirror Summer Report
Smart Mirror Summer ReportSmart Mirror Summer Report
Smart Mirror Summer Report
 
Hacking for Innovation - WPP, New York
Hacking for Innovation - WPP, New YorkHacking for Innovation - WPP, New York
Hacking for Innovation - WPP, New York
 
GDSC - IIITB: Android Study Jams - Introductory Session
GDSC - IIITB: Android Study Jams - Introductory SessionGDSC - IIITB: Android Study Jams - Introductory Session
GDSC - IIITB: Android Study Jams - Introductory Session
 
IOT BASED SYSTEM DESIGN
IOT BASED SYSTEM DESIGNIOT BASED SYSTEM DESIGN
IOT BASED SYSTEM DESIGN
 
HealthyCodeMay2014
HealthyCodeMay2014HealthyCodeMay2014
HealthyCodeMay2014
 
Dictionary Within the Cloud
Dictionary Within the CloudDictionary Within the Cloud
Dictionary Within the Cloud
 
Google App Engine for Java v0.0.2
Google App Engine for Java v0.0.2Google App Engine for Java v0.0.2
Google App Engine for Java v0.0.2
 
Laurentiu macovei meteor. a better way of building apps
Laurentiu macovei   meteor. a better way of building appsLaurentiu macovei   meteor. a better way of building apps
Laurentiu macovei meteor. a better way of building apps
 
Create Cross-Platform Native Mobile Apps in Flex with ELIPS Studio
Create Cross-Platform Native Mobile Apps in Flex with ELIPS StudioCreate Cross-Platform Native Mobile Apps in Flex with ELIPS Studio
Create Cross-Platform Native Mobile Apps in Flex with ELIPS Studio
 
Offline of web applications
Offline of web applicationsOffline of web applications
Offline of web applications
 
Offline for web - Frontend Dev Conf Minsk 2014
Offline for web - Frontend Dev Conf Minsk 2014Offline for web - Frontend Dev Conf Minsk 2014
Offline for web - Frontend Dev Conf Minsk 2014
 
W make104
W make104W make104
W make104
 
NativeScript Developer Day Keynote - Todd Anglin & Burke Holland
NativeScript Developer Day Keynote - Todd Anglin & Burke HollandNativeScript Developer Day Keynote - Todd Anglin & Burke Holland
NativeScript Developer Day Keynote - Todd Anglin & Burke Holland
 

More from Pebble Technology

#PDR15 - Awesome Appstore Assets
#PDR15 - Awesome Appstore Assets#PDR15 - Awesome Appstore Assets
#PDR15 - Awesome Appstore AssetsPebble Technology
 
#PDR15 - Smartstrap Workshop
#PDR15 - Smartstrap Workshop#PDR15 - Smartstrap Workshop
#PDR15 - Smartstrap WorkshopPebble Technology
 
#PDR15 - Best Use Cases For Timeline
#PDR15 - Best Use Cases For Timeline#PDR15 - Best Use Cases For Timeline
#PDR15 - Best Use Cases For TimelinePebble Technology
 
#PDR15 - waf, wscript and Your Pebble App
#PDR15 - waf, wscript and Your Pebble App#PDR15 - waf, wscript and Your Pebble App
#PDR15 - waf, wscript and Your Pebble AppPebble Technology
 
#PDR15 Creating Pebble Apps for Aplite, Basalt, and Chalk
#PDR15 Creating Pebble Apps for Aplite, Basalt, and Chalk#PDR15 Creating Pebble Apps for Aplite, Basalt, and Chalk
#PDR15 Creating Pebble Apps for Aplite, Basalt, and ChalkPebble Technology
 
#PDR15 - Developing for Round
#PDR15 - Developing for Round#PDR15 - Developing for Round
#PDR15 - Developing for RoundPebble Technology
 
#PDR15 - Designing for Pebble
#PDR15 - Designing for Pebble#PDR15 - Designing for Pebble
#PDR15 - Designing for PebblePebble Technology
 
Overlay Technique | Pebble Developer Retreat 2014
Overlay Technique | Pebble Developer Retreat 2014Overlay Technique | Pebble Developer Retreat 2014
Overlay Technique | Pebble Developer Retreat 2014Pebble Technology
 
Overlay & Libraries | Pebble Meetup Oct. 2014
Overlay & Libraries | Pebble Meetup Oct. 2014Overlay & Libraries | Pebble Meetup Oct. 2014
Overlay & Libraries | Pebble Meetup Oct. 2014Pebble Technology
 
Connecting Pebble to the World
Connecting Pebble to the WorldConnecting Pebble to the World
Connecting Pebble to the WorldPebble Technology
 
Guest Presentation - Strap | Pebble Developer Retreat 2014
Guest Presentation - Strap | Pebble Developer Retreat 2014Guest Presentation - Strap | Pebble Developer Retreat 2014
Guest Presentation - Strap | Pebble Developer Retreat 2014Pebble Technology
 
Battery Life | Pebble Developer Retreat 2014
Battery Life | Pebble Developer Retreat 2014Battery Life | Pebble Developer Retreat 2014
Battery Life | Pebble Developer Retreat 2014Pebble Technology
 
Advanced Techniques: Size | Pebble Developer Retreat 2014
Advanced Techniques: Size | Pebble Developer Retreat 2014Advanced Techniques: Size | Pebble Developer Retreat 2014
Advanced Techniques: Size | Pebble Developer Retreat 2014Pebble Technology
 
Advanced Techniques: Graphics | Pebble Developer Retreat 2014
Advanced Techniques: Graphics | Pebble Developer Retreat 2014Advanced Techniques: Graphics | Pebble Developer Retreat 2014
Advanced Techniques: Graphics | Pebble Developer Retreat 2014Pebble Technology
 

More from Pebble Technology (19)

#PDR15 - Awesome Appstore Assets
#PDR15 - Awesome Appstore Assets#PDR15 - Awesome Appstore Assets
#PDR15 - Awesome Appstore Assets
 
#PDR15 - Smartstrap Workshop
#PDR15 - Smartstrap Workshop#PDR15 - Smartstrap Workshop
#PDR15 - Smartstrap Workshop
 
#PDR15 - Best Use Cases For Timeline
#PDR15 - Best Use Cases For Timeline#PDR15 - Best Use Cases For Timeline
#PDR15 - Best Use Cases For Timeline
 
#PDR15 - waf, wscript and Your Pebble App
#PDR15 - waf, wscript and Your Pebble App#PDR15 - waf, wscript and Your Pebble App
#PDR15 - waf, wscript and Your Pebble App
 
#PDR15 - Voice API
#PDR15 - Voice API#PDR15 - Voice API
#PDR15 - Voice API
 
#PDR15 - Pebble Graphics
#PDR15 - Pebble Graphics#PDR15 - Pebble Graphics
#PDR15 - Pebble Graphics
 
#PDR15 Creating Pebble Apps for Aplite, Basalt, and Chalk
#PDR15 Creating Pebble Apps for Aplite, Basalt, and Chalk#PDR15 Creating Pebble Apps for Aplite, Basalt, and Chalk
#PDR15 Creating Pebble Apps for Aplite, Basalt, and Chalk
 
#PDR15 - Developing for Round
#PDR15 - Developing for Round#PDR15 - Developing for Round
#PDR15 - Developing for Round
 
#PDR15 - Designing for Pebble
#PDR15 - Designing for Pebble#PDR15 - Designing for Pebble
#PDR15 - Designing for Pebble
 
#PDR15 Kick-Off
#PDR15 Kick-Off#PDR15 Kick-Off
#PDR15 Kick-Off
 
Pebble Slate Workshop
Pebble Slate WorkshopPebble Slate Workshop
Pebble Slate Workshop
 
Overlay Technique | Pebble Developer Retreat 2014
Overlay Technique | Pebble Developer Retreat 2014Overlay Technique | Pebble Developer Retreat 2014
Overlay Technique | Pebble Developer Retreat 2014
 
Overlay & Libraries | Pebble Meetup Oct. 2014
Overlay & Libraries | Pebble Meetup Oct. 2014Overlay & Libraries | Pebble Meetup Oct. 2014
Overlay & Libraries | Pebble Meetup Oct. 2014
 
Connecting Pebble to the World
Connecting Pebble to the WorldConnecting Pebble to the World
Connecting Pebble to the World
 
Guest Presentation - Strap | Pebble Developer Retreat 2014
Guest Presentation - Strap | Pebble Developer Retreat 2014Guest Presentation - Strap | Pebble Developer Retreat 2014
Guest Presentation - Strap | Pebble Developer Retreat 2014
 
Battery Life | Pebble Developer Retreat 2014
Battery Life | Pebble Developer Retreat 2014Battery Life | Pebble Developer Retreat 2014
Battery Life | Pebble Developer Retreat 2014
 
Advanced Techniques: Size | Pebble Developer Retreat 2014
Advanced Techniques: Size | Pebble Developer Retreat 2014Advanced Techniques: Size | Pebble Developer Retreat 2014
Advanced Techniques: Size | Pebble Developer Retreat 2014
 
Advanced Techniques: Graphics | Pebble Developer Retreat 2014
Advanced Techniques: Graphics | Pebble Developer Retreat 2014Advanced Techniques: Graphics | Pebble Developer Retreat 2014
Advanced Techniques: Graphics | Pebble Developer Retreat 2014
 
Announcing Pebble SDK 2.0
Announcing Pebble SDK 2.0Announcing Pebble SDK 2.0
Announcing Pebble SDK 2.0
 

Recently uploaded

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 

Recently uploaded (20)

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 

Thomas Sarlandie Kickoff Talk | Pebble Developer Retreat 2014

  • 1.
  • 2. TITLE TEXT PEBBLE DEVELOPER RETREAT 2014 KICK-OFF THOMAS - DEVELOPER EVANGELIST @SARFATA
  • 6. 6 MILLION APP DOWNLOADS
  • 7. ! ! 100+ MILLION HOURS
  • 8. MOST USERS ENGAGE WITH 3 OR MORE APPS PER WEEK
  • 9. 15% OF USERS HAVE TRIED MORE THAN 20 APPS
  • 11. PEBBLE IS NOW AVAILABLE IN ! US,UK,CA,BE,NE,LU,DK,NO,SW AND THE REST OF THE WORLD!
  • 12. WHAT DIFFERENCE A YEAR MAKE …
  • 13. ONE YEAR OF FIRMWARE 2.1 2.2 2.3 2.4 2.5 2.6 2.0 May June July Feb Sep User Improvements Emoji Doc Improvements Compass … PebbleKit Improvements
  • 14. PEBBLE FIRMWARE 2.6 WAS RELEASED THIS WEEK
  • 15. ONE YEAR OF FIRMWARE 2.1 2.2 2.3 2.4 2.5 2.6 2.0 May June July Feb Sep Battery life PebbleKit JS Connectivity +10% Battery Life +50% Time Connected
  • 16. AND MORE … 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.0 May June July Feb Sep WakeUp
  • 18. AGENDA Introducing the new APIs ! Developer Retreat 2014 Activities ! Logistics for this week
  • 21. FRAME BUFFER API Directly manipulate the frame buffer Overlay the frame buffer with UI elements ! GBitmap* graphics_capture_frame_buffer(GContext* ctx); Details later today in our Graphics talk
  • 23. INTRODUCING THE BACKGROUND WORKER API Build Activity Trackers A separate executable in your app Only one Worker running on Pebble ! Limited to 12kB of RAM Limited set of APIs ! Can both exchange messages Background app can launch the foreground app Foreground App Background Worker PBW
  • 24. "## appinfo.json "## resources "## src $ &## bgexample.c "## worker_src $ &## worker.c &## wscript USING BACKGROUND WORKER The new Pebble build script will automatically look for worker files in the worker_src folder. ! On CloudPebble, you can select to add a file to the foreground app or background worker. ! Worker must #include <pebble_worker.h> ! You can also use pebble new-project --worker
  • 25. STARTING THE BACKGROUND WORKER The foreground process can launch the background worker ! ! AppWorkerResult result = app_worker_launch(); ! Check the return value for errors.
  • 26. ONE BACKGROUND WORKER AT A TIME Starting an activity tracker while another one is running will cause the system to show a confirmation popup ! When the interrupting tracker is stopped, the previous one is automatically restarted
  • 27. POLLING FOR YOUR BACKGROUND WORKER Your application can query the state of its background worker ! bool running = app_worker_is_running(); ! And of course stop it ! app_worker_kill();
  • 28. COMMUNICATING WITH BACKGROUND WORKER Background worker and foreground app can communicate via a new dedicated channel AppWorkerMessage: bool app_worker_message_subscribe(AppWorkerMessageHandler handler); typedef void (*AppWorkerMessageHandler) (uint16_t type, AppWorkerMessage *data); void app_worker_send_message(uint8_t type, AppWorkerMessage *data); ! This channel can be used to synchronize status information, current stats, user actions, etc. AppWorkerMessage is limited to 3 bytes. Use Persistent Storage to exchange more data.
  • 29. COMMUNICATING WITH THE PHONE Background worker do not have access to AppMessage and PebbleKit JS. They do have access to Persistent Storage and Data Logging, ! Possible strategies: 1. Continuously transfer data to a mobile app via Data Logging 2. Save data to Persistent Storage, Start the foreground app to push data via AppMessage and JavaScript
  • 30. BACKGROUND WORKERS Designed and optimized for Activity Trackers ! Only one running at a time ! Compatible with DataLogging or PebbleKit JS (via Persistent Storage)
  • 31. WAKE UP API Coming Soon!
  • 32. WAKE UP! Background Worker is great for activity tracker … But what about Timers, Alarms, Game Alerts? ! The Wake Up API lets your app request a Wake Up call.
  • 33. HOW TO REQUEST A WAKE UP CALL? Your application can set a time in the future where it wants to be awoken: ! WakeupID app_wakeup_schedule(time_t timestamp, int32_t reason, bool notify);
  • 34. HOW TO RECEIVE A WAKE UP CALL If your application is not running, it will be started. You can figure out why via a new AppLaunchReason API: ! AppLaunchReason app_launch_reason(void); ! typedef enum { APP_LAUNCH_SYSTEM = 0, //!< App launched by the system APP_LAUNCH_USER, //!< App launched by user selection APP_LAUNCH_PHONE, //!< App launched by mobile or companion app APP_LAUNCH_WAKEUP //!< App launched by wakeup event } AppLaunchReason; ! bool app_wakeup_get_launch_event(WakeupID *id, int32_t *reason);
  • 35. HOW TO RECEIVE A WAKE UP CALL If your application is running, you will receive an event. Just like all event services, you need to register a handler first: ! typedef void (*WakeupHandler)(WakeupID wakeup_id, int32_t reason); void app_wakeup_service_subscribe(WakeupHandler handler);
  • 36. SNOOZE The system will refuse to schedule a WakeUp event with less than 60 seconds margin to other WakeUp events. Use the return value to re-schedule if needed. ! If the watch is off, the WakeUp event will be missed but you can notify the user via the notify parameter. ! Each app can only schedule up to 8 events.
  • 37. USING THE WAKE UP API TODAY The WakeUp API is included in FW 2.7-beta1 distributed today to all developer retreat attendees and to all registered Pebble developers who request access to it.
  • 39. Thursday Friday Saturday Sunday Kickoff Graphics Battery Workshop Code Review Hacking and Robots Hacking Meetup in SF Strap Pebble Dev Awards Size 1010000 Bluetooth LE Workshop Computer History Museum Code Review Code Review CloudPebble Overlay Pebble™
  • 40. ADVANCED PEBBLE PROGRAMMING 1pm to 4pm Heiko and Matthew will share our most advanced techniques and best tips! ! Size Graphics 1010000
  • 42. Learn what really impacts battery life ! Find out how much battery your application is really using on user wrists ! Discover best practices to save battery BATTERY WORKSHOP 10:30 to 11:00
  • 43. BLUETOOTH LOW ENERGY 11:00 to 11:30 This is what happens when we let our engineers loose ! Martijn will distribute an experimental (!) firmware with support for a BLE API and we will share a bunch of BLE-enabled gadgets. ! The rest is up to you …
  • 44. Work with one of our engineer to improve your code, reduce the size of your apps, battery usage, speed of your graphics, etc! CODE REVIEWS
  • 45. CLOUDPEBBLE WORKSHOP Discover CloudPebble new features ! Tell us what you would like to see in CloudPebble 14:30 to 15:00
  • 47. USING RESOURCE SPACE FOR CODE 15:30 to 16:00 Have you ever struggled with the 24k limit? ! Ron and Grégoire will show you how to split your code in several pieces that will be dynamically loaded from the resources. ! This is also a great presentation to learn more about Pebble memory system and the SDK build tools.
  • 48. USE OF THE “PEBBLE” BRAND 16:00 to 16:30 The name Pebble is becoming more and more popular, especially among apps. As we keep on growing we will need to change the rules regarding how you can use our name. ! Join the developer evangelism team and the legal team to discuss how we should roll this out.
  • 50. PEBBLE BOTS Credit: https://www.youtube.com/watch?v=2ibwZYR2oKg
  • 51. On Sunday morning, Cherie will give awards to notable members of the developer community. PEBBLE AWARDS
  • 52. Thursday Friday Saturday Sunday Kickoff Graphics Battery Workshop Code Review Hacking and Robots Hacking Meetup in SF Strap Pebble Dev Awards Size 1010000 Bluetooth LE Workshop Computer History Museum Code Review Code Review CloudPebble Overlay Pebble™
  • 54.
  • 55. FEEDBACK THIS YEAR We would like to hear all your feedbacks. There are no subjects that are taboo. Please share all ideas and suggestions. Appstore APIs flexibility Paid apps Firmware APIs Phone2Watch Communication PebbleKit JS Promotion Mobile apps Pebble.js 8 Apps limit? UI / Design Config view Answering Notifications? iOS Android Communication Hardware Bands Accessories Customization
  • 59. ADVANCED PEBBLE PROGRAMMING 1pm to 4pm Heiko and Matt