Getting Started With Qubulus
Qubulus call their indoor location API LocLizard, and there is a separate site under this name where all the documentation and downloads are hosted. From here you can view PDFs and videos telling what you need to do, and also download their proprietary recording app called Gecko. This requires registering as a developer which is a pretty standard affair, filling out and submitting a form.
In a nutshell the system works by you overlaying the floor plan of where you want to map on Google Earth, finding the north west and south east coordinates and saving them in a text file, then importing that and the floor plan itself into Gecko. The floor plan will then display on-screen – you tell it where you are by positioning a pin, press record and rotate on the spot for about a minute while it records all the radio signals around it. Once you’ve done all your recordings, you export the data to the SD card, zip it up and send it off to the guys at Qubulus. They then perform some kind of processing, and send you back a fingerprint file. You import the fingerprint file back into Gecko and if all is well, the app will show your position on the floor plan. All sounds good in theory – let’s give it a try!
Getting the Gecko
As I’ve mentioned, I’m primarily an iOS developer so I went on eBay and got myself an old Samsung Galaxy S, for the simple reason that it’s one of the only Android phones I’ve heard of and they were reasonably cheap. Getting to grips with the Android way of doing things has been a learning curve in itself, but after a week of poring over development books and the Android docs I’ve got a good overview of how it all works.
As navigating the phone’s file system is required, it is recommended to download an app called Astro File Manger. I have a Google account, so headed over the Market app on the phone. The first two attempts it told me that market wasn’t available and to try again later. The third time I did finally get to a login page and entered my details. I was then informed that I didn’t have a gmail account, and wasn’t allowed to proceed any further until I set one up. Hmmm. So, after cancelling and repeating the process a couple of times just to be sure that resistance was futile, I succumbed and set up a gmail address I will never use to gain access to the store and downloaded Astro.
You can only install Gecko via the LocLizard site with a developer login. Qubulus recommend the best way to do it is by navigating to the site on the phone, logging into the download area and long-pressing on the download link and tapping “Save Link” to install the app directly from there. I did this, but all that happened was that a php file was downloaded, which if viewed with the HTML viewer showed me the same login page again.
However, the second recommended way is to download the apk file to your machine, mount the phone as removable drive, copy the file over an install it that way (hence Astro, so you can navigate to it). Happily, this worked and I got the app installed.
One thing that did catch me out however is that, on the Galaxy S at least, the phone has an internal SD buried inside somewhere, and also an external one inserted near the sim card. On my mac, when I mount the phone I get two drives, one for the internal and one for the external SD cards. I didn’t notice this at first, so one to be aware if you’re new to Android devices.
Gathering The Information
As stated above, Gecko needs a floor plan and a text file with some GPS coordinates in before you can use it to start recording. I obtained the floor plan for York Designer Outlet from a store guide on the website. Past experience as an artworker in a print studio meant I was able to use Adobe Illustrator to clean it up to just show what I wanted and convert it to a png file (the only format supported).
Next up, you have to take this plan and overlay it in Google Earth in order to find out the coordinates represented by the north west (top left) and south east (bottom right) corners of the image. There’s a video showing you how to do this on the documentation page of the LocLizard site and I found it fairly straightforward. It can be a bit tricky checking that everything’s lined up properly, but you can zoom right in and the image will distort to reflect any changes of elevation and angle. NB make sure that you have shift held down before you click on any of the green lines at the edges – this will keep the image in proportion as you resize it which is crucial for accurate measurements. If you don’t do this, the image will distort and there is no undo. You have to cancel and start again. You can see the overlays below:
To get the coordinates, zoom right in to each of the two required corners and add a place mark. The numbers will appear in a dialog box.
The instructions say to open up a text editor and copy the two coordinates onto the first line, separated by a space. To aid the calculations, the numbers need to be multiplied by one million, which basically just removes the decimal place. Do the same for the other corner and add those coordinates (again with the decimal point removed) on the second line, then save it with a filename of nwse.gps like so:
Setting Up The Site
To import the floor plan and coordinates into Gecko, you need set up a certain folder structure on the device’s internal SD card (it took me a bit of experimentation to work that out). The documentation explains how to it needs to be set up. The only way to know if you’ve been successful is to unmount the phone, launch Gecko and see if your site appears in the list. It took me a few attempts, and I came across the following gotchas:
- In Astro, the internal SD card is referenced by the “sdcard” folder in the root directory. The external card is referenced by the “sd” folder within that “sdcard” folder.
- There appears to be a limit of the size of image that will be accepted. I originally sized the floor plan large so as to get a good resolution when zoomed in – 3200 pixels high. Gecko refused to recognise the site until I halved the height to 1600 pixels.
- I used both MS Word and TextWrangler on the Mac to try and save the gps file but neither resulted in a valid file that Gecko would recognise. In the end, I downloaded the sample file structure from the LocLizard downloads page, opened one of the gps files in there, copied and pasted my data in and reserved, and it worked.
Eventually, after a morning of trial and error, my floor plan appeared in Gecko and I was good to get on-site and take some recordings!