1. Building Location-Aware Apps
with Open Source & Open Data
#openmaps
Matthew Smollinger
@mattsmollinger
Chuck Greb
@ecgreb
SXSW Interactive | 14 March 2015
2. Mapzen is an open source mapping lab
building and supporting open data and
software to promote a healthy mapping
ecosystem.
3. Skaffl is an EdTech company that
specializes in mobile solutions for the K-12
market.
5. Part 1: Overview
⇢ Location-aware apps
⇢ Open source and open data
Part 2: Maps
⇢ Raster tiles
⇢ Vector tiles
Part 3: Geolocation, Search & Routing
⇢ Location services
⇢ Geocoding
⇢ Navigation
Part 4: Beacons & BLE
⇢ Monitoring and ranging
⇢ Indoor positioning
Agenda
57. osmdroid
⇢ Android only
⇢ Raster tiles
⇢ Started in 2008
⇢ Based on Google Maps API v1
⇢ Online and offline tile sources
⇢ Icons, tracking, and shapes
Maps
66. Tangram ES
⇢ Embedded systems version of Tangram for web
⇢ Native C++ rendering library
⇢ iOS, Android, and Raspberry Pi
⇢ EARLY work in progress!
Maps
89. Pelias is a modular open-source geocoder built on top of
ElasticSearch for fast geocoding.
Pelias
90. /suggest
The suggest endpoint provides a super-fast autocomplete.
This API can be used to quickly find location names which
BEGIN with the input text.
http://pelias.mapzen.com/suggest?input=big%20ben&lat=51.5&lon=-0.06
Pelias
91.
92. /search
The search endpoint provides a full-text search. It will try to
account for spelling mistakes and will search for your input at
any position in the location name.
http://pelias.mapzen.com/search?input=shoreditch&lat=51.5&lon=-0.06
Pelias
93.
94. /reverse
The reverse endpoint returns the nearest locations to your
input lat/lon.
http://pelias.mapzen.com/reverse?lat=51.5&lon=-0.06
Pelias
103. Beacons are awesome!
⇢ How they work
⇢ Cool stuff you can do
⇢ Products and frameworks
⇢ Examples
Beacons & BLE
104. A (quick) Guide to BT4
⇢ Basically three protocols in one
⇢ Bluetooth Low Energy
⇢ Operates in Two modes - Advertise and Connect
⇢ Only advertise is required - connect support is
optional
105. Beacons
⇢ Beacons implement advertise only
⇢ Transmit at regular intervals
⇢ Simplification of the BLE implementation
⇢ Replaces MAC address with UUID
⇢ Major number is for grouping
⇢ Minor number is for individualization
106. Indoor Location
⇢ Several different ways to accomplish
⇢ Wifi Triangulation
⇢ Ultrasonic Location
⇢ BLE Triangulation
⇢ Wifi is lackluster for triangulation
⇢ Ultrasonic need custom hardware
⇢ BLE range is poor compared to wifi or ultrasound
107. Open Source Indoor Location
⇢ Currently in very early discussions in OSM
⇢ A few frameworks / attempts are being made:
⬝ Redpin
⬝ Cricket from MIT
⬝ iLocate
⬝ indoor.io
⇢ Needs more time to bake
⇢ In the mean time...