Aaron Parecki


Mon Aug 19 2013, 10:10am

By Aaron Parecki




Changes to Location History Storage for Geoloqi developers

Geoloqi is all about the real-time location data that supports the Geotrigger service, but we’ve been filling up cloud after cloud with extra data we realized our customers don’t really use.

Going forward, we will stop storing the raw location data points, and instead store the trigger history only – that is, the timestamp and latitude/longitude when a trigger is fired. New Geoloqi apps created after August 13, 2013 will not store location history, and in 30 days we will stop storing new location history for existing Geoloqi apps.

How will this affect my app(s)?

Odds are, it won’t. Unless your app needs to retrieve more than the last known location of a device, you shouldn’t notice a thing. Nothing besides location history is changing.

What if historical location data is important to me?

Do you currently use or plan on using your app’s historical location data? We can turn it on/leave it on for an additional charge/fee (as our normal pricing is just for our Geotrigger Service). Just let us know!


One of our customers uses Geoloqi to track where their app users are located currently, to send them Geotriggered messages, and to look at historical data on where they went, so we will continue storing historical location data for them and others on a case by case basis. The vast majority of our customers only need Geoloqi’s core technologies for their apps: Geotriggers, real-time location tracking, and geocoding.

What’s next?

We’re currently working on an updated version of the Geoloqi platform and an entire re-haul of the API. We aim to make the API easier to use, easier to get started, and require fewer API calls to run. In addition, we’re improving battery life, accuracy and stability of the platform as the number of devices, customers and users of our system grows. Over time, we’ll also be releasing special Geotrigger tools for ArcGIS users and customers, too! We’ll let you know when we’re ready to launch! Once the new API and SDKs are launched, we’ll be publishing a migration and update guide for existing customers, and will begin a wind-down of of the original service. We will provide at least one year (if not more) for all apps to update their SDKs to the new service.


Thanks so much for being a Geoloqi customer or considering using Geoloqi for your apps! We’re here to serve you, so if you have any questions, just let us know!


Wed May 15 2013, 12:12pm

By Aaron Parecki




Here’s why we’re excited about the new Android Location APIs

The ArcGIS Geotrigger Service leverages the latest Android and iPhone technology, when these services improve, our technology improves. Our goal is to make the best cross-platform location services for developers, leveraging the best capabilities of the native location services available for existing consumer devices.

On the iPhone, we’ve leveraged the native geofencing APIs to offer improved battery life compared to using the GPS directly. On Android, there have been minimal location services available from the SDK, essentially limited to turning the raw GPS device on or off.

Three new location APIs were announced today at Google I/O. This is great news for anyone building location-based applications. We’ve been eager for Google to improve the Android location services.

Fused Location Provider

The Fused Location Provider utilizes all of the communication sensors in the phone including wifi, GPS, and cell network, while using only 1% of the battery that previous APIs used.

This is a new service that will greatly improve any application that uses location services. We will improve the ArcGIS Geotrigger SDK for Android significantly by taking advantage of the new Location Provider. Expect to see much better battery life on the Android Geotrigger SDK in the future!


The new Google Geofencing APIs allow apps to respond to the user entering or exiting a configured geofence. The API allows each app to define 100 geofences simultaneously.

This is great news for the ArcGIS Geotrigger SDK, since we will be able to leverage this service to provide better battery life and performance in the SDK. Previously we were limited to turning on and off the GPS device. Now we will be able to use the geofencing API in combination with our optimization algorithms to better provide our Geotrigger service.

Activity Recognition

The new Activity Recognition API uses machine learning classifiers to determine whether the user is walking, cycling or driving. Apps will be able to adjust their behavior depending on the user’s mode of transport. This is done in a very battery efficient way, no GPS is required.

We will leverage this new API to make further improvements to managing the native location services, and it should open up possibilities for some interesting new apps to be built.

The ArcGIS Geotrigger Service

The ArcGIS Geotrigger Service allows developers to easily manage Geotrigger rules with a simple cloud-based API, while also supporting geofences defined as polygons. You can configure an essentially unlimited number of Geotrigger rules in the API, and only the nearby ones will be synced to the phone, making it easy to handle the limitations of the native APIs.

Many of the battery life issues people experience are due to poor implementations of using the Apple and Android location services. It’s easy for a developer to leave the GPS on all the time, but that drains battery quickly. The Geotrigger SDK efficiently manages the native location services and optimizes the server communication required to send location data, saving battery life wherever possible.

The improvements to the Android location APIs are fantastic news and will result in improved Geotrigger services and a better experience for developers!

Aaron Parecki
CTO, Esri R&D Center, Portland

Amber Case
Director, Esri R&D Center, Portland


Thu Jan 3 2013, 2:14pm

By Aaron Parecki




Join Geoloqi and Esri at the Foursquare Hackathon in San Francisco!

The Foursquare Hackathon returns this weekend! Come build great connected apps using Geoloqi‘s Geotrigger platform (now a part of Esri!) this Saturday January 5th at Foursquare HQ in SF. Today is the last day to sign up!

View from Foursquare SF Offices


Build something amazing and you might just find yourself ringing the NASDAQ closing bell, rocking tickets to SXSW, partying with an action figure version of yourself, or wearing the infamous foursquare hackathon TITLE BELT.

What tech can you use?

Interested in adding location-based messaging to an app? How about getting an alert when you are around items on you Foursquare todo list? Start with the Geoloqi SDK for iPhone or Android, then max it out with Esri maps, intelligent routing, geocoding and more. Consider what your app could do if it knew where it was all the time then add the awesomeness of Foursquare to the picture.

Check out the other ideas on the Hackathon Wishlist that require alerts based on proximity or dwell time.

Sign Up!

You can get a head start on this weekend by signing up for a free account on developers.geoloqi.com, checking out our GitHub repository github.com/geoloqi, and downloading our sample apps from the Apple or Android app stores (for the frequent flier, try Everyday City which lets you automatically share the cities you visit).

We’ll have folks from our SF and Portland teams there to get you started using the technology and brainstorm great ideas. Hope to see you there.


Tue Mar 6 2012, 1:13pm

By Aaron Parecki




Everywhere I’ve Been: Data Portraits Powered by 3.5 years of data and 2.5 million GPS Points

Visualization of 2.5 million GPS points for 3.5 years

About the These Maps

These are images of map generated entirely from GPS logs gathered by various versions of the Geoloqi sample application for iPhone and Android for the past 3.5 years. Once gathered, the data was run through a custom script that projects the GPS logs onto a 2D image plane. There is a little bit of logic to smooth out the lines and remove some (but not all) GPS noise.

Aaron Parecki's GPS Map of Everywhere he's been in Portland since 2008

How Many Data Points?

Approximately one GPS point was recorded every 2-6 seconds when I was moving, and these images represent about 2.5 million total GPS points. Collectively, they represent a data portrait of my life: everywhere I’ve been and the places I’ve been most frequently. The map is colored by year, so you can see how my footprint changes over the years, depending on where I live.

Aaron Parecki's GPS Logs since 2008.This is a map of everywhere I’ve been in Portland from 2008 to March 2012.

The long diagonal lines are airplane flights in and out of PDX. Some of the flights loop over the city when they take off.

Aaron Parecki's GPS Logs from Palo Alto - 2009-2012

Aaron Parecki's GPS Logs from the Bay Area - 2008-2012

Aaron Parecki's GPS map from San Francisco - 2009-2012


To get data at this resolution, I had to bring back-up batteries with me and charge my phone whenever I could. I would manually turn the tracker on when I moved, and turn it off when I was at an indoor location for a long period of time. To get this level of accuracy results in a great deal of battery drain.

One of the reasons why I started Geoloqi is to be able to make tracking this kind of data easier for myself, and to improve battery life (along the way we took some of my manual methods for battery management and bundled it up into a set of mobile SDKs for iPhone and Android for adding location to applications without the intensive battery drain).

Below is an image of the script while it is running to produce the GPS maps. You can see a video of it processing a couple million GPS points here.

Command Line Prompt for Entering GPS Data

Use in Media

Some of the earlier images of the GPS maps started appearing in Wired online starting last year.

Wired - Threat Level Blog - GPS Tracking


My fascination with GPS and data logging began at a relatively early age (around 10-12 years old, from 4th-6th grade). I recently found my stack of notepads from 3/29/1995 through 6/9/1997 where I logged my commute to school. I have mostly complete logs for the entire date range, including start time, end time, time traveled, who drove, and in what car. In addition, I used to take a highlighter

Analog Commute Logs - 1995-1997

Why do This?

I’ve always found it interesting to take raw data and make it visible. Before GPS chips were available in smartphones, it was very difficult to get high resolution data like this. Ubiquitous provides a way to see over time what was formerly invisible data. It allows one to see over time. In each of these cases, I’ve been able to process the raw data to answer personal questions like “what time is best to leave the house in the morning for work?”. Best of all, it is private data that I own and can do with what I like.

More Images

If you’d like to see all of the images I’ve recorded over the past 3.5 years, there’s a GPS Logs set on Flickr here.


This article was written by Aaron Parecki, Co-Founder of Geoloqi, a powerful platform for real-time location. You can follow him on Twitter @aaronpk.


Sat Jan 14 2012, 12:12pm

By Aaron Parecki




Export your places from SimpleGeo Storage to Geoloqi

This tool will allow you to transfer your SimpleGeo Storage data over to Geoloqi. It makes Geoloqi Layers for each SimpleGeo Layer, and converts Records to Geoloqi Places for each of the layers.

All you need to run the command is a Geoloqi Access Token, and the SimpleGEO OAuth Key and Secret. You can sign up for a Geoloqi account at The Geoloqi Web Site and retrieve your access token from the Geoloqi Developers site.

This script is provided as an executable via Rubygems, which means it runs on any Mac OSX computer out-of-the-box (and on any Windows/Linux machines with ruby available).


Open up a terminal and run this in the command line:

$ gem install geoloqi-simplegeo-import


Run the script from the command line:


The script will output information on the transferred data, and give you a link to our Layer Editor so you can see and edit your Layers and Places (we have a GUI interface for your data!).

Places in Geoloqi

Searching for Nearby Layers and Places

With Geoloqi you can search for nearby layers and places very easily with these two API calls:

You can experiment with running these API calls directly from cURL or from our Developers Console:

We have SDK libraries for Ruby, JavaScript, Node.JS, PHP, and more coming very, very soon.

There is a lot of other stuff you can do with Geoloqi, such as geolocation triggers/callbacks and geo-messaging. Visit our web site to read more about us (and where we’re going).


Feel free to file any issues on Github, we will respond to them as soon as possible. If you need any features here we haven’t provided, don’t hesitate to contact us.


This is a quick-fix solution. However we are planning on making a more stable, complete tool for importing data to Geoloqi from other sources (and for exporting your data out of Geoloqi). We feel it’s in your best interest to have total control of your data at all times, and we want to help you solve problems, including the problem of transferring data between your machine and cloud services.