One of the projects we developed during the Ship It Days was WAY – our very first person locator tool that aims to track everyone inside our building. Even though our building isn’t so enormous that we can search for someone for hours, it can be quite inconvenient if you went looking for someone behind their desk and it turns out that they’re on the other side of the building.
Already at the beginning of the Ship It Days, it turned out that our goals were way too ambitious. Not that that was really surprising. Just look at the Estimote community for instance: there are just so many cool applications for location based tools. Originally we wanted to focus us on the following things:
We wanted a map that could show where everyone was inside the building. This way you could easily check where someone was or if the meeting rooms or bathrooms were occupied. For people who were not at the HQ, we wanted to provide the option to add a flair, such as ‘Working from home’. We also wanted to have the option to add some devices on our map – like those tablets that always seem to get lost.
If there was some time left, we also wanted to add a search button that could be used to look for someone by name or by team. Oh, and maybe we could calculate a heatmap for every employee, so that when someone forgets their phone at their desk, we can show the greatest likelihood of where find them. You never know when that comes in handy.
The Meeting Assistant
The goal here was to monitor the occupancy of our meeting rooms. This way we could quickly check if a meeting room was empty and book it for a specific time frame. Or send notifications to everyone who is late for a meeting.
The Interactive Guided Newbie Tour
The idea here was that, now that we know where everyone is, we can also use this data to check when someone has entered a specific room. This can be used to show a welcome message, or to show some useful information about the room, like how to use the alarm or how to make coffee. And because that sounds so boring, we would work with challenges and scores, so that every Newbie would absolutely want to finish our tour. I mean, how else are we going to assure that everyone knows how to make the perfect coffee around here?
We decided to use Estimote Beacons for tracking everyone in the building. These are in fact stickers that broadcast a Bluetooth homing signal so that they can be detected by other devices. To identify the Beacons from our phones, we made a custom Android application. In this application you can basically register which Beacons you want to listen to and what should be done when a signal from a specific Beacon is received. On the Estimote platform you can download a dummy application to start with.
Now that we are able to detect in which room someone is, it still has to be shown on the map. For this we first developed a .NET Core web service that is responsible for storing the location data and for returning the information needed for the map. The Android API uses the webservice to register the location input and the frontend application makes requests to the web service for querying the location data. Then it can show the room in which someone was last seen.
As I mentioned before, time was our biggest issue. We also had some small problems which cost us some precious time. For instance, at first we forgot to enable some settings that allowed us to detect the beacons. However, as Estimote already provides a lot of good documentation, there were no real major issues.
However, despite all the issues and the lack of time, we are still very satisfied with our result. We managed to develop all basic functionality in time, so we have a working map and an Android application that registers in which room you are and sends notifications to your phone. The application also asks for permissions to use your phone's Bluetooth data. It’s not everything we dreamed of, but the other functionality can easily be added to the application at a later date.