For my iOS Development course we were asked to create an app. That’s it. So my partner, Erika Giuse, and I delved into brainstorming mode to see what societal issues we could address using an iPhone App.
Sprint 1: Research
We started by writing a huge list of problem areas in our society. We then wrote down specific problems within those areas, and highlighted our top choices. After talking to our project mentor, we decided to choose Politics (specifically Voting) as our topic.
In our research, we found some interesting trends in today’s political atmosphere within the college aged group, such as:
- Voter turnout in the US, especially within the youth age group of 18-24, is low, especially in midterm elections, where the youth voter turnout is 20% (npr)
- A lot of times younger voters feel their vote doesn’t matter, or they feel like they don’t know enough to vote
- they're also particularly eager to choose individual candidates instead of a party label
students are also more transient, compared to the average older American, so they don't feel attached to the community
"Right now, being away from home, I don't feel connected to the political system here at all,"
- college student, 23 (source: NPR)
We surveyed 60+ college students about their political experience and found some interesting things
Voting was rated a 5 in importance (with 5 as very important), whereas how well they were informed on local political candidates was rated as a 1.
Our survey coincided with npr’s finding that people
1. Don’t care about politics, or
2. Don’t know how to get informed.
I looked more into apps that exist to help people get more informed on politics and voting. There weren’t many options, and some didn’t even work. The only decent one, Countable, was an app with a lot of information and not much clarity. This was the market gap we could fill with our app!
Sprint 2: Prototyping and Testing
Personas and Empathy Maps
Since my partner, Erika, didn't have much experience with designing, I decided to lead a mini design thinking session based on our user survey so we could find some trends in our data.
By taking comments from the survey, as well as our own thoughts based on the domain research, we created empathy maps that encompassed 2 personas that represented our 2 main issues. Clueless Caroline, doesn’t know how to find information, and Insecure Ian, feels like his vote doesn’t mean anything.
I took the lead in the prototyping phase, where we started sketching a bunch of ideas, and started gravitating towards a ballot planner format, where users could read about elections, as well as the candidates running in one centralized location.
After the first round, we received feedback from our professor and progressed to medium fi, with a reasonable user flow.
User Feedback + User Stories
We found out important things, like users want to see candidate pictures as soon as possible.
People also wanted to see information about election positions.
We also asked users to rank how important they find specific tasks, and we took that into consideration when creating user stories for the app. User stories outlines how the app will work through use cases
Based on the medium fi iterations, I created hi fi wireframes and created a color theme within 2 more iterations. This is what we used as our model when developing the app.
Sprint 3: Data Collection
Google and Ballotpedia
The best place to find political information is BallotPedia, but the cost of the API was too expensive, so we then looked into the Google Civic API, but data for local elections was severely lacking.
We knew the next best thing to do as IS majors was to what we do best, create a database.
Database Design and Implementation
We decided to create a database that would allow us to connect the user’s ballot through races and offices. This gave us a clean way to organize our data.
We used Firebase for storage because its interface gave us a (relatively) stress-free experience to integrate with Swift 5 and XCode 10.3. And Voila! We had a place to put our database.
Sprint 4 + 5: Version 1 and Testing
We showed the basic functioning Version 1 app to random students and received feedback. We were able to get insight on things like how achievements were always clicked on, so we decided to make them clickable.
Sprint 6: Final Product
Here is a demo of the final app. After weeks of intense learning and coding, we created an applications that would allow users to:
1. View elections in their area
2. Read about the election
3. View the candidates for each election
4. Add/Remove candidates to their ballot and view that ballot
5. Edit their party and location
6. View achievements and read about them
This class was my first experience with making an iOS app and Xcode/Swift, but it was a meaningful experience. I was able to utilize all the design thinking methods I learned in my HCI classes as well as my internship to create a project that could impact society for the better. This experience has helped me grow stronger as a designer because I had to convince others the importance of designing/testing a product before jumping into code.