Learning out Loud in Milwaukee, WI

A small act of accessibility

I keep a small office in a building in my neighborhood. It works out nicely that my employer defrays the cost a bit because unlike apparently everybody else with a remote job I can’t seem to get any work done while sharing a small home office with another person and with wild animals pets, and a child running around. So I have a small office, but one that’s big enough to share. When my neighbor, who is apparently the only other person with this problem, asked if he could use some of the space, I said yes.

The way I usually tell the internet is for sure out is by looking at my router. If the little globe with a line going around it LED is amber, the incoming signal is out. So I explained all of that to him and learned he is colorblind and wouldn’t have known the light was amber if I hadn’t told him.

This is a good real-world example of why it’s important to avoid designing with color as the only way information is conveyed. Our internet connection comes from a centrally managed switch elsewhere in the building. Even if we could access it, the indicators there are also green and amber.

To help my officemate, I used a raspberry pi we keep in the office. On a normal day, it is our pi-hole but I bought this Adafruit Mini Pitft HAT for it a while back. It runs a python script that shows some basic information. If you push one of the buttons you can disable the Pi-hole. It’s similar to Adafruit’s basic tutorial.

Until today, I struggled to think of how to make it really useful. Then, I had the idea to use it to check if the Pi can reach the internet. This way, my officemate can just check the pi, where it’s written in black and white, to see if the network is down for everybody or just him.

import socket
…
def isConnected():
try:
  socket.create_connection(("1.1.1.1", "53"))
  return True
except OSError:
  return False
…
connected = isConnected()
if connected:
      draw.text((x, y), "Internet is connected", font=font, fill="#FFFFFF")
else:
      draw.text((x, y), "Internet is disconnected", font=font,fill="#FFFFFF")

Pretty simple, took me about five minutes.

Now I’m thinking about other ways we could use it to send messages to each other without having to both be in the room. Maybe a little WordPress site with P2 on it. If we notice the internet is down, something broke, or the building management sent a message, we can put up a post that says so and when we notified the support desk. That could be useful. Since it’s running locally we wouldn’t need the actual internet to access it, which would be handy.

Whatever I do has to be pretty lightweight since the Pi Zero has limited resources.