This was a project for a computer science class which involved both UI design and iOS development. My team and I developed this app to allows students to browse menus at University of Michigan dining locations (dining halls, cafes, and markets). Our final app allows the user to browse locations, add certain dining locations to their list of favorites, and display menus from up to 1 year back and 1 week ahead.
This project was significant because it was one of my first experiences designing an app interface, but it was also my first experience using Swift. I came out of this project with a better understanding of how to use an API and of front end development. Ultimately, our app was selected to win an award at the course's final showcase.
My app is targeted towards students who need to quickly and easily view the food options on campus. Because of this, I chose to keep the interface relatively simple and prioritize clarity and easy access to information. I started out by brainstorming the necessary information to include in the app and creating some preliminary sketches of how this information could fit together.
After doing some basic brainstorming on my app's content and organization, I started working on the screens digitally so I could show my ideas to the rest of my development team. I chose to use a bright orange color as an accent and large headers to make navigation through the app straightforward. I also created icons to represent the different dining location pages, the favorites page, and the location.
I showed these drafts to my development team and together we discussed some of their successes and shortcomings. I made digital annotations on each of my screens to examine which parts of my design should be changed in the final product.
iOS Development and Learning Swift
Instead of finalizing my designs in Sketch, my team and I decided to start developing the app while our design was still in a rough state. We were all new to programming in Swift and anticipated that if we committed to a design early in the process, our lack of experience with front-end development would prevent us from realizing our vision. Instead, we began translating my design into the Xcode storyboard and laying out what was reasonable for us to program. Through this process, I learned how to use Swift, pull information from an online API, display this information on a user's screen, and edit the display through code in order to showcase my intended design.
As we developed our final app, we kept the UI concept flexible, but did not forget our design ideas from the UI/UX design phase. Although we were limited by our development skills, many of these proposed changes were made in our final app. Our limited development skills required that we communicate the necessary information very simply, but these constraints ultimately resulted in a more user-friendly app.
*Since this project was done for a computer science course, I cannot publicly release my code*