This document introduces the ArcGIS Geotrigger service, which allows apps to trigger actions or messages based on a user's location. It discusses use cases like home automation and location-based gaming. The document outlines the geotrigger technology components, including mobile SDKs, APIs, and battery management. It also shows how geotriggers can be created and customized visually in an editor. Finally, it discusses best practices for privacy in location-based apps and announces that geotrigger SDKs and APIs will be available the next day.
13. 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
30. 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.
31. Location should be
just one part of
your app
•
AMP Energy Drink app was
a game first, and used
location to enhance the
experience
32. 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.
We talk about the Geotrigger service as a way to create invisible buttons.
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.
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
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.
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.
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.
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.
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.
A geotrigger rule is composed of three things. A condition, an action and tags.
We use tags to organize the content. You could have a tag for each category of business
The triggers can be either polygons or circles. This is an example of several different types of triggers all created within an application.
You can use the API to create triggers, or use our new geotrigger editor to create them visually on a map.
After you've defined the shape, you can set the properties of the triggers.
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.
Rough mode Only gathers approximate location data Good for determining if a device is in a given city or neighborhoodThe most battery efficient
Adaptive mode Optimized for Geotrigger™ eventsWill use less power when farther away from triggers and content
Highest resolutionSends accurate location as fast as possible Least battery efficient
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.
Just like in the
Come to the Technical Session tomorrow for in-depth focus on how to use Geotrigger service in your app.