SlideShare a Scribd company logo
1 of 12
Download to read offline
WhereWhat
Find amenities with your wearable
Concept description
“WhereWhat - Find amenities retrieved from the
OpenStreetMap database with your wearable -
fast and easy navigation at your fingertip”
OpenStreetMap / Overpass-Turbo query
[out:json]
;
node
(around:600,52.516667,13.383333)
["amenity"="post_box"];
out qt 13;
Overpass QL
OpenStreetMap / Overpass-Turbo response
{
"version": 0.6,
"generator": "Overpass API",
"osm3s": { /* ... */ },
"elements": [
{
"type": "node",
"id": 2194034324,
"lat": 52.5463884,
"lon": 13.3523559,
"tags": {
"addr:city": "Berlin",
"addr:country": "DE",
"addr:housenumber": "12",
"addr:postcode": "13353",
"addr:street": "Ostenderstraße",
"amenity": "post_box",
"collection_times": "Mo-Fr 16:15; Sa 12:00",
"lastcheck": "2015-02-16",
"operator": "Deutsche Post",
"postal_code": "13353",
"ref": "Ostenderstraße 12, 13353 Berlin"
}
},
{ /* ... */ }
]
}
OpenStreetMap Java library
https://github.com/johnjohndoe/Overpass
featuring:
- Retrofit
- Moshi
- OkHttp
- JUnit
- AssertJ
WhereWhat / Screenshots
Build-in feature types
- WLAN
- Library
- Cafe
- Cinema
- Postbox
- Bicycle parking
- Trash can
- Bus
- Bank
Extensibility
public List<FeatureType> get() {
return new ArrayList<FeatureType>() {
{
add(new FeatureType(new HashMap<String, String>() {{
put("internet_access", "wlan");
}}, R.drawable.ic_action_wifi, R.string.wifi));
add(new FeatureType("post_box", R.drawable.ic_action_mail, R.string.mailbox));
// Add more feature types here
// ...
}
}
What are you interested in?
Libraries used
apt 'com.google.dagger:dagger-compiler:2.0.2 '
compile 'com.google.dagger:dagger:2.0.2 '
compile 'com.android.support:support-annotations:23.1.1 '
compile 'com.google.android.support:wearable:1.3.0 '
compile 'com.google.android.gms:play-services-location:8.3.0 '
compile 'com.google.android.gms:play-services-maps:8.3.0 '
compile 'com.google.android.gms:play-services-wearable:8.3.0 '
compile 'com.github.johnjohndoe:Overpass:2ee1603696f5346abe05d8ec3cb2261bfa4ac423 '
compile 'com.jakewharton:butterknife:7.0.1 '
compile 'com.squareup.okhttp:okhttp:2.6.0 '
compile 'com.squareup.okhttp:logging-interceptor:2.6.0 '
compile 'com.squareup.moshi:moshi:1.0.0 '
compile 'org.ligi:AXT:0.35 '
provided 'org.glassfish:javax.annotation:10.0-b28 '
testCompile ' junit:junit:4.12 '
testCompile ' com.squareup.assertj:assertj-android:1.1.1 '
testCompile ' com.android.support:support-annotations:23.1.1 '
Lessons learned
- WiFi vs. Bluetooth
- Watch + handheld vs. Android Virtual Device
- Wearable Data Layer API
- Wear emulator goes offline
- Wear emulator API level 23 crashes when working with ADB
Live demo
What could possibly go wrong ...
WhereWhat
Sources: https://github.com/ligi/WhereWhat
by Ligi & Tobi
November 26-28, 2015

More Related Content

Similar to WhereWhat

Building and Scaling the Internet of Things with MongoDB at Vivint
Building and Scaling the Internet of Things with MongoDB at Vivint Building and Scaling the Internet of Things with MongoDB at Vivint
Building and Scaling the Internet of Things with MongoDB at Vivint MongoDB
 
Gent ixor - datadive-v.0.9 (1)
Gent  ixor - datadive-v.0.9 (1)Gent  ixor - datadive-v.0.9 (1)
Gent ixor - datadive-v.0.9 (1)AppsForGhent
 
Conceptos básicos. Seminario web 5: Introducción a Aggregation Framework
Conceptos básicos. Seminario web 5: Introducción a Aggregation FrameworkConceptos básicos. Seminario web 5: Introducción a Aggregation Framework
Conceptos básicos. Seminario web 5: Introducción a Aggregation FrameworkMongoDB
 
FIWARE Training: IoT and Legacy
FIWARE Training: IoT and LegacyFIWARE Training: IoT and Legacy
FIWARE Training: IoT and LegacyFIWARE
 
Rawnet Lightning Talk - Elasticsearch
Rawnet Lightning Talk -  ElasticsearchRawnet Lightning Talk -  Elasticsearch
Rawnet Lightning Talk - ElasticsearchRawnet
 
GraphQL as a REST wrapper
GraphQL as a REST wrapperGraphQL as a REST wrapper
GraphQL as a REST wrapperMichal Sänger
 
Session 7 - Connecting to Legacy Systems, IoT and other Systems | Train the T...
Session 7 - Connecting to Legacy Systems, IoT and other Systems | Train the T...Session 7 - Connecting to Legacy Systems, IoT and other Systems | Train the T...
Session 7 - Connecting to Legacy Systems, IoT and other Systems | Train the T...FIWARE
 
Tracking and visualizing COVID-19 with Elastic stack
Tracking and visualizing COVID-19 with Elastic stackTracking and visualizing COVID-19 with Elastic stack
Tracking and visualizing COVID-19 with Elastic stackAnna Ossowski
 
What are customers building with new Bing Maps capabilities
What are customers building with new Bing Maps capabilitiesWhat are customers building with new Bing Maps capabilities
What are customers building with new Bing Maps capabilitiesMicrosoft Tech Community
 
SDKs, the good the bad the ugly - Japan
SDKs, the good the bad the ugly - JapanSDKs, the good the bad the ugly - Japan
SDKs, the good the bad the ugly - Japantristansokol
 
Accepting payments using Stripe and Elixir
Accepting payments using Stripe and ElixirAccepting payments using Stripe and Elixir
Accepting payments using Stripe and ElixirAndrew Forward
 
SFScon17 - Patrick Puecher: "Exploring data with Elasticsearch and Kibana"
SFScon17 - Patrick Puecher: "Exploring data with Elasticsearch and Kibana"SFScon17 - Patrick Puecher: "Exploring data with Elasticsearch and Kibana"
SFScon17 - Patrick Puecher: "Exploring data with Elasticsearch and Kibana"South Tyrol Free Software Conference
 
Spacebrew & Arduino Yún
Spacebrew & Arduino YúnSpacebrew & Arduino Yún
Spacebrew & Arduino YúnJohan Nilsson
 
NodeJS Blockchain.info Wallet
NodeJS Blockchain.info WalletNodeJS Blockchain.info Wallet
NodeJS Blockchain.info WalletSjors Provoost
 
Web 2.0 Patterns and Technologies - Lecture 07 - Web Information Systems (401...
Web 2.0 Patterns and Technologies - Lecture 07 - Web Information Systems (401...Web 2.0 Patterns and Technologies - Lecture 07 - Web Information Systems (401...
Web 2.0 Patterns and Technologies - Lecture 07 - Web Information Systems (401...Beat Signer
 
MongoDB Analytics: Learn Aggregation by Example - Exploratory Analytics and V...
MongoDB Analytics: Learn Aggregation by Example - Exploratory Analytics and V...MongoDB Analytics: Learn Aggregation by Example - Exploratory Analytics and V...
MongoDB Analytics: Learn Aggregation by Example - Exploratory Analytics and V...MongoDB
 
A model based approach for developing event-driven architectures with AsyncAPI
A model based approach for developing event-driven architectures with AsyncAPIA model based approach for developing event-driven architectures with AsyncAPI
A model based approach for developing event-driven architectures with AsyncAPIabgolla
 
MongoDB World 2016: The Best IoT Analytics with MongoDB
MongoDB World 2016: The Best IoT Analytics with MongoDBMongoDB World 2016: The Best IoT Analytics with MongoDB
MongoDB World 2016: The Best IoT Analytics with MongoDBMongoDB
 
Go Serverless with Cloud Functions and Python
Go Serverless with Cloud Functions and PythonGo Serverless with Cloud Functions and Python
Go Serverless with Cloud Functions and Pythonmfazal
 

Similar to WhereWhat (20)

Building and Scaling the Internet of Things with MongoDB at Vivint
Building and Scaling the Internet of Things with MongoDB at Vivint Building and Scaling the Internet of Things with MongoDB at Vivint
Building and Scaling the Internet of Things with MongoDB at Vivint
 
ChContext
ChContextChContext
ChContext
 
Gent ixor - datadive-v.0.9 (1)
Gent  ixor - datadive-v.0.9 (1)Gent  ixor - datadive-v.0.9 (1)
Gent ixor - datadive-v.0.9 (1)
 
Conceptos básicos. Seminario web 5: Introducción a Aggregation Framework
Conceptos básicos. Seminario web 5: Introducción a Aggregation FrameworkConceptos básicos. Seminario web 5: Introducción a Aggregation Framework
Conceptos básicos. Seminario web 5: Introducción a Aggregation Framework
 
FIWARE Training: IoT and Legacy
FIWARE Training: IoT and LegacyFIWARE Training: IoT and Legacy
FIWARE Training: IoT and Legacy
 
Rawnet Lightning Talk - Elasticsearch
Rawnet Lightning Talk -  ElasticsearchRawnet Lightning Talk -  Elasticsearch
Rawnet Lightning Talk - Elasticsearch
 
GraphQL as a REST wrapper
GraphQL as a REST wrapperGraphQL as a REST wrapper
GraphQL as a REST wrapper
 
Session 7 - Connecting to Legacy Systems, IoT and other Systems | Train the T...
Session 7 - Connecting to Legacy Systems, IoT and other Systems | Train the T...Session 7 - Connecting to Legacy Systems, IoT and other Systems | Train the T...
Session 7 - Connecting to Legacy Systems, IoT and other Systems | Train the T...
 
Tracking and visualizing COVID-19 with Elastic stack
Tracking and visualizing COVID-19 with Elastic stackTracking and visualizing COVID-19 with Elastic stack
Tracking and visualizing COVID-19 with Elastic stack
 
What are customers building with new Bing Maps capabilities
What are customers building with new Bing Maps capabilitiesWhat are customers building with new Bing Maps capabilities
What are customers building with new Bing Maps capabilities
 
SDKs, the good the bad the ugly - Japan
SDKs, the good the bad the ugly - JapanSDKs, the good the bad the ugly - Japan
SDKs, the good the bad the ugly - Japan
 
Accepting payments using Stripe and Elixir
Accepting payments using Stripe and ElixirAccepting payments using Stripe and Elixir
Accepting payments using Stripe and Elixir
 
SFScon17 - Patrick Puecher: "Exploring data with Elasticsearch and Kibana"
SFScon17 - Patrick Puecher: "Exploring data with Elasticsearch and Kibana"SFScon17 - Patrick Puecher: "Exploring data with Elasticsearch and Kibana"
SFScon17 - Patrick Puecher: "Exploring data with Elasticsearch and Kibana"
 
Spacebrew & Arduino Yún
Spacebrew & Arduino YúnSpacebrew & Arduino Yún
Spacebrew & Arduino Yún
 
NodeJS Blockchain.info Wallet
NodeJS Blockchain.info WalletNodeJS Blockchain.info Wallet
NodeJS Blockchain.info Wallet
 
Web 2.0 Patterns and Technologies - Lecture 07 - Web Information Systems (401...
Web 2.0 Patterns and Technologies - Lecture 07 - Web Information Systems (401...Web 2.0 Patterns and Technologies - Lecture 07 - Web Information Systems (401...
Web 2.0 Patterns and Technologies - Lecture 07 - Web Information Systems (401...
 
MongoDB Analytics: Learn Aggregation by Example - Exploratory Analytics and V...
MongoDB Analytics: Learn Aggregation by Example - Exploratory Analytics and V...MongoDB Analytics: Learn Aggregation by Example - Exploratory Analytics and V...
MongoDB Analytics: Learn Aggregation by Example - Exploratory Analytics and V...
 
A model based approach for developing event-driven architectures with AsyncAPI
A model based approach for developing event-driven architectures with AsyncAPIA model based approach for developing event-driven architectures with AsyncAPI
A model based approach for developing event-driven architectures with AsyncAPI
 
MongoDB World 2016: The Best IoT Analytics with MongoDB
MongoDB World 2016: The Best IoT Analytics with MongoDBMongoDB World 2016: The Best IoT Analytics with MongoDB
MongoDB World 2016: The Best IoT Analytics with MongoDB
 
Go Serverless with Cloud Functions and Python
Go Serverless with Cloud Functions and PythonGo Serverless with Cloud Functions and Python
Go Serverless with Cloud Functions and Python
 

More from tobiaspreuss

State of EventFahrplan 2021 - NO/WHERE edition
State of EventFahrplan 2021 - NO/WHERE editionState of EventFahrplan 2021 - NO/WHERE edition
State of EventFahrplan 2021 - NO/WHERE editiontobiaspreuss
 
State of EventFahrplan 2021
State of EventFahrplan 2021State of EventFahrplan 2021
State of EventFahrplan 2021tobiaspreuss
 
Getting started with building your own standalone Gradle plugin
Getting started with building your own standalone Gradle pluginGetting started with building your own standalone Gradle plugin
Getting started with building your own standalone Gradle plugintobiaspreuss
 
35C3: EventFahrplan - Lightning Talk - Day 2
35C3: EventFahrplan - Lightning Talk - Day 235C3: EventFahrplan - Lightning Talk - Day 2
35C3: EventFahrplan - Lightning Talk - Day 2tobiaspreuss
 
CycleHack 2017 Berlin - How to continue
CycleHack 2017 Berlin - How to continueCycleHack 2017 Berlin - How to continue
CycleHack 2017 Berlin - How to continuetobiaspreuss
 
How to setup unit testing in Android Studio
How to setup unit testing in Android StudioHow to setup unit testing in Android Studio
How to setup unit testing in Android Studiotobiaspreuss
 

More from tobiaspreuss (7)

State of EventFahrplan 2021 - NO/WHERE edition
State of EventFahrplan 2021 - NO/WHERE editionState of EventFahrplan 2021 - NO/WHERE edition
State of EventFahrplan 2021 - NO/WHERE edition
 
State of EventFahrplan 2021
State of EventFahrplan 2021State of EventFahrplan 2021
State of EventFahrplan 2021
 
Getting started with building your own standalone Gradle plugin
Getting started with building your own standalone Gradle pluginGetting started with building your own standalone Gradle plugin
Getting started with building your own standalone Gradle plugin
 
35C3: EventFahrplan - Lightning Talk - Day 2
35C3: EventFahrplan - Lightning Talk - Day 235C3: EventFahrplan - Lightning Talk - Day 2
35C3: EventFahrplan - Lightning Talk - Day 2
 
CycleHack 2017 Berlin - How to continue
CycleHack 2017 Berlin - How to continueCycleHack 2017 Berlin - How to continue
CycleHack 2017 Berlin - How to continue
 
Wo ist Markt?
Wo ist Markt?Wo ist Markt?
Wo ist Markt?
 
How to setup unit testing in Android Studio
How to setup unit testing in Android StudioHow to setup unit testing in Android Studio
How to setup unit testing in Android Studio
 

Recently uploaded

Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 

Recently uploaded (20)

Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 

WhereWhat

  • 2. Concept description “WhereWhat - Find amenities retrieved from the OpenStreetMap database with your wearable - fast and easy navigation at your fingertip”
  • 3. OpenStreetMap / Overpass-Turbo query [out:json] ; node (around:600,52.516667,13.383333) ["amenity"="post_box"]; out qt 13; Overpass QL
  • 4. OpenStreetMap / Overpass-Turbo response { "version": 0.6, "generator": "Overpass API", "osm3s": { /* ... */ }, "elements": [ { "type": "node", "id": 2194034324, "lat": 52.5463884, "lon": 13.3523559, "tags": { "addr:city": "Berlin", "addr:country": "DE", "addr:housenumber": "12", "addr:postcode": "13353", "addr:street": "Ostenderstraße", "amenity": "post_box", "collection_times": "Mo-Fr 16:15; Sa 12:00", "lastcheck": "2015-02-16", "operator": "Deutsche Post", "postal_code": "13353", "ref": "Ostenderstraße 12, 13353 Berlin" } }, { /* ... */ } ] }
  • 7. Build-in feature types - WLAN - Library - Cafe - Cinema - Postbox - Bicycle parking - Trash can - Bus - Bank
  • 8. Extensibility public List<FeatureType> get() { return new ArrayList<FeatureType>() { { add(new FeatureType(new HashMap<String, String>() {{ put("internet_access", "wlan"); }}, R.drawable.ic_action_wifi, R.string.wifi)); add(new FeatureType("post_box", R.drawable.ic_action_mail, R.string.mailbox)); // Add more feature types here // ... } } What are you interested in?
  • 9. Libraries used apt 'com.google.dagger:dagger-compiler:2.0.2 ' compile 'com.google.dagger:dagger:2.0.2 ' compile 'com.android.support:support-annotations:23.1.1 ' compile 'com.google.android.support:wearable:1.3.0 ' compile 'com.google.android.gms:play-services-location:8.3.0 ' compile 'com.google.android.gms:play-services-maps:8.3.0 ' compile 'com.google.android.gms:play-services-wearable:8.3.0 ' compile 'com.github.johnjohndoe:Overpass:2ee1603696f5346abe05d8ec3cb2261bfa4ac423 ' compile 'com.jakewharton:butterknife:7.0.1 ' compile 'com.squareup.okhttp:okhttp:2.6.0 ' compile 'com.squareup.okhttp:logging-interceptor:2.6.0 ' compile 'com.squareup.moshi:moshi:1.0.0 ' compile 'org.ligi:AXT:0.35 ' provided 'org.glassfish:javax.annotation:10.0-b28 ' testCompile ' junit:junit:4.12 ' testCompile ' com.squareup.assertj:assertj-android:1.1.1 ' testCompile ' com.android.support:support-annotations:23.1.1 '
  • 10. Lessons learned - WiFi vs. Bluetooth - Watch + handheld vs. Android Virtual Device - Wearable Data Layer API - Wear emulator goes offline - Wear emulator API level 23 crashes when working with ADB
  • 11. Live demo What could possibly go wrong ...