I’ve been playing around a lot lately with different ways to get reminders other than at specific times and using geofences using the iOS Reminders App. I’ve got a second post in the works for my experiences with WeMo motion-based notifications, but I was excited to learn about iBeacons and was eager to try it out. This post will detail my early experiences with successfully setting up my iMac at work as an iBeacon and getting reminders from it on my iPhone 4S. When I started looking for iBeacon software, there was no free out-of-the-box way to set them up that I could find. There’s code available and tutorials on how to write the code, but nothing that I could find that gave a layperson’s perspective on how to get it going. I didn’t want to get into a new coding project. I just wanted to use what was available. This post will show you how to turn your office computer into an iBeacon and get reminders when you get to your office or when you leave your office. It uses, and is based on the excellent code and article for BeaconOSX by Matthew Robinson.
Why would someone need this? The Reminders app has location-based reminders, you say? Well, location based reminders in the Reminders App are based on geofences, which are not very accurate. You get the “when you leave” reminders after you’re a ways down the road, or sometimes even miles away. Same goes for the “when you arrive reminders”. At those times, you’re not paying attention to your phone, you’re looking at the road, and the reminder frequently goes unnoticed or forgotten. With iBeacon reminders, you get “indoor-level” location based reminders, like when you step into a specific room. When you get to your desk, you get reminders relevant to that setting. So it’s really handy when setting reminders to make that important phone call or not to forget your gym shorts.
Requirements. You need at least:
- iPhone 4S or higher with:
- A Mac with
- OS X 10.9 (Mavericks)
- Bluetooth 4.0
- XCode (Apple’s developer software, which is free – don’t worry, no coding required)
The first thing we will do is turn your mac into an iBeacon. Here’s how it works. First, we will download and compile the BeaconOSX application:
- Download BeaconOSX from GitHub (https://github.com/mttrb/BeaconOSX/archive/master.zip)
- Unzip the file by double-clicking it.
- Double-click on the file named “BeaconOSX.xcodeproj”.
- You might be asked to approve new software to be installed. If so, click “Yes”.
- Click the “play” button in the top left corner of the XCode.
This will build and launch the BeaconOSX application. It will put it in a directory similar to this path, though it might be slightly different:
The running app will have a window that looks similar to this:
Next, we’re going to get BeaconOSX to start broadcasting an iBeacon signal. This part took me awhile to figure out, because of that top value in the BeaconOSX window, which is called a UUID. Each beacon has a UUID which is specific to the app you use to detect it. I happened to find the UUID in the image above in the sales record for beacons created for the app “Pocket Informant 4.0” (which I had some difficulty getting to work), but I think any UUID might do. I’d be curious to know more specifics about what makes a valid UUID, but for now, let’s use the UUID above:
Paste that UUID into the top field in the BeaconOSX window and then click “startAdvertising”.
Lastly, we need to install, run, and configure our iOS iBeacon reminders app. We’re going to use Proximitask. Though there may be others out there, this was the first one I was able to get to work. Proximitask is nice because you can enter the same values that BeaconOSX takes.
Go to the App Store App and search for and install Proximitask. When it’s done downloading, run it. You’ll see a screen something like this:
We now need to tell Proximitask about our new beacon.
- Swipe left until you see a button that says “Add New Beacon”. Touch that.
- Give the beacon a name (I chose “Office”).
- Enter the UUID, Major, and Minor values that are in your BeaconOSX window.
- Touch save.
Now, you simply need to restart your computer (and possibly your iPhone). Launch BeaconOSX and click “startAdvertising” again, and you’re good to go.
Proximitask has 2 categories of reminders, “Upon Arrival” and “Upon Exit”. When you click the “+” icon, you will be able to either create a new task for the highlighted category (“Upon Arrival” or “Upon Exit”), or select one to import from the Reminders App. You can feel free to play around. The tasks in Proximitask can be deleted and it will not delete them from the Reminders App.
Some notes… I have yet to play around with/tweak the power of my iBeacon signal. I’m getting my reminders well outside of my office. In fact, my “Upon Exit” reminders are being triggered after I leave the entire building as opposed to exiting my office door. Tweaking the signal strength might improve that, but I’ve yet to play around with the settings. It might be that even if I tweak the settings, I might not get the “Upon Exit” reminders in a timely fashion, as I’ve read that some people have experiences spurious triggering of beacon notifications while their phone is right next to the computer. My guess is that if the signal disappears, Proximitask keeps looking for it for awhile before deciding that you’ve left. This is probably an attempt to prevent spurious triggerings of notifications.
Also, I have not yet configured a way to keep BeaconOSX running through restarts. You can definitely add it to your login items under System Preferences->Users & groups->Click your account->Login Items, but that won’t start up the iBeacon Signal. You’ll still have to click “startAdvertising”. I may whip up some AppleScript to get that going at some point in the future.
I only this week got this all up and running and will report back on my experience after I’ve been using it awhile. Have fun playing around with it.