How I Tracked My House Movements Using iBeacons
Without writing code or an app.
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 exploration 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).
The first step was to find iBeacons we could use for our testing. We first ordered iBeacons from Estimote and when they never arrived, we ordered 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 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 - all of them somewhat limiting. The only app I found that allowed me to control what happens when triggering an iBeacon was an app called Placed.
Although this app wasn’t a perfect fit, it allowed me to call some actions after triggering an iBeacon. Placed lets you use custom URL Schemes. These URL Schemes allow you to open apps and even populate an action.
One of the more complicated tasks of setting up any iBeacon manually is gathering the information on the iBeacon itself. There are three key pieces of information each iBeacon contains - a UUID, Major ID, and a Minor ID. To get this information, you can install an app that detects iBeacons and shares this information- like Locate for iBeacon.Once you have this information, you can set up your iBeacons using Placed. It’s a bit cumbersome to set each one up but you only have to do it once.As a side note, the Placed 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 Placed app is controlled by the user, it triggers a lock screen notification when you turn on your phone and are less then three meters away from any iBeacon.This is a bit interesting, but it’s the approch that Placed took so they could give the user a bit of control when triggering actions. Ideally, this 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._(Placed 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 Placed, it opens Tumblr and pre-populates a text post with the word “kitchen”, or whatever room you’re setting. Then, you manually tap post and it’s added… this allows you 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 an 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.
Now I have a time-stamped dataset tracking my movement in my house — at least the three rooms I 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.
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.