How I tracked my house movements using iBeacons.

Without writing code or an app.

Joe Johnston
Universal Mind

--

Recently I’ve started experimenting more and more with iBeacons. Being part of the R&D Group at Universal Mind I’ve had the opportunity to do a lot of testing and exploring of different products. In doing so, I wanted to see how someone could utilize iBeacons without building your own app, just yet (I’ll tackle this in a future post).

Roximity Dev iBeacon

The first step was to find iBeacons we could use for our testing. Our first choice was ordering the iBeacons from Estimote and after waiting for them to arrive (they never did), we ordered other beacons from various companies. The first set to arrive was from Roximity, which came to us as a set of 3 dev iBeacons.

Next, I wanted to see if I could track movements in my own house just as a simple test, without creating a custom app. I looked for a few apps that could detect the iBeacons and execute an action. There are a few apps capable of doing this, but all of them were somewhat limiting. The only app I found that allowed me to control what happens when triggering an iBeacon was an app called Launch Here (Formally Placed).

Launch Here iOS app

Although this app wasn’t a perfect fit, it did allow me to call some actions after triggering an iBeacon. Launch Here allows you to use custom URL Schemes. These URL Schemes allow you to open apps and even populate an action.

Locate for iBeacons, showing UUID, Major ID and Minor ID.

One of the more complicated tasks of setting up any iBeacon manually is you need to gather some infomation on the iBeacon itself. The 3 key pieces of info each iBeacon contains is a UUID, Major ID, and Minor ID. To get this info you can install an app, like Locate for iBeacon that detects iBeacons and shows this information.

Once you have this info you can set up your iBeacons using Launch Here. Its a bit cumbersome to set each one up but you only have to do it once.

(As a side note the Launch Here app is a bit touchy when setting up the iBeacons so be warned. You may have to re-enter the URL Scheme info if you fat finger it.)

Like I said before, the Launch Here app is controlled by the user, it triggers a lock screen notification when you turn on your phone and are less then 3 meters away from any iBeacon.

A triggered Launch Here (Formally Placed) notification

This is a bit interesting, but it’s the approch that Launch Here took so they could give the user a bit of control when triggering actions. Ideally this all would happen behind the scenes to the user in a custom app.

The custom URL Schemes are pretty powerful but you still need to manually trigger them. Here’s my set up.

Launch Here app adding iBeacon info and Custom URL Scheme

I have the Tumblr app installed on my phone which has the ablity to use a post URL Scheme. The URL Scheme looks like this:

tumblr://x-callback-url/text?title=kitchen

Once that URL Scheme is triggered from Launch Here it opens Tumblr and pre-populates a text post with the word “kitchen”, or with the name of the room I set. I manually tap post and its added. This allows me to capture each iBeacon location and store the data.

The next step was to create a more data friendly format. I love using a service called IFTTT. It’s a very power platform that allows you to automatically trigger other services. I created a IFTTT recipe that auto adds a row to a Google Spreadsheet with the Time Stamp and Text that is entered into a text post to my Tumblr Account.

Google Spreadsheet with time stamp and text from Tumblr text post.

Now I have a time stamped dataset tracking my movement in my house — at least the three rooms I have set up. With that data you can imagine how you can start to break it apart. Here’s just an example of my current break down based on room.

Current room breakdown using iBeacons

As you can see it’s possible to track your movement, albeit a bit cumbersome. Taking this data and bubbling it up to the user could be very compelling in certain situations. I’m just using my personal home location here but you can see how this could be very powerful in other settings.

I am the Director of User Experience / Research & Development at Universal Mind — A Digital Solutions Agency. You can follow me on twitter at @merhl.

--

--

Joe Johnston
Universal Mind

Group Creative Director and co-head of studio @ymedialabs