SlideShare a Scribd company logo
1 of 89
Download to read offline
How to build your own ride-share app
Richard Süselbeck
Amsterdam | April 2-3, 2019
How do they do that?
Richard Süselbeck
Principal Developer Evangelist
HERE Technologies
@sueselbeck @heredev
https://developer.here.com
2018-08-29 12.52.24.jpg
2018-08-29 12.52.24.jpg
2018-08-29 12.52.24.jpg
Where to?
Pickup: 72 Noble St, Brooklyn
Confirm ride
"Where am I?"
"Where am I?"
Positioning API
PositioningManager positioningManager = PositioningManager.getInstance();
positioningManager.start(PositioningManager.LocationMethod.GPS_NETWORK);
GeoCoordinate coordinate = positioningManager.getPosition().getGeocoordinate();
String locationString = coordinate.getLatitude() + "," + coordinate.getLongitude();
Toast.makeText(getApplicationContext(), locationString, Toast.LENGTH_SHORT).show();
PositioningManager positioningManager = PositioningManager.getInstance();
positioningManager.start(PositioningManager.LocationMethod.GPS_NETWORK);
GeoCoordinate coordinate = positioningManager.getPosition().getGeocoordinate();
String locationString = coordinate.getLatitude() + "," + coordinate.getLongitude();
Toast.makeText(getApplicationContext(), locationString, Toast.LENGTH_SHORT).show();
PositioningManager positioningManager = PositioningManager.getInstance();
positioningManager.start(PositioningManager.LocationMethod.GPS_NETWORK);
GeoCoordinate coordinate = positioningManager.getPosition().getGeocoordinate();
String locationString = coordinate.getLatitude() + "," + coordinate.getLongitude();
Toast.makeText(getApplicationContext(), locationString, Toast.LENGTH_SHORT).show();
PositioningManager positioningManager = PositioningManager.getInstance();
positioningManager.start(PositioningManager.LocationMethod.GPS_NETWORK);
GeoCoordinate coordinate = positioningManager.getPosition().getGeocoordinate();
String locationString = coordinate.getLatitude() + "," + coordinate.getLongitude();
Toast.makeText(getApplicationContext(), locationString, Toast.LENGTH_SHORT).show();
"Where am I?"
40.728215,-73.958251
"Where am I?"
52.38326, 4.92032
We are currently at 52.38326, 4.92032. What does that mean?
Latitude & Longitude
Latitude Longitude
Equator
Prime Meridian
+60
-30
-90 (South)
+90 (North) 180
-120 (West)
+30 (East)
Where does the lat/long come from?
Where does the lat/long come from?
GPS
GNSS
Where does the lat/long come from?
GPS, GLONASS, GALILEO, BeiDou, IRNSS, QZSS
Where does the lat/long come from?
GNSS
"Where am I?"
40.728215, -73.958251
"Where am I?"
40.728215, -73.958251
Maps API
"Where am I?"
Making maps is hard
Making maps is hard
m_map.setCenter(new GeoCoordinate(40.75051,-73.99335),
Map.Animation.NONE);
m_map.setMapScheme(Map.Scheme.HYBRID_NIGHT_TRANSIT);
m_map.setLandmarksVisible(true);
m_map.setZoomLevel(17);
m_map.setTilt(45);
"Where am I?"
"Where am I?"
Pickup: 72 Noble St, Brooklyn
Geocoder API
"Where am I?"
Pickup: 72 Noble St, Brooklyn
Geocoder API
Gedempt Hamerkanaal,
1021 Amsterdam, Nederland52.38344, 4.92044
72 Noble St, Brooklyn,
NY 11222, USA
40.728215, -73.958251
GeoCoordinate pickup = new GeoCoordinate(40.728215,-73.958251);
ReverseGeocodeRequest2 revGeocodeRequest = new
ReverseGeocodeRequest2(pickup);
revGecodeRequest.execute(new ResultListener<Location>() {
@Override
public void onCompleted(Location location, ErrorCode errorCode) {
updateTextView(location.getAddress().toString());
}
});
GeoCoordinate pickup = new GeoCoordinate(40.728215,-73.958251);
ReverseGeocodeRequest2 revGeocodeRequest = new
ReverseGeocodeRequest2(pickup);
revGecodeRequest.execute(new ResultListener<Location>() {
@Override
public void onCompleted(Location location, ErrorCode errorCode) {
updateTextView(location.getAddress().toString());
}
});
GeoCoordinate pickup = new GeoCoordinate(40.728215,-73.958251);
ReverseGeocodeRequest2 revGecodeRequest = new
ReverseGeocodeRequest2(pickup);
revGecodeRequest.execute(new ResultListener<Location>() {
@Override
public void onCompleted(Location location, ErrorCode errorCode) {
updateTextView(location.getAddress().toString());
}
});
"Where are the drivers?"
Pickup: 72 Noble St, Brooklyn
"Where are the drivers?"
Pickup: 72 Noble St, Brooklyn
"Where are the drivers?"
Pickup: 72 Noble St, Brooklyn
Positioning API
"Where am I going?"200 Central Park W
Pickup: 72 Noble St, Brooklyn
"Where am I going?"200 Central Park W
Pickup: 72 Noble St, Brooklyn
200 Central Park W, New York
200 Central Park S, New York
200 Central Park N, New York
200 Central Ave, Brooklyn
Geocoder
Autocomplete API
200 Central Park W
Pickup: 72 Noble St, Brooklyn
200 Central Park W, New York
200 Central Park S, New York
200 Central Park N, New York
200 Central Ave, Brooklyn
"Where am I going?"
http://autocomplete.geocoder.api.here.com/6.2/suggest.json
?app_id=MY_APP_ID
&app_code=MY_APP_CODE
&query=200+central+park
&prox=40.76863,-73.97626,3000
http://autocomplete.geocoder.api.here.com/6.2/suggest.json
?app_id=MY_APP_ID
&app_code=MY_APP_CODE
&query=200+central+park
&prox=40.76863,-73.97626,3000
http://autocomplete.geocoder.api.here.com/6.2/suggest.json
?app_id=MY_APP_ID
&app_code=MY_APP_CODE
&query=200+central+park
&prox=40.76863,-73.97626,3000
http://autocomplete.geocoder.api.here.com/6.2/suggest.json
?app_id=MY_APP_ID
&app_code=MY_APP_CODE
&query=200+central+park
&prox=40.76863,-73.97626,3000
{
"suggestions": [
{
"label": "United States, NY, New York, 200 Central Park W",
"language": "en",
"countryCode": "USA",
"locationId": "NT_srx4m-dHrwiUBDnXi3NAwD_yADM",
"address": {
"country": "United States",
"state": "NY",
"county": "New York",
"city": "New York",
"district": "Upper West Side",
"street": "Central Park W",
"houseNumber": "200",
"postalCode": "10024"
},
"matchLevel": "houseNumber"
},
{
"label": "United States, NY, New York, 200 Central Park S",
...
},
...
]
}
"Where am I going?"american museum of
Pickup: 72 Noble St, Brooklyn
American Museum of Natural History
American Museum of the Moving Image
Museum of the American Gangster
Museum of Chinese in the Americas
Places API
american museum of
Pickup: 72 Noble St, Brooklyn
American Museum of Natural History
American Museum of the Moving Image
Museum of the American Gangster
Museum of Chinese in the Americas
"Where am I going?"
DiscoveryRequest request = new SearchRequest("american museum of");
GeoCoordinate manhattan = new GeoCoordinate(40.71451, -74.00602);
request.setSearchCenter(manhattan);
request.setCollectionSize(5);
request.execute(new SearchRequestListener());
class SearchRequestListener implements ResultListener<DiscoveryResultPage> {
@Override
public void onCompleted(DiscoveryResultPage data, ErrorCode error) {
List<DiscoveryResult> items = data.getItems();
for (DiscoveryResult item : items) {
PlaceLink placeLink = (PlaceLink) item;
// display information
}
}
}
DiscoveryRequest request = new SearchRequest("american museum of");
GeoCoordinate manhattan = new GeoCoordinate(40.71451, -74.00602);
request.setSearchCenter(manhattan);
request.setCollectionSize(5);
request.execute(new SearchRequestListener());
class SearchRequestListener implements ResultListener<DiscoveryResultPage> {
@Override
public void onCompleted(DiscoveryResultPage data, ErrorCode error) {
List<DiscoveryResult> items = data.getItems();
for (DiscoveryResult item : items) {
PlaceLink placeLink = (PlaceLink) item;
// display information
}
}
}
"How long does it take?"
"How much does it cost?"
"What is the route?"
american museum of
Pickup: 72 Noble St, Brooklyn
American Museum of Natural History
American Museum of the Moving Image
Museum of the American Gangster
Museum of Chinese in the Americas
"How long does it take?"
"How much does it cost?"
"What is the route?"
Confirm ride
28 min - $24 - $29
Routing API
"How long does it take?"
"How much does it cost?"
"What is the route?"
Confirm ride
28 min - $24 - $29
CoreRouter router = new CoreRouter();
RoutePlan routePlan = new RoutePlan();
routePlan.addWaypoint(new RouteWaypoint(
new GeoCoordinate(40.728215,-73.958251)));
routePlan.addWaypoint(new RouteWaypoint(
new GeoCoordinate(49.1947289, -123.1762924)));
RouteOptions routeOptions = new RouteOptions();
routeOptions.setTransportMode(RouteOptions.TransportMode.CAR);
routeOptions.setRouteType(RouteOptions.Type.FASTEST);
routePlan.setRouteOptions(routeOptions);
router.calculateRoute(routePlan, new RouteListener());
CoreRouter router = new CoreRouter();
RoutePlan routePlan = new RoutePlan();
routePlan.addWaypoint(new RouteWaypoint(
new GeoCoordinate(40.728215,-73.958251)));
routePlan.addWaypoint(new RouteWaypoint(
new GeoCoordinate(49.1947289, -123.1762924)));
RouteOptions routeOptions = new RouteOptions();
routeOptions.setTransportMode(RouteOptions.TransportMode.CAR);
routeOptions.setRouteType(RouteOptions.Type.FASTEST);
routePlan.setRouteOptions(routeOptions);
router.calculateRoute(routePlan, new RouteListener());
CoreRouter router = new CoreRouter();
RoutePlan routePlan = new RoutePlan();
routePlan.addWaypoint(new RouteWaypoint(
new GeoCoordinate(40.728215,-73.958251)));
routePlan.addWaypoint(new RouteWaypoint(
new GeoCoordinate(49.1947289, -123.1762924)));
RouteOptions routeOptions = new RouteOptions();
routeOptions.setTransportMode(RouteOptions.TransportMode.CAR);
routeOptions.setRouteType(RouteOptions.Type.FASTEST);
routePlan.setRouteOptions(routeOptions);
router.calculateRoute(routePlan, new RouteListener());
CoreRouter router = new CoreRouter();
RoutePlan routePlan = new RoutePlan();
routePlan.addWaypoint(new RouteWaypoint(
new GeoCoordinate(40.728215,-73.958251)));
routePlan.addWaypoint(new RouteWaypoint(
new GeoCoordinate(49.1947289, -123.1762924)));
RouteOptions routeOptions = new RouteOptions();
routeOptions.setTransportMode(RouteOptions.TransportMode.CAR);
routeOptions.setRouteType(RouteOptions.Type.FASTEST);
routePlan.setRouteOptions(routeOptions);
router.calculateRoute(routePlan, new RouteListener());
private class RouteListener implements CoreRouter.Listener {
public void onProgress(int percentage) {
// Display a message indicating calculation progress
}
public void onCalculateRouteFinished(List<RouteResult> routeResult,
RoutingError error) {
mapRoute = new MapRoute(routeResult.get(0).getRoute());
map.addMapObject(mapRoute);
updateTextView(routeResult.get(0).getRoute().getLength());
}
}
private class RouteListener implements CoreRouter.Listener {
public void onProgress(int percentage) {
// Display a message indicating calculation progress
}
public void onCalculateRouteFinished(List<RouteResult> routeResult,
RoutingError error) {
mapRoute = new MapRoute(routeResult.get(0).getRoute());
map.addMapObject(mapRoute);
updateTextView(routeResult.get(0).getRoute().getLength());
}
}
private class RouteListener implements CoreRouter.Listener {
public void onProgress(int percentage) {
// Display a message indicating calculation progress
}
public void onCalculateRouteFinished(List<RouteResult> routeResult,
RoutingError error) {
mapRoute = new MapRoute(routeResult.get(0).getRoute());
map.addMapObject(mapRoute);
updateTextView(routeResult.get(0).getRoute().getLength());
}
}
...
"length": 9919,
"travelTime": 1664,
"maneuver": [
{
"position": {
"latitude": 40.728361,
“longitude": -73.9582743
},
"instruction": "Head toward West St on Noble St. Go for 79 m.",
"travelTime": 15,
"length": 79,
"id": "M1",
"_type": "PrivateTransportManeuverType"
},
{
"position": {
"latitude": 40.7282925,
"longitude": -73.9590061
},
"instruction": "Turn right onto West St. Go for 239 m.",
...
"Which drivers are nearby?"
Finding nearby drivers…
Isoline Routing API
"Which drivers are nearby?"
Finding nearby drivers…
Isoline Routing API
"Which drivers can reach
me in 10 minutes?"
Finding nearby drivers…
https://isoline.route.api.here.com/routing/7.2/calculateisoline.json
?app_id={YOUR_APP_ID}
&app_code={YOUR_APP_CODE}
&mode=fastest;car;traffic:enabled
&destination=40.728215,-73.958251
&range=600
&rangetype=time
https://isoline.route.api.here.com/routing/7.2/calculateisoline.json
?app_id={YOUR_APP_ID}
&app_code={YOUR_APP_CODE}
&mode=fastest;car;traffic:enabled
&destination=40.728215,-73.958251
&range=600
&rangetype=time
https://isoline.route.api.here.com/routing/7.2/calculateisoline.json
?app_id={YOUR_APP_ID}
&app_code={YOUR_APP_CODE}
&mode=fastest;car;traffic:enabled
&destination=40.728215,-73.958251
&range=600
&rangetype=time
Routing API
Positioning API
"Where is my driver?"
"When does she arrive?"
Where to?
Your driver will arrive in 4 mins
Confirm ride
$28.27
Thanks for riding with HERE, Richard!
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec ac mi a
sem viverra lobortis. Donec at massa vel nibh lobortis laoreet. Orci varius
natoque penatibus et magnis dis parturient montes, nascetur ridiculus
mus. Praesent finibus facilisis nisi, id consectetur eros scelerisque non.
Suspendisse ut ligula interdum, dictum velit vel, interdum erat. Sed
vulputate laoreet tempus. Sed varius felis sed lorem semper commodo.
Thank you for riding with Richard!
Give a compliment?
@sueselbeck
https://developer.here.com/

More Related Content

Similar to How to Build Your Own Ride-Share App - codemotion amsterdam 2019

How to Build Your Own Ridesharing App (droidcon NYC 2018)
How to Build Your Own Ridesharing App (droidcon NYC 2018)How to Build Your Own Ridesharing App (droidcon NYC 2018)
How to Build Your Own Ridesharing App (droidcon NYC 2018)Richard Süselbeck
 
Creating an Uber Clone - Part XVII.pdf
Creating an Uber Clone - Part XVII.pdfCreating an Uber Clone - Part XVII.pdf
Creating an Uber Clone - Part XVII.pdfShaiAlmog1
 
GeoTechTalk InkSatogaeri Project
GeoTechTalk InkSatogaeri ProjectGeoTechTalk InkSatogaeri Project
GeoTechTalk InkSatogaeri ProjectKentaro Ishimaru
 
Background Life with Android O and beyond - Yonatan Levin, KolGene
Background Life with Android O and beyond - Yonatan Levin, KolGeneBackground Life with Android O and beyond - Yonatan Levin, KolGene
Background Life with Android O and beyond - Yonatan Levin, KolGeneDroidConTLV
 
Migrating from Flux to Redux. Why and how.
Migrating from Flux to Redux. Why and how.Migrating from Flux to Redux. Why and how.
Migrating from Flux to Redux. Why and how.Astrails
 
10. Kapusta, Stofanak - eGlu
10. Kapusta, Stofanak - eGlu10. Kapusta, Stofanak - eGlu
10. Kapusta, Stofanak - eGluMobCon
 
Creating an Uber Clone - Part XVIII - Transcript.pdf
Creating an Uber Clone - Part XVIII - Transcript.pdfCreating an Uber Clone - Part XVIII - Transcript.pdf
Creating an Uber Clone - Part XVIII - Transcript.pdfShaiAlmog1
 
Where20 2008 Ruby Tutorial
Where20 2008 Ruby TutorialWhere20 2008 Ruby Tutorial
Where20 2008 Ruby TutorialShoaib Burq
 
Barcamp GoogleMaps - praktické ukázky kódu
Barcamp GoogleMaps - praktické ukázky kóduBarcamp GoogleMaps - praktické ukázky kódu
Barcamp GoogleMaps - praktické ukázky kóduMilos Lenoch
 
Sapo GIS Hands-On
Sapo GIS Hands-OnSapo GIS Hands-On
Sapo GIS Hands-Oncodebits
 
Gis SAPO Hands On
Gis SAPO Hands OnGis SAPO Hands On
Gis SAPO Hands Oncodebits
 
Garmin Developer Summit 2018 - Talk
Garmin Developer Summit 2018 - TalkGarmin Developer Summit 2018 - Talk
Garmin Developer Summit 2018 - TalkHERE Technologies
 
Creating an Uber Clone - Part XXIX.pdf
Creating an Uber Clone - Part XXIX.pdfCreating an Uber Clone - Part XXIX.pdf
Creating an Uber Clone - Part XXIX.pdfShaiAlmog1
 
Beacons, Raspberry Pi & Node.js
Beacons, Raspberry Pi & Node.jsBeacons, Raspberry Pi & Node.js
Beacons, Raspberry Pi & Node.jsJeff Prestes
 
Average- An android project
Average- An android projectAverage- An android project
Average- An android projectIpsit Dash
 
Developing Applications with Microsoft Virtual Earth
Developing Applications with Microsoft Virtual EarthDeveloping Applications with Microsoft Virtual Earth
Developing Applications with Microsoft Virtual Earthgoodfriday
 
Creating an Uber Clone - Part XV.pdf
Creating an Uber Clone - Part XV.pdfCreating an Uber Clone - Part XV.pdf
Creating an Uber Clone - Part XV.pdfShaiAlmog1
 
Mashup caravan android-talks
Mashup caravan android-talksMashup caravan android-talks
Mashup caravan android-talkshonjo2
 

Similar to How to Build Your Own Ride-Share App - codemotion amsterdam 2019 (20)

How to Build Your Own Ridesharing App (droidcon NYC 2018)
How to Build Your Own Ridesharing App (droidcon NYC 2018)How to Build Your Own Ridesharing App (droidcon NYC 2018)
How to Build Your Own Ridesharing App (droidcon NYC 2018)
 
Creating an Uber Clone - Part XVII.pdf
Creating an Uber Clone - Part XVII.pdfCreating an Uber Clone - Part XVII.pdf
Creating an Uber Clone - Part XVII.pdf
 
GeoTechTalk InkSatogaeri Project
GeoTechTalk InkSatogaeri ProjectGeoTechTalk InkSatogaeri Project
GeoTechTalk InkSatogaeri Project
 
Background Life with Android O and beyond - Yonatan Levin, KolGene
Background Life with Android O and beyond - Yonatan Levin, KolGeneBackground Life with Android O and beyond - Yonatan Levin, KolGene
Background Life with Android O and beyond - Yonatan Levin, KolGene
 
Migrating from Flux to Redux. Why and how.
Migrating from Flux to Redux. Why and how.Migrating from Flux to Redux. Why and how.
Migrating from Flux to Redux. Why and how.
 
10. Kapusta, Stofanak - eGlu
10. Kapusta, Stofanak - eGlu10. Kapusta, Stofanak - eGlu
10. Kapusta, Stofanak - eGlu
 
Creating an Uber Clone - Part XVIII - Transcript.pdf
Creating an Uber Clone - Part XVIII - Transcript.pdfCreating an Uber Clone - Part XVIII - Transcript.pdf
Creating an Uber Clone - Part XVIII - Transcript.pdf
 
Where20 2008 Ruby Tutorial
Where20 2008 Ruby TutorialWhere20 2008 Ruby Tutorial
Where20 2008 Ruby Tutorial
 
Barcamp GoogleMaps - praktické ukázky kódu
Barcamp GoogleMaps - praktické ukázky kóduBarcamp GoogleMaps - praktické ukázky kódu
Barcamp GoogleMaps - praktické ukázky kódu
 
Sapo GIS Hands-On
Sapo GIS Hands-OnSapo GIS Hands-On
Sapo GIS Hands-On
 
Gis SAPO Hands On
Gis SAPO Hands OnGis SAPO Hands On
Gis SAPO Hands On
 
Garmin Developer Summit 2018 - Talk
Garmin Developer Summit 2018 - TalkGarmin Developer Summit 2018 - Talk
Garmin Developer Summit 2018 - Talk
 
Creating an Uber Clone - Part XXIX.pdf
Creating an Uber Clone - Part XXIX.pdfCreating an Uber Clone - Part XXIX.pdf
Creating an Uber Clone - Part XXIX.pdf
 
Beacons, Raspberry Pi & Node.js
Beacons, Raspberry Pi & Node.jsBeacons, Raspberry Pi & Node.js
Beacons, Raspberry Pi & Node.js
 
Average- An android project
Average- An android projectAverage- An android project
Average- An android project
 
Developing Applications with Microsoft Virtual Earth
Developing Applications with Microsoft Virtual EarthDeveloping Applications with Microsoft Virtual Earth
Developing Applications with Microsoft Virtual Earth
 
Creating an Uber Clone - Part XV.pdf
Creating an Uber Clone - Part XV.pdfCreating an Uber Clone - Part XV.pdf
Creating an Uber Clone - Part XV.pdf
 
Mashup caravan android-talks
Mashup caravan android-talksMashup caravan android-talks
Mashup caravan android-talks
 
Fact, Fiction, and FP
Fact, Fiction, and FPFact, Fiction, and FP
Fact, Fiction, and FP
 
YQL Tutorial
YQL TutorialYQL Tutorial
YQL Tutorial
 

More from Richard Süselbeck

Smart Mobility Hackathon Mumbai
Smart Mobility Hackathon MumbaiSmart Mobility Hackathon Mumbai
Smart Mobility Hackathon MumbaiRichard Süselbeck
 
Where the Heck Am I? Understanding Location in Your Application (Droidcon 2019)
Where the Heck Am I? Understanding Location in Your Application (Droidcon 2019)Where the Heck Am I? Understanding Location in Your Application (Droidcon 2019)
Where the Heck Am I? Understanding Location in Your Application (Droidcon 2019)Richard Süselbeck
 
Maps for Autonomous Driving - it-symposium.ruhr 2019 Bochum
Maps for Autonomous Driving - it-symposium.ruhr 2019 BochumMaps for Autonomous Driving - it-symposium.ruhr 2019 Bochum
Maps for Autonomous Driving - it-symposium.ruhr 2019 BochumRichard Süselbeck
 
Making the Most of Maps in Your Connect IQ Apps - Garmin Connect IQ Developer...
Making the Most of Maps in Your Connect IQ Apps - Garmin Connect IQ Developer...Making the Most of Maps in Your Connect IQ Apps - Garmin Connect IQ Developer...
Making the Most of Maps in Your Connect IQ Apps - Garmin Connect IQ Developer...Richard Süselbeck
 
Droidcon Hackathon - Turin 2019
Droidcon Hackathon - Turin 2019Droidcon Hackathon - Turin 2019
Droidcon Hackathon - Turin 2019Richard Süselbeck
 
Neue Wege für die Mobilität Hackathon - Augsburg 2018
Neue Wege für die Mobilität Hackathon - Augsburg 2018Neue Wege für die Mobilität Hackathon - Augsburg 2018
Neue Wege für die Mobilität Hackathon - Augsburg 2018Richard Süselbeck
 
TechCrunch Disrupt San Francisco 2018 - Workshop Intro
TechCrunch Disrupt San Francisco 2018 - Workshop IntroTechCrunch Disrupt San Francisco 2018 - Workshop Intro
TechCrunch Disrupt San Francisco 2018 - Workshop IntroRichard Süselbeck
 
Smart Mobility Hackathon Prague 2018
Smart Mobility Hackathon Prague 2018Smart Mobility Hackathon Prague 2018
Smart Mobility Hackathon Prague 2018Richard Süselbeck
 
Garmin Developer Summit 2018 - Lightning Talk
Garmin Developer Summit 2018 - Lightning TalkGarmin Developer Summit 2018 - Lightning Talk
Garmin Developer Summit 2018 - Lightning TalkRichard Süselbeck
 
HERE Intermodal Routing API (GeoMonday Berlin 2018)
HERE Intermodal Routing API (GeoMonday Berlin 2018)HERE Intermodal Routing API (GeoMonday Berlin 2018)
HERE Intermodal Routing API (GeoMonday Berlin 2018)Richard Süselbeck
 
Data for Happiness Hackathon 2018 Dubai
Data for Happiness Hackathon 2018 DubaiData for Happiness Hackathon 2018 Dubai
Data for Happiness Hackathon 2018 DubaiRichard Süselbeck
 
HERE at Bosch Connected Experience Hackathon
HERE at Bosch Connected Experience HackathonHERE at Bosch Connected Experience Hackathon
HERE at Bosch Connected Experience HackathonRichard Süselbeck
 
Critical Apps Challenge 2018 Webinar
Critical Apps Challenge 2018 WebinarCritical Apps Challenge 2018 Webinar
Critical Apps Challenge 2018 WebinarRichard Süselbeck
 
Location 2.0 (Wherecamp Berlin November 2017)
Location 2.0 (Wherecamp Berlin November 2017)Location 2.0 (Wherecamp Berlin November 2017)
Location 2.0 (Wherecamp Berlin November 2017)Richard Süselbeck
 
SpaceTech Hackathon 2017 Webinar
SpaceTech Hackathon 2017 WebinarSpaceTech Hackathon 2017 Webinar
SpaceTech Hackathon 2017 WebinarRichard Süselbeck
 
Introduction to Map and Location APIs (Silicon Valley Code Camp 2017)
Introduction to Map and Location APIs (Silicon Valley Code Camp 2017)Introduction to Map and Location APIs (Silicon Valley Code Camp 2017)
Introduction to Map and Location APIs (Silicon Valley Code Camp 2017)Richard Süselbeck
 
The Future of Location Technology for Developers (GeoIT Navigation Talks Berl...
The Future of Location Technology for Developers (GeoIT Navigation Talks Berl...The Future of Location Technology for Developers (GeoIT Navigation Talks Berl...
The Future of Location Technology for Developers (GeoIT Navigation Talks Berl...Richard Süselbeck
 
Introduction to the HERE APIs (#AH10 Seattle July 2017)
Introduction to the HERE APIs (#AH10 Seattle July 2017)Introduction to the HERE APIs (#AH10 Seattle July 2017)
Introduction to the HERE APIs (#AH10 Seattle July 2017)Richard Süselbeck
 

More from Richard Süselbeck (18)

Smart Mobility Hackathon Mumbai
Smart Mobility Hackathon MumbaiSmart Mobility Hackathon Mumbai
Smart Mobility Hackathon Mumbai
 
Where the Heck Am I? Understanding Location in Your Application (Droidcon 2019)
Where the Heck Am I? Understanding Location in Your Application (Droidcon 2019)Where the Heck Am I? Understanding Location in Your Application (Droidcon 2019)
Where the Heck Am I? Understanding Location in Your Application (Droidcon 2019)
 
Maps for Autonomous Driving - it-symposium.ruhr 2019 Bochum
Maps for Autonomous Driving - it-symposium.ruhr 2019 BochumMaps for Autonomous Driving - it-symposium.ruhr 2019 Bochum
Maps for Autonomous Driving - it-symposium.ruhr 2019 Bochum
 
Making the Most of Maps in Your Connect IQ Apps - Garmin Connect IQ Developer...
Making the Most of Maps in Your Connect IQ Apps - Garmin Connect IQ Developer...Making the Most of Maps in Your Connect IQ Apps - Garmin Connect IQ Developer...
Making the Most of Maps in Your Connect IQ Apps - Garmin Connect IQ Developer...
 
Droidcon Hackathon - Turin 2019
Droidcon Hackathon - Turin 2019Droidcon Hackathon - Turin 2019
Droidcon Hackathon - Turin 2019
 
Neue Wege für die Mobilität Hackathon - Augsburg 2018
Neue Wege für die Mobilität Hackathon - Augsburg 2018Neue Wege für die Mobilität Hackathon - Augsburg 2018
Neue Wege für die Mobilität Hackathon - Augsburg 2018
 
TechCrunch Disrupt San Francisco 2018 - Workshop Intro
TechCrunch Disrupt San Francisco 2018 - Workshop IntroTechCrunch Disrupt San Francisco 2018 - Workshop Intro
TechCrunch Disrupt San Francisco 2018 - Workshop Intro
 
Smart Mobility Hackathon Prague 2018
Smart Mobility Hackathon Prague 2018Smart Mobility Hackathon Prague 2018
Smart Mobility Hackathon Prague 2018
 
Garmin Developer Summit 2018 - Lightning Talk
Garmin Developer Summit 2018 - Lightning TalkGarmin Developer Summit 2018 - Lightning Talk
Garmin Developer Summit 2018 - Lightning Talk
 
HERE Intermodal Routing API (GeoMonday Berlin 2018)
HERE Intermodal Routing API (GeoMonday Berlin 2018)HERE Intermodal Routing API (GeoMonday Berlin 2018)
HERE Intermodal Routing API (GeoMonday Berlin 2018)
 
Data for Happiness Hackathon 2018 Dubai
Data for Happiness Hackathon 2018 DubaiData for Happiness Hackathon 2018 Dubai
Data for Happiness Hackathon 2018 Dubai
 
HERE at Bosch Connected Experience Hackathon
HERE at Bosch Connected Experience HackathonHERE at Bosch Connected Experience Hackathon
HERE at Bosch Connected Experience Hackathon
 
Critical Apps Challenge 2018 Webinar
Critical Apps Challenge 2018 WebinarCritical Apps Challenge 2018 Webinar
Critical Apps Challenge 2018 Webinar
 
Location 2.0 (Wherecamp Berlin November 2017)
Location 2.0 (Wherecamp Berlin November 2017)Location 2.0 (Wherecamp Berlin November 2017)
Location 2.0 (Wherecamp Berlin November 2017)
 
SpaceTech Hackathon 2017 Webinar
SpaceTech Hackathon 2017 WebinarSpaceTech Hackathon 2017 Webinar
SpaceTech Hackathon 2017 Webinar
 
Introduction to Map and Location APIs (Silicon Valley Code Camp 2017)
Introduction to Map and Location APIs (Silicon Valley Code Camp 2017)Introduction to Map and Location APIs (Silicon Valley Code Camp 2017)
Introduction to Map and Location APIs (Silicon Valley Code Camp 2017)
 
The Future of Location Technology for Developers (GeoIT Navigation Talks Berl...
The Future of Location Technology for Developers (GeoIT Navigation Talks Berl...The Future of Location Technology for Developers (GeoIT Navigation Talks Berl...
The Future of Location Technology for Developers (GeoIT Navigation Talks Berl...
 
Introduction to the HERE APIs (#AH10 Seattle July 2017)
Introduction to the HERE APIs (#AH10 Seattle July 2017)Introduction to the HERE APIs (#AH10 Seattle July 2017)
Introduction to the HERE APIs (#AH10 Seattle July 2017)
 

Recently uploaded

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 

Recently uploaded (20)

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 

How to Build Your Own Ride-Share App - codemotion amsterdam 2019