Professional Documents
Culture Documents
_______________
_______________
Ryan Barrett
Fall 2021
Executive Summary
The goal of the project is to help people protect themselves from poor air quality
by being notified when the air near them becomes unsafe. AQ Early Warning is a mobile
application that allows users to enter an acceptable air quality threshold that they are
comfortable with depending on their personal health situation. If the air quality at their
current or requested location exceeds the threshold they will get a push notification
warning them to get inside and reduce strenuous activity. This application also displays
projected air quality over the coming days, and tracks the status of nearby weather
TABLE OF CONTENTS
FEASIBILITY .........................................3
Major Functions…………………………...............................................6
Database Design………....…………….................................................7
Timeline……………………...….....…………….......................................8
Final Implementation………..….....……………......................................9
Discussion…………………..….....……………......................................14
REFERENCES ...............................................................................................15
APPENDIX .....................................................................................................16
3
Introduction
A huge issue facing many people living in areas of the world that are prone to
wildfire or other factors that can reduce air quality is that on any given day they may not
actually realize the air quality is poor. There are numerous negative health effects
caused by breathing air that is of poor quality, some of which may not be immediately
noticeable on the day to day. Another issue is that especially in wildfire prone areas,
even if you’re trying to keep an eye on the air quality, it can shift fast with a change in
the wind, leaving people with their windows open thinking the air is fine. AQ Early
Warning is an IOS app which can notify users when the air quality gets above a certain
AQI threshold which they will be able to set. This allows users to not be constantly
checking air quality, and allows people who may be more sensitive to pollution than
others to set their own bar for notification. Having this information being pushed live to
devices allows users to have their minds at ease, as well as reduces the latency
between realizing the air quality is bad, and taking steps to ensure their safety such as
closing windows. The largest impact of this is reducing the users exposure to potentially
harmful pollutants.
Feasibility
Channel, or AccuWeather that provide daily air quality forecasting, as well as sites such
4
as PurpleAir which provide accurate sensor based air quality readings in individual
neighborhoods. However apps dedicated to air quality monitoring and alerting seem to
be very few and far between, leaving a lot of opportunity in the space. AQ Early Warning
stands apart by focusing exclusively on air quality, and digging into providing as timely
as possible alerts which are tailored to individual neighborhoods using sensor based
APIs. Additionally, many of the most popular air quality applications are web based, by
developing for native IOS my goal is to reach users who may be more inclined to use
People likely to use AQ Early Warning will be those who live in wildfire prone
areas such as California, or areas which struggle with pollution from other sources.
Likely users may also be people who either suffer from health conditions making them
more vulnerable to pollution, such as Asthma, or health conscious individuals who are
concerned with the potential long term harm to their well-being that pollution could
cause. The likely user would be a person who spends a good portion of the year
checking AQI readings to determine if they need to close their windows or wear a mask
outside, and would benefit from automating this process so that they have one less
AQ Early Warning is a free app which provides freely available information. There
are limited ethical concerns, however one point to note is that quality of information may
be worse in underprivileged areas. This is because much of the data used to measure
air quality comes from individuals buying air quality monitors, placing them around their
homes, and allowing that data to be shared. In areas where there is less money there is
less likely to be the same number of monitors as in wealthier areas. In order to address
5
this concern a major goal of the project is to ensure that crowd sourced monitoring is
only one aspect of the overall picture painted by the app. Additional data sources such
as traditional weather station monitors and fire tracking data can also be leveraged to
ensure a healthy data supply for all areas. AQ Early Warning is a free open source app
therefore there are limited legal issues. The main things I had to address was using the
open source Github licenses as well as ensuring that all 3rd party API terms of service
are correctly observed. To accomplish this I have rate limited api calls to these external
apis to ensure that the application does not exceed the required threshold, meeting the
Once the core features of the project are thoroughly polished, the next stages for
developer attention will be releasing the app on Android and web. Additional features
can also be added including more detailed wildfire tracking, active wildfire maps and
evacuation areas. Finally, a large feature to be added will be a wildfire path prediction
model, which can help predict weather conditions as well as potential evacuation risk.
The project backend was created using a Spring Boot backend, PostgresQL
database, and IOS application. Spring Boot was used because it is an extremely stable
and user friendly framework for backend development. The backend was paired with a
implementation. IOS was chosen for the initial frontend of the application because
mobile notifications are a core component, and IOS is the dominant platform in North
America.
6
Major Functions
● Users can sign into the app and register a threshold for air quality that they are
comfortable with.
● Users will receive notifications warning them to be safe when air quality in their
● Users will be able to see the air quality forecast for the coming week on a home
screen.
● Users will be able to see wildfire updates / warnings which may impact their air
Database Design
and then sending out a test build to a handful of people. Feedback will be collected via
Google Forms. The goal of my focus group is to be diverse. Some people will be from
areas with frequent poor air quality, and others will be from areas with more healthy air.
The group will also be made up of a variety of ages and will range from software
developers to people who are not very tech savvy. Users will download the application
8
to their phones via Apple’s Testflight beta, and will be able to provide feedback directly
Usability Testing/Evaluation
Testing was done individually with each participant in the focus group. Each
participant was given a set number of goals to complete within the application
corresponding to the major functions listed above, and allowed 15 minutes to attempt to
use each feature without assistance (Appendix A). Participants were additionally
encouraged to continue using the app and provide feedback via Google Forms
(Appendix B).
The original milestones laid out in the Capstone Proposal were as follows:
Week 1 Plan
● Investigate and document 3rd party APIs required for initial features
Week 2 Plan
● Use mocked features to build core backend endpoints and test via
Postman
Week 3 Plan
9
● Start on the mobile app, build out login flow on frontend + backend
Week 4 Plan
Week 5 Plan
For the most part this plan was an accurate reflection of how the project actually went,
however there were a few cases where the order of work was adjusted slightly to better
reflect technical requirements and dependencies. For example, some of the notifications
work from week 3 was exchanged for the integration UI flows in week 4. As for planned
and budgeted hours, the project stayed right around the initial estimate of 105 hours,
Final Implementation
● Users can sign into the app and register a threshold for air quality that they are
comfortable with.
10
11
● Users can see the air quality forecast for the coming week on a home screen.
12
● Users can receive notifications warning them to be safe when air quality in their
Scheduled methods are used to provide the live user notifications via the Google
Firebase SDK:
14
Discussion
While working on this project everything went pretty smoothly up until the UI
implementation. The database, system design, and backend were completed without
much trouble. The main struggles throughout the process were with Apple’s tools and
frameworks used for IOS development. Many of the tools are buggy and not intuitive,
and Apple’s XCode ide is subpar when compared to other modern ide tools. Another
struggle with this project was deployment. Deploying to Apple’s beta program requires
manual review, and therefore took several days to get approved. This process made
user testing very challenging, because any new build version also needs to be approved
The main objective that wasn’t completed during the semester was the wildfire
warning feature which was cut just for time. While I still think this feature would be a
great addition to the app, some other components took longer to finish than originally
planned such as login and personalized user notifications. The experience of working
on this project as an individual was overall good, I enjoyed taking full responsibility for
researching, designing, and implementing the app. However there definitely is additional
workload outside of development in having to be solely responsible for the papers and
In the future I would like to expand the app from its current state by implementing
a wildfire warning feature, cleaning up the UI to make it look nicer, and deploy it on the
References
AccuWeather. (n.d.). Local, national, & Global Daily Weather Forecast. AccuWeather.
Interactive, T. W. C. (2008, November 8). Weather - the weather channel. App Store.
https://apps.apple.com/us/app/weather-the-weather-channel/id295646461.
Target Audience:
The goal of my focus group is to be diverse. Some people will be from areas with
frequent poor air quality, and others will be from areas with more healthy air. The group will also
be made up of a variety of ages and will range from software developers to people who are not
Participants:
● Gloriane - From the Bay Area and experiences poor air quality due to wildfire frequently.
● Cassidy - From Colorado, and does not regularly experience poor air quality. She has a
● Kirby - From Colorado and does not regularly experience poor air quality. He is a
User Tasks:
Gloriane - She was able to complete all the tasks however she had trouble locating the air
Cassidy - She was able to complete all of the tasks, but mentioned she might not have found
the forecast details or air quality breakdown views if she didn’t know they were there from the
questions.
19
Kirby - He was able to complete all the tasks, but had to click around a bit to find the air quality
details view. He pointed out that it is a little confusing that the location is auto set on initial login,