Microsoft Customer Hub Hackathon: group photo

On Friday October 4th I attended a hackathon at the Microsoft Customer Hub with the goal of improving wayfinding and making the Microsoft office even more accessible and inclusive. The goal of this hackathon is to innovate technologies to make physical spaces, especially offices, much more accessible and inclusive.

At Fullstaq we love the fact that technology can have such a great effect on social problems like these, therefore we love being part of these hackathons.

Did You Ever Consider…

  • 1 billion people around the world have disabilities of some sort.
  • 70% of disabilities are not visible, so 1 out of 10 people around you are likely to have a disability and you may not even be aware of it.
  • Physical offices not designed for inclusion are often daunting in ways that most of us can’t imagine.
  • With technology that exists today, designed with inclusive principles in mind, we can truly make a difference.

The Project

After some inspiring keynote sessions at the start of the day I set out to work on a seemingly easy looking issue with the usage of lockers. The lockers at the Microsoft office are from Vecos, a solution used by many companies to offer lockers to their employees. These lockers work by scanning a QR-code printed on your security card.

After scanning, the system finds you an available locker and prints the number on the screen close to the reader. You now need to find this locker, tap it to open up, put your belongings in it and close it again. You only have 10 seconds or the locker closes again. This does not leave you a lot of time for finding your locker. Especially if you have low sight or are fully blind. Remember, the number of the locker is only printed on the screen, there is no audio.

Daniel Paulus at the hackathon: 4 people discussing the challenge

As you can see in the background of this picture, the lockers are 5 rows high. While I can barely reach the top lockers (being 5.6 foot) you can imagine someone in a wheelchair having a very bad time when a top locker is selected for him or her.

The problem

While we where discussing how to solve the locker problem, we came to the conclusion we needed to find a way to tell the locker system if a user has a disability. Preferably even provide some information on the kind of disability as you might want to change the way the system allocates a locker to someone in a wheelchair.

Thankfully the Microsoft office has bGrid sensors in place from which we can leverage the API. A network of bGrid Nodes senses everything that happens in the building and enables fast accurate positioning of people and assets. This is done by a Bluetooth enabled beacon card.

As a proof of concept we created a beacon with an asset type of wheelchair and started to check the API if we could find the position of this beacon within the office.

curl -v -X GET "https://bgrid-demo.azure-api.net/api/Assets" \
  -H "Subscription-Key: 285b484d5cc0dd" \
  --data-ascii "{body}"

{
  "id": 5656,
  "x": -34.8145,
  "y": -8.84337,
  "lastSeen": 1570187805,
  "floor": 4,
  "building": "Microsoft",
  "lastSeenDT": "2019-10-04T11:16:45+00:00",
  "assetType": "wheelchair"
}

We now know the location of a person using a wheelchair within the building. We also know the X and Y location for a utility, like the lockers. For the proof of concept we are going to use X at -36 and Y at -8 for our target location. With this information we can calculate the distance between the person and the target with:

Math.sqrt( Math.pow(x - x_target, 2) + Math.pow(y - y_target, 2) )

If formula returns any value below 2 we can assume the wheelchair is within 2 meters of the utility device. We can then send a post to the target API to inform the utility for which disability it needs to adapt.

if (dist <= 2){ // Distance within two meters
  request.post(target_url + '/api/HttpTrigger/?service=' + type)
}

You can find all the source code on Github.

The presentation

After a day of hacking it was time to present our solution alongside the 3 other teams. My team buddy Freddy did the presentation while I was waiting for the technical demo. As always with live demos, things did not go totally smooth, but as you can see in this tweet it was a lot of fun to do.

The presentation is up at Slideshare and included here as well.

This is Daniel
May 07, 2024 | BLOG | 6 MINUTES

8 questions you were afraid to ask about Talos answerd

Talos is a minimal Kubernetes OS that's quickly gaining popularity because of its ease of use and strong focus on security by default. It has already been …

April 30, 2024 | BLOG | 9 MINUTES

12 Factor: 13 years later

How can we make applications easy to operate? The 12-factor methodology is about 13 years old. How did it age in the cloud-native era? Do we need a 13th …

April 25, 2024 | BLOG | 5 MINUTES

Build your own Python Kubernetes Operator

Yes, you read it right – build a K8s operator in Python! I often get reactions like, "But doesn't it have to be in Golang?" Fortunately, that's not …