Six Colors
Six Colors

Support this Site

Become a Six Colors member to read exclusive posts, get our weekly podcast, join our community, and more!

By Jason Snell

Getting a handle on outdoor air quality

Last year, I wrote about how I built a bunch of scripts to notify me about my local air quality. Well, it’s summer again, and wildfires are back—and with wildfires comes polluting wildfire smoke.

It can be really useful to get a quick read on the outdoor air quality, especially if you’re considering whether it’s safe to go for a run or even open a window. Fortunately, in the intervening year a few apps have arrived on the scene to make it easier to do just that.

Clockwise from upper left: Breathable (medium), Breathable (small), Paku (Weather style), Paku (colorful), my own Scriptable widget, AirLookout (PurpleAir), AirLookout (AirNow).

Breathable is an iOS app that creates a widget you can place on your iPhone or iPad. The widget is customizable via the app, including an option to display an emoji instead of an AQI number. That’s actually smart—it’s so easy to focus on the number, but it’s the gross quality level that’s important, not the specific number. (Unfortunately, Breathable doesn’t seem to be using the AQI adjustment calculation put out by the EPA to describe smoke from fires, so its numbers don’t quite match some other tools.)

Setting up Breathable isn’t simple, because it relies on two separate air-quality sources—and you as the user need to sign up for at least one of them. The sign-ups are free, but you must go to IQAir and are strongly recommended to go AirNow, request API keys, and paste the results into Breathable’s API Keys tab.

Breathable’s app is just there to configure the widget display. AirLookout is a more full-featured app that also offers a widget. It uses the AirNow API to display current air quality, but it can also display a widget featuring the results of a nearby PurpleAir sensor.

PurpleAir is a network of personal air-quality sensors, and what they might lack in reliability (since they’re maintained by individuals, not an official organization), they make up for in locality. What I learned last summer is that air quality can be extremely local. Our local AirNow station, a couple of cities north of my house, frequently reported the opposite air quality from what was outside my window.

Paku offers a nice map view of nearby PurpleAir stations.

Paku is an app that’s designed to work directly with the PurpleAir network. It will display nearby stations on a map and also offers widgets. The widgets could use some design work, but they seem pretty accurate.

If I were shopping for an air-quality display app for iOS today, I’d either use AirLookout (and specifically its PurpleAir widget) or Paku. Breathable has potential, and I like its approach to widgets, but I prefer using the PurpleAir network.

While Paku and AirLookout will run on the Mac, their primary appeal is really their widgets, and on the Mac widgets are hidden off to the side in Notification Center. I prefer ambient data like this to live in my Mac’s menu bar, and Miasma does the job. You can set it to display data from a nearby PurpleAir station and it’ll notify you if the air quality crosses a certain threshold.

Of course, you can also do it yourself, if you’re technically inclined. I built my own PurpleAir widget for iOS in JavaScript, for use with the Scriptable app, and it’s available here or in Scriptable’s own widget gallery. I wrote a script for SwiftBar that displays a nearby PurpleAir station in my Mac menu bar, but it currently requires you to install PHP in order to get it to work, which is a bit much—you’d be better off just using Miasma.

When the air outside turns foul, nobody is happy. I am not looking forward to our next bout with smoke from wildfires here in California. But at least the tools exist to help us all gauge just what’s going on outside before we go out there.


Search Six Colors