You are on page 1of 21

AQ Early Warning

_______________

California State University, Monterey Bay

CST499 Computer Science Capstone

_______________

Ryan Barrett

Fall 2021

Faculty Advisor - Shahidul Islam


1

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

events that may be impacting the air quality.


2

TABLE OF CONTENTS

BACKGROUND AND APPROACH ...............................................................3

Project Description .............................................................................3

FEASIBILITY .........................................3

Environmental Scan ..........................................................................3

Stakeholders and Community ...........................................................4

Evidence of Need ..............................................................................4

Ethical and Legal Considerations …………………………..................4

Long Term Product and Future Enhancements…………....................5

DESIGN REQUIREMENTS / USABILITY TESTING..…..…..…..…...…...…...5

Major Functions…………………………...............................................6

User Interface Design………………….................................................6

Database Design………....…………….................................................7

Usability Testing Plan….....…………….................................................7

Usability Testing / Evaluation….....……………......................................8

FINAL DISCUSSION AND REFLECTION……………..…..…..…..…...…...…...8

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

There exist a large number of weather applications such as The Weather

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

mobile applications rather than continuously visit websites.

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

thing to worry about during their day.

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

legal and ethical commitment to the companies.

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.

Design Requirements/Usability Testing

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

PostgresQL database because it is a simple and feature rich relational database

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

area exceeds the provided threshold.

● 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

quality or general safety.

User Interface Design


7

Database Design

Usability Test Plan

Usability testing will be conducted by first personally testing on several devices,

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

through that program as well.

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).

Final Discussion and Reflection

The original milestones laid out in the Capstone Proposal were as follows:

Week 1 Plan

● Create data model & schema

● Investigate and document 3rd party APIs required for initial features

● Spin up database and apply schema

Week 2 Plan

● Mock UI feature flows

● 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

● Build air quality threshold feature + push notifications

Week 4 Plan

● Build UI flows powered by 3rd party integrations

Week 5 Plan

● Testing and feedback

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,

coming in only slightly above at 107 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

area exceeds the provided threshold.


13

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

and there isn’t a way to speed up the process.

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

presentation aspects of the course.

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

full Apple store as both a usable app and portfolio item.


15

References

AccuWeather. (n.d.). Local, national, & Global Daily Weather Forecast. AccuWeather.

Retrieved October 24, 2021, from https://www.accuweather.com/.

Interactive, T. W. C. (2008, November 8). Weather - the weather channel. App Store.

Retrieved October 24, 2021, from

https://apps.apple.com/us/app/weather-the-weather-channel/id295646461.

Purple Air. Retrieved October 24, 2021, from https://api.purpleair.com/.


16

Appendix A: Focus Group Testing Introduction

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

very tech savvy.

Participants:

● Gloriane - From the Bay Area and experiences poor air quality due to wildfire frequently.

She is a professional Software Engineer.

● Cassidy - From Colorado, and does not regularly experience poor air quality. She has a

limited background with technology.

● Kirby - From Colorado and does not regularly experience poor air quality. He is a

professional Software Engineer.

User Tasks:

● Sign into the application with Apple login

● Set initial user location and air quality level

● Check air quality breakdown

● Check air quality forecast detail view


17

Appendix B: Focus Group Feedback:

Gloriane - She was able to complete all the tasks however she had trouble locating the air

quality breakdown view.


18

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,

but after that doesn’t update based on your location.


20

You might also like