Local Haze app
Crowdsourced air quality monitoring for iPhone reporting data from more than 31,000 sensors across six continents
Available for free on the App Store.

SUMMARY
After being prescribed an inhaler for asthma symptoms, I wondered what was in the air around me. I already carried a mobile phone everywhere, so I wanted an easy, “on the go” monitoring experience to understand my local air quality. I did not want to have to carry another monitoring device.
After interviewing a dozen people with air quality concerns, I drafted a primary persona for an Air Quality Enthusiast – a non-scientist consumer concerned about monitoring outdoor air quality “on the go”.
As a design solution, I designed and launched Local Haze, a free iOS application that displays real-time local air quality sensor data and associated sensor confidence ratings. For this project, working with a software engineer, I used a collaborative, agile approach to launch a data-centric native iOS application displaying data from worldwide air quality sensors. My work included UXR, persona design, interaction design, branding and visual design, and also included working cross-functionally with engineering to launch the app into the Apple App Store.
Since launching, Local Haze has maintained a 4.6-star rating in the App Store and is now monitoring over 31,000 sensors across six continents. Local Haze is an example of collaborative product design and development processes to deliver an innovative native mobile app using publicly available APIs for air quality data.
BACKGROUND
The EPA and the WHO have established guidelines for safe air quality, and health risks resulting from poor air quality, pollutants, and the presence of particulate matter (PM) are well known. Although there are many air sensors monitoring the quality of the outside air, there are not many simple tools that allow consumers to understand the accuracy of local air quality measurements.
In the design of Local Haze, I set out to solve this problem by delivering accurate data in the form of confidence ratings for air quality readings from local outdoor air sensors. Local Haze aggregates quality-controlled crowdsourced air quality data as well as public air quality data and delivers an easy-to-understand sensor reading confidence value delivered to any iPhone. In a few seconds, a sensor’s reading and a confidence rating in that reading can be easily understood by a wide range of consumers. More detailed data about sensor readings is available with a single tap.
Local Haze validates the outdoor air quality data for a user’s location by crowdsourcing publicly available air quality data and then applying a confidence rating to the validation data. The app then displays this rating in an easy-to-understand user experience delivered to a device. Even though the AQ sensor data is rich and complex, a design goal for the user experience was to allow for a simple “at-a-glance” experience for users not familiar with air quality technology and terminology.
A SIMPLE, TRUSTED EXPERIENCE
We set out to design an experience for presenting a quantitative air quality data source — in an easy-to-understand format. We were also curious as to whether a design solution could be found to deliver an air quality reading experience that a typical consumer would consider “trustworthy”.
Trust is important in data-centric experiences. Some of my work has been challenging because I have been tasked with delivering good user experiences in situations where the underlying data is inaccurate or its accuracy is questionable. Perceived inaccuracy of data does not help build trust with users — it often leads to distrust.
In this project, we aimed to address some of the challenges of perceived data uncertainty while trying to improve the heuristics that lead to increased “data confidence” for end users.
REQUIREMENTS
After interviewing a dozen people who have air quality concerns, I developed a persona based on a primary target user – the Air Quality Enthusiast. I began the design process by defining and prioritizing the Local Haze requirements, defining use cases, and writing user stories for the MVP version of the app.

The primary use case for Local Haze is to enable citizen scientists who have installed their own air quality monitors to understand their local outdoor air quality easily. We understood that our primary persona, the Air Quality Enthusiast – is highly motivated to track air quality through public environmental data sources and has a tendency to purchase home air quality tracking devices connected to a home network.
We built a backlog of stories and prioritized development into sprints to get to a MVP release. While documenting near-term features, we also included longer-term features as part of roadmapping.
APPLICATION FLOWS AND DATA MODEL
The primary flows for the MVP release of Local Haze included:
· An onboarding experience to drive knowledge about air quality readings, introduce the concept of confidence ratings and encourage discovery.
· Launching the app to see a collection of nearby sensors as the default view and associated drilldown interaction.
· Displaying a geographic view of the sensors on a map with active pins and associated gestures for map interaction and drill down.
· Drilling down to view a detailed view of a specific sensor’s data.
We defined a data model that expressed data from the air quality sensors and would allow us to show uncertainty. We defined a site object mapped to a single data source and associated with one or more sensors. This flexibility reflects that some of the sensors (such as the PurpleAir sensor) feature redundant sensors associated with a single site, providing an additional measure of accuracy.
Air quality measurements are commonly reported in terms of micrograms per cubic meter (µg/m3) parts per million (ppm) or parts per billion (ppb). For Local Haze, we needed to be able to present this information in qualitative ways that enabled an Air Quality Enthusiast to understand air quality quickly and drill down to the technical details if required.
The air quality sensor data for the Local Haze utilizes APIs from PurpleAir, Luftdaten, uRADMonitor, AirNow and the U.S. Department of State.
WIREFRAMES AND NAVIGATION DESIGN
We produced early mockups to determine visualizations of the air quality sensor data that most clearly reflected the status of the sensors. Some initial mockups included placing actual numerical sensor values on the browsing screen — the list of sensors — an approach that was not included in the final design because it was seen as too complicated for a consumer user to understand quickly.
The original app navigation design used a tab control at the top of the screen to filter the view of the collection of sensors and a hamburger menu to access other major app areas. After testing this design on a phone, the approach felt clunky and involved gestures that required too much vertical thumb traversal across the screen.
After various tests on a phone, the final navigation design for Local Haze utilized a tabbed navigation controller at the bottom of the screen. This approach facilitated easier single-handed user interaction.
VISUAL DESIGN
Visual design and branding commenced during the early stage of the design process. Local Haze gathers air quality data from devices worldwide, so one of the design goals for displaying information included reducing the reliance on words and instead using iconography and numerical values in the user experience. The color palette was designed to reflect brand attributes such as “trustworthy”, “simple”, “accurate,” and “vibrant”. An early version of the app’s visual design language is shown below.
Local Haze’s user experience employs a clean, simple and colorful visual language in terms of color palette and iconography, representing the air quality index values as well as health impact. This visual language has been adapted over releases of the software to make it easier for users to understand the AQ readings and the confidence ratings.

One visual design challenge we faced was how to design a layout for the sensor reading data enabling it to be co-mingled with confidence data. Multiple design iterations resulted in a UI element that combines a sensor value and confidence rating into a composite element that works well with the display constraints of a mobile device.

INTERACTION MODEL AND PERFORMANCE
Local Haze’s interaction model focuses on a single-handed “launch and view” experience designed to minimize user interactions while quickly presenting useful information. We felt that launching the app should immediately display the most critical information without any lag or the need for additional interaction.
We also assumed that single-handed use of the device would be typical for browsing collections of sensors via the scrolling gesture using the thumb. Drill down on the sensor collection utilizes the tap gesture to view a summary of sensor data. Navigation among the core app areas utilizes a segmented controller UI component placed at the bottom of the screen, following the Apple Human Interface Guidelines.
Performance is an important issue in the Local Haze user experience since accessing, preparing and displaying the sensor data can be computationally expensive. Early releases of the app resulted in challenges with performance, especially on first use during the loading of the default view of sensors. To address the issue of lag, we used techniques such as “lazy loading” to improve the perceived performance in the user experience. I also worked with engineering to design a map visualization technique to summarize sensor readings, integrating clustering and the pinch-and-zoom gesture in native iOS. The Local Haze map now clusters sensor data based on the zoom level of map navigation, displaying a real-time summary of air quality sensor readings using color that is also easy to understand.
BUSINESS RESULTS
As of 2023, Local Haze now monitors over 30,00 air quality sensors across six continents and maintains a 4.6-star rating in the App Store. User feedback has been excellent and provides thoughtful commentary and requests for new features. In the last year, feature releases have included a subscription service for tracking AQ data for specific sensors.

After the initial “Go To Market” release for Local Haze, we launched a marketing site and a social media program, including a Twitter account that features frequent postings of global air quality news. Air quality scientists, air quality enthusiasts, citizen scientists and manufacturers of air quality sensors are among the Twitter followers. The feedback and engaged discussion Local Haze has generated on the App Store and Twitter has led to requests for new features in new releases.
FOR MORE INFORMATION
For more information on Local Haze please visit the Local Haze marketing site or visit the App Store to download Local Haze.
Credits:
Apple and iPhone are trademarks of Apple Inc., registered in the U.S. and other countries. App Store is a service mark of Apple Inc., registered in the U.S. and other countries.
All contents Copyright HumanLogic