SlideShare a Scribd company logo
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
 
ChContext
ChContextChContext
ChContext
Marco Montanari
 
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 Framework
MongoDB
 
FIWARE Training: IoT and Legacy
FIWARE Training: IoT and LegacyFIWARE Training: IoT and Legacy
FIWARE Training: IoT and Legacy
FIWARE
 
Rawnet Lightning Talk - Elasticsearch
Rawnet Lightning Talk -  ElasticsearchRawnet Lightning Talk -  Elasticsearch
Rawnet Lightning Talk - Elasticsearch
Rawnet
 
GraphQL as a REST wrapper
GraphQL as a REST wrapperGraphQL as a REST wrapper
GraphQL as a REST wrapper
Michal 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 stack
Anna 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 capabilities
Microsoft 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 - Japan
tristansokol
 
Accepting payments using Stripe and Elixir
Accepting payments using Stripe and ElixirAccepting payments using Stripe and Elixir
Accepting payments using Stripe and Elixir
Andrew 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ún
Johan Nilsson
 
NodeJS Blockchain.info Wallet
NodeJS Blockchain.info WalletNodeJS Blockchain.info Wallet
NodeJS Blockchain.info Wallet
Sjors 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 AsyncAPI
abgolla
 
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
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
mfazal
 

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 edition
tobiaspreuss
 
State of EventFahrplan 2021
State of EventFahrplan 2021State of EventFahrplan 2021
State of EventFahrplan 2021
tobiaspreuss
 
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
tobiaspreuss
 
35C3: EventFahrplan - Lightning Talk - Day 2
35C3: EventFahrplan - Lightning Talk - Day 235C3: EventFahrplan - Lightning Talk - Day 2
35C3: EventFahrplan - Lightning Talk - Day 2
tobiaspreuss
 
CycleHack 2017 Berlin - How to continue
CycleHack 2017 Berlin - How to continueCycleHack 2017 Berlin - How to continue
CycleHack 2017 Berlin - How to continue
tobiaspreuss
 
Wo ist Markt?
Wo ist Markt?Wo ist Markt?
Wo ist Markt?
tobiaspreuss
 
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
tobiaspreuss
 

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

Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate
 
Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)
abdulrafaychaudhry
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
Google
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 

Recently uploaded (20)

Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
 
Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 

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 ...