Intro to the ArcGIS
Geotrigger Service
Aaron Parecki @aaronpk
CTO, Esri R&D Center Portland
What could your app do if
it knew where it was?
Geotrigger:
An Invisible Button
message
Use Cases
What about
Battery
Drain?
Reduces power use away
from content

Increases power
near content
Home Automation
When you get
home, your lights
turn on!

When you leave
the house, your
lights turn off!
Real-time location-based gaming
http://pdx.esri.com/
Geotrigger Technology
• Mobile

SDKs
• Web APIs
• Battery Management
• Tracking Profiles
Geotrigger Components
• Condition
• Action

(area) Polygon

(can be a message or a callback

URL)
• Tags

(to group content)

- Example:
- Tags
- Can

Wikipedia article data

for Buildings, History

allow users to subscribe to a subset of
the data
Content
Tags
Polygon Geotriggers
Visual Geotrigger Editor
Visual Geotrigger Editor
Visual Geotrigger Editor
Delayed
Messagin
g

Rough
Mode

Least Battery
Drain
Data collected by one device in rough
mode
Fast
Messagin
g

Adaptive
Mode

Minimal
Drain
Fastest
Messaging

Fine
Mode

Most Battery
Drain
Data collected by one device in
real-time mode
2.5 million points since 2008
March 2011: iPhone 3GS, 4
Nov 2013: iPhone 4s, 5, 5S
Mobile App Privacy
We can
do better
than this:
Consolidate and
simplify settings
and permissions
Present privacy
controls at the
point of content
creation.
•

Instagram, Facebook,
Foursquare do this well.

•

Expose privacy controls
with every piece of content
that can be created or
shared in a given system.
Location should be
just one part of
your app
•

AMP Energy Drink app was
a game first, and used
location to enhance the
experience
No one is perfect
•

Hosting user data is a
privilege, not a right.

•

Apologize immediately
when you screw up, and
fix the problem
immediately.

•

Always give users
something in return for
giving up their data.
Geotrigger SDKs and API
Available tomorrow!
developers.arcgis.com
developers.arcgis.com
Thank you!
developers.arcgis.com

Aaron Parecki, CTO
Esri R&D Center Portland
aparecki@esri.com
geotriggersales@esri.com

Intro to the ArcGIS Geotrigger Service

Editor's Notes

  • #4 We talk about the Geotrigger service as a way to create invisible buttons.
  • #5 The Geotrigger service allows you to define geographical areas on a map, and define rules of what should happen when a device enters or leaves the area.How do you make a Geotrigger?It's easy. SImply define the area you'd like to set the trigger in. Thiscan be a point and a radius, a polygon, or a series of polygons.Then define the action - this can be whether someone is entering,dwelling or leaving an area.Then define the message. This could be a coupon, a civic notification,piece of location-based information, or notification to another service.Don't want a message to be triggered all of the time? You can also addother metadata like hours or dates. For instance, you could haver amessage trigger only between 9am and am on Mondays, or you could set amessages to be delivered when a user is 500 meters away from a givenpoint.
  • #7 Redbox - 6th visit to redbox, free rental on us!new massage studio nearbynot at home, turned off your lights!facts about nearby building coupons for food cartsnearby eventsreal estate search
  • #8 a lot of great dedicated hardware for persistent tracking, plug in to a truck or embedded in the vehicle.But for smartphones, need to do better than constantly having the GPS turned on. I'm sure at least some of you have tried to use some older apps that use GPS and have noticed the effect it has on your phone's battery life.
  • #9 We’ve been spending a long time optimizing battery life across all the different devices. We’ve come up with a way to reduce power while the device is not nearby any triggers, only using power when it’s nearby triggers.
  • #11 To test this new technology we've been building, we created a real-time game called MapAttack. You split into red and blue teams, then run around outside and collect the virtual coins you see on the map.
  • #12 We use this to test the performance of the Geotrigger API by getting lots of people together to play and making the server do a lot of work to calculate whether people have encountered each geofence.
  • #13 I am going to share some of how the Geotrigger API works. It is composed of mobile SDKs for Android and iPhone, web APIs that can be used from any environment. The SDKs have a lot of code that deals with battery management, and to help with that we've developed what we call "tracking profiles" which I'll talk more about in a few minutes.
  • #14 A geotrigger rule is composed of three things. A condition, an action and tags.
  • #15 We use tags to organize the content. You could have a tag for each category of business
  • #16 The triggers can be either polygons or circles. This is an example of several different types of triggers all created within an application.
  • #17 You can use the API to create triggers, or use our new geotrigger editor to create them visually on a map.
  • #18 After you've defined the shape, you can set the properties of the triggers.
  • #19 Setting the tags, whether it should run on enter or exit.Send a message to the device, should it include a URL or a sound?Instead, you could also send the notification to your own server.You can also instruct the phone to change tracking profiles when it enters or leaves a region, allowing you to do powerful things like get detailed information about where a device is only when it's within a certain region.
  • #20 Rough mode Only gathers approximate location data Good for determining if a device is in a given city or neighborhoodThe most battery efficient
  • #22 Adaptive mode Optimized for Geotrigger™ eventsWill use less power when farther away from triggers and content
  • #23 Highest resolutionSends accurate location as fast as possible Least battery efficient
  • #25 There are a lot of different devices on the market. With the iPhone family it's not as bad because there's only a few different models and OS versions. But with Android, each hardware manufacturer puts different hardware into the device, and each carrier customizes the software slighty differently. The result is a huge number of different devices each behaving slightly different when it comes to GPS.We've gone and done all the hard work of figuring out the capabilities of each device and optimizing the Geotrigger SDK to work best on each platform.
  • #30 Just like in the
  • #36 Come to the Technical Session tomorrow for in-depth focus on how to use Geotrigger service in your app.