Trending Time
See what’s hot on Twitter - on your wrist!
A primer on data-driven watch face development for Android Wear
Project goals
● Build a content-centric watch face
● Use best practices, but steer slightly off-
course from conventions in Google’s sample
app
● No user OAuth - just install, activate & enjoy!
A funny thing happened...
● Watch Face API launched December 2014
● Seemingly everyone built one
● Not many data-driven projects
● I wanted to do a community tutorial
● I suck at art
Tons of amazing visualizations...
...but content is what I’m about
A utility delivering utility
● Surfaces top trends
● High entertainment
value
● Usually hilarious, often
informative, sometimes
helpful
This is where wearables rock
● Microinteractions: <= 3-second sessions
● Stay in the know without leaving the moment
● Not bothered by constant notification pelting
Variation on a theme
● The core element of designing watch faces
is the creative expression of time
But again...
Source:
http://explodingdog.com/title/icantdraw.html
Variation on a theme
● With Trending Time, the timekeeping
function takes a backseat to the watch being
a portable stage for quick, relevant
information
One line & you’re done
WatchFaceStyle.Builder(this)
.setShowSystemUiTime(true)
...
.build();
Account for the peek card
.setCardPeekMode(WatchFaceStyle.PEEK_MODE_SHORT)
Available canvas real estate
Immediate dividends :)
Immediate dividends :(
How is a watch face made?
● If you said…
○ “It’s like building a live wallpaper!”
○ “It’s like building a game!”
○ “It’s like building an animation loop!”
Ding ding ding!
Source:
http://canuckpost.
com/2013/10/tale-of-two-
listings/
Under the hood: two apps
● All cloudtalk happens on the phone
○ Background service calls Twitter’s API
○ AlarmManager schedules hourly invocations
○ Updated trending topics stored in a DataMap
● Data auto-syncs to watch over Bluetooth
○ If devices lose pairing, data is buffered & sent when
connectivity is restored
● Wearable service listens for changes
○ Content persisted in SharedPreferences
○ (Will eventually migrate to a BroadcastReceiver)
● Redraws only when screen is active
○ Invalidate display in onPropertiesChanged event
Under the hood: two apps
Usage
1. Launch mobile app
2. Tap “Start updater”
3. Close mobile app
4. Select “Trending
Time” watch face
The engineering trifecta
● Performant
○ No need for FPS stress
○ Avoids interval- or tick-based loops
● Scalable
○ Proxy handler minimizes API calls; preserves quota
● Battery-friendly
○ Diverts from AsyncTask-based timer pattern
○ Same impact in interactive mode & ambient mode
Drawbacks
● Watch faces aren’t interactive
○ A service, not an activity
○ Read-only relay
● Let the user drill-down into actual tweets
○ Trends selected on the watch handled on the phone
by Twitter’s app or Chrome
Roadmap: UI goodies
● Topics presented
as a tag cloud
while maintaining
glanceable ethos
● User-defined
trending regions
● Contextual inputs
100% free!
play.google.com/store/apps/details?id=wearables.jasonsalas.com.trendingtime
github.com/jasonsalas/TrendingTimeForAndroidWear
100% open source!
Shameless product plug
@jasonsalas
google.com/+JasonSalas
Designing & Developing
for Google Glass

More Related Content

PPTX
Magnificent Meteor -By Dipali Vyas (PM Zestard Technologies) for GDG Ahmedaba...
PPTX
PPTX
Android Wear, a developer's perspective
PDF
Trending Time on Google Glass - see what everyone's buzzing about
PDF
Developing for android wear
PPTX
Building for android wear Depth and Flexibility.
PPTX
Android wear - CC Mobile
Magnificent Meteor -By Dipali Vyas (PM Zestard Technologies) for GDG Ahmedaba...
Android Wear, a developer's perspective
Trending Time on Google Glass - see what everyone's buzzing about
Developing for android wear
Building for android wear Depth and Flexibility.
Android wear - CC Mobile

Similar to Trending Time - data-driven watch face development for Android Wear (20)

PDF
Apple Watch Development w/ Xamarin Watch Kit
PDF
Google Wear OS watch faces and applications development - UA Mobile 2019
PDF
Wearables meetup
PDF
Developing For Android Wear - Part 2
PPTX
IT Talk smartwatches, Dmitriy Scherbina DataArt Dnepropetrovsk
PPTX
GDG GeorgeTown Devfest 2014 Presentation: Android Wear: A Developer's Perspec...
PDF
Apple Watch Development with Xamarin Watch Kit
PDF
Rise of the Wearables
PDF
iOSWatch : New Updates !
PDF
Smartwatches Oooooof!
PDF
Wearable Techology 2014
PDF
Wearing UX—When Our Clothes Become the Interface
PPTX
PPTX
Building a Running App With react-native
PDF
Pre-Conference Course: Wearables Workshop: UX Essentials - Phillip Likens
PPTX
Android Wear Development for beginners
PDF
Break Timer: Android-wear introduction and application case-study
PPTX
POSSIBLE AKTIF! Smartwatch app | Gadgets and Browsers Meetup
PDF
Wearable Technology - Frankie Williams and Cole Cooper
PDF
#PDR15 - Best Use Cases For Timeline
Apple Watch Development w/ Xamarin Watch Kit
Google Wear OS watch faces and applications development - UA Mobile 2019
Wearables meetup
Developing For Android Wear - Part 2
IT Talk smartwatches, Dmitriy Scherbina DataArt Dnepropetrovsk
GDG GeorgeTown Devfest 2014 Presentation: Android Wear: A Developer's Perspec...
Apple Watch Development with Xamarin Watch Kit
Rise of the Wearables
iOSWatch : New Updates !
Smartwatches Oooooof!
Wearable Techology 2014
Wearing UX—When Our Clothes Become the Interface
Building a Running App With react-native
Pre-Conference Course: Wearables Workshop: UX Essentials - Phillip Likens
Android Wear Development for beginners
Break Timer: Android-wear introduction and application case-study
POSSIBLE AKTIF! Smartwatch app | Gadgets and Browsers Meetup
Wearable Technology - Frankie Williams and Cole Cooper
#PDR15 - Best Use Cases For Timeline
Ad

Recently uploaded (20)

PPTX
Benefits of Physical activity for teenagers.pptx
PDF
NewMind AI Weekly Chronicles – August ’25 Week III
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PDF
sustainability-14-14877-v2.pddhzftheheeeee
PDF
Enhancing emotion recognition model for a student engagement use case through...
PDF
Taming the Chaos: How to Turn Unstructured Data into Decisions
PPTX
O2C Customer Invoices to Receipt V15A.pptx
PPTX
The various Industrial Revolutions .pptx
PDF
Getting Started with Data Integration: FME Form 101
PDF
WOOl fibre morphology and structure.pdf for textiles
PDF
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
PDF
A novel scalable deep ensemble learning framework for big data classification...
PDF
CloudStack 4.21: First Look Webinar slides
PPTX
Chapter 5: Probability Theory and Statistics
PDF
Getting started with AI Agents and Multi-Agent Systems
PDF
Architecture types and enterprise applications.pdf
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PPTX
Web Crawler for Trend Tracking Gen Z Insights.pptx
PDF
Developing a website for English-speaking practice to English as a foreign la...
PDF
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
Benefits of Physical activity for teenagers.pptx
NewMind AI Weekly Chronicles – August ’25 Week III
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
sustainability-14-14877-v2.pddhzftheheeeee
Enhancing emotion recognition model for a student engagement use case through...
Taming the Chaos: How to Turn Unstructured Data into Decisions
O2C Customer Invoices to Receipt V15A.pptx
The various Industrial Revolutions .pptx
Getting Started with Data Integration: FME Form 101
WOOl fibre morphology and structure.pdf for textiles
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
A novel scalable deep ensemble learning framework for big data classification...
CloudStack 4.21: First Look Webinar slides
Chapter 5: Probability Theory and Statistics
Getting started with AI Agents and Multi-Agent Systems
Architecture types and enterprise applications.pdf
Group 1 Presentation -Planning and Decision Making .pptx
Web Crawler for Trend Tracking Gen Z Insights.pptx
Developing a website for English-speaking practice to English as a foreign la...
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
Ad

Trending Time - data-driven watch face development for Android Wear