ArticleNovember 17, 2020 · 4 min read time
Sometimes it’s nice to know who’s around at the office, as Nitoreans tend to work from various locations, and the Covid-19 situation adds another layer of safety we need to consider. To solve these needs, Timo created our very own office tracker.
Nitor is a consulting company, and most of us work at the customer’s premises, so the amount of people present at our own HQ varies a lot. Ever since we moved to new larger premises in 2018, there has been a growing challenge of knowing when your colleagues are present at the office.
For example, sometimes it is nice to know who has left for lunch or if someone you want to talk to face to face is actually present. And even if you are at the office yourself, it might be quite cumbersome to go around looking for people who might be at a meeting or having a break. Contacting people just by sending chat messages is slow and can cause unnecessary obtrusion.
At the beginning of this year, we implemented the live office tracker to tackle these challenges. Internally, the tracker got the name Office Posse because it looks like a face gallery of us Nitoreans. As the Covid-19 situation escalated, it became an invaluable tool to ensure the safe usage of our office. We are currently limiting the number of people present so we can keep the required distances. It’s easy to see the number of people at the office at any given time by using the tracker.
It’s only natural that not everyone wants to have their presence shown. Therefore, each employee needs to give their consent to be shown on the tracker. Users can also limit the tracking for office hours only.
How does it work?
Tracking relies on the MAC address of the user’s phone or the laptop. When giving consent, we link the user’s MAC address to their user identity. We already know the identity because the office tracker runs on top of the Nitor backend, and users must be logged in to see the tracker website. Additional user details, such as name and profile picture, we get using the Microsoft Graph API by querying on each consented user’s id.As a fallback, if user hasn’t uploaded their profile picture to Office 365 and it’s not available through API, we try to find user’s profile picture from studio photos which are available from most of our employees.
The solution isn’t bullet-proof, as the MAC addresses can change. For example, the iOS 14 release has the ‘Private Address’ Wi-Fi feature enabled by default, which causes MAC address randomization for Wi-Fi networks. Luckily the same MAC address is still being used for the same network, so users can still be tracked easily in our office’s Wi-Fi setup.
Even though not everyone registered for the tracker, it has given us a good indication of the amount of people at the office at any given time.It continues to be a valuable tool in ensuring a safe working environment.
My experience in building the office tracker
At Nitor, we can spend 10 percent of our working time developing our own projects. Developing an office tracking system was something that had been my interest already for a long time. Knowing who is at the office would be a good foundation for building many useful applications. I wanted to make the tracking as easy as possible and make sure people can opt into be tracked.
Therefore, I chose the Wi-Fi-based solution as the first implementation for the tracker and required explicit consent for tracking. We also had the idea of inserting Bluetooth beacons around the office, but that would have meant installing specific application for each device. It might be the next step, though, as there’s also plans to implement the Nitor office application. It was very important from the get-go that the tracking solution requires minimum maintenance, and the gathered data could be easily available.
The solution is almost purely serverless with a couple of scheduled AWS Lambdas requesting the office client list and storing the status of devices into DynamoDB NoSQL database. The only self-managed server we have is at our internal network, and it returns the MAC address of the user phone when the tracker is registering a new device.
The logical next steps are building applications on top of the gathered tracking data. For example, we’ve been thinking about building an office assistant that greets you when entering the office. It could be linked to the actual office lighting or sound system to provide personalized theme every time you come to the office or show your meeting schedule in the nearest TV screen.
So there's a lot of fun ways to use the data on top of being able to constantly improve our safety and comfort at the office. This was a successful first step and we are eager to keep you posted on any future applications for the tracker and its data.