The idea for Meal March initially started as a joke for something that we thought was interesting: using the Taco Bell sauce heat levels in a game of “hot or cold” as indicators for proximity to a location. Development of the idea was furthered with time, and after speaking with one of the mentors from Raven who asked questions which served to further develop the idea already in place, we saw more uses for the idea than initially thought and decided to adopt the concept as our official project for the competition.
What it does
Upon official designation of the idea as our project, we started talking about more functionality that could be implemented into the app idea. From a top down view, the app opens with the single button “Find Food.” Using the Google Places API, a list is formed of all eateries within a five kilometer radius. One of the places will be randomly selected from the list to use as the challenge. The user has the option to re-roll if they do not like the place selected by again pressing “Find Food.” Once a preferred selection is chosen, the user can choose one of two options. They can either get directions directly to the place, or choose to play the game using hot or cold hints.
If the user selects directions, it takes them to a screen that displays:
-A map with directions to the eatery.
-How much time has elapsed since starting.
Upon GPS confirmed arrival, the user will be taken to a new screen that displays the following statistics based on how the user did:
-Total distance traveled.
-The time it took to arrive there.
-Approximately how many calories were burned on the walk.
-An option to share the results on social media platforms.
-A “Finish” button to exit the page to the feedback page.
The feedback screen will has a one to five rating system that the user can use to rate the eatery to be used in the future in the selection phase of the whole thing.
How we built it
Before even starting the coding, we used pens and papers to form a situational user analysis to identify what functions we thought would make the idea work best, and what users would be appreciate having in the app. We also looked into incorporating as many applicable partner APIs as we could that would improve the functionality of the app. Once we started the application development process, we decided to build it with Java using Android Studio. Using Git as a medium for pushing out new processes between all of us, we would commit new changes to the parts of the program each of us were working on to create a more whole version of the app.
Challenges we ran into
As with all ambitious projects, we ran into a few challenges along the way. The first of these challenges was the fact that two out of three of our primary coders had limited experience with Java, and no one in our group had experience using Android Studio. As such, it had to be learned on the fly, while looking up specific things for issues that occurred. Synchronizing Git with everyone was difficult and time consuming. Another challenge we experienced was properly incorporating APIs into our app. We initially wanted to make use of Algolia, but figured out that it didn’t necessarily do what we intended for the app. Another issue came with incorporating the here.com API. We believed we were not implementing it in the proper fashion, but were unable to figure out how to resolve the issue we were experiencing for quite a long time. After a plethora of online searches and a lot of self-troubleshooting, we were able to employ it in the way we wanted.
Accomplishments that we're proud of
Despite the numerous hurdles we ran into during the making of this app, we are proud to say that we have a functioning prototype. We cheered success at every triumph any of us experienced in this process, including the first time it wrote in the way we wanted to the Android phone connected, and the moment when here.com's API finally functioned in the fashion we wanted it to. These were all moments of much pride for everyone in the group, and was a confidence booster to the highest degree.
What we learned
We have learned that API’s all have their own set of challenges that come with properly employing them into projects. We have also learned that even in the face of all these challenges, it is not at all impossible to overcome them if you have a good team and the willingness and drive to learn how to do it. We have all improved our familiarity with how Git works so that we can work on group projects more productively.
What's next for Meal March
Although we have put a lot of work into this project, there were some things that we wanted to incorporate that we were unable to do given the time constraints:
-We would like to incorporate user feedback on the eatery they were sent to with the intention of using that feedback to structure the results of the searches for users, and to share with the eateries themselves.
-We would get the “hot/cold” functionality of the app completed. Right now, there is only a prototype of the hot or cold hints function for Taco Bell with the specialized hints. A future version of this project would generalize this completely for all eateries that be inputted into the list. Hopefully, we could even do something similar to what we did for Taco Bell for other eateries and customize their “hot” and “cold” hints.
-Once a user decides to play the game, they will be taken to a screen that displays a map, “heat level” that varies based on how close the user is to the target, a score, a hint function, and an option to give up and end the challenge sending the user back to the opening screen.
-Upon GPS confirmed arrival, the user will be taken to a new screen that displays the time it took, the score they received, the threshold they needed to pass to gain a discount/coupon, what their discount/coupon is if they met the threshold, an option to share their results on social media, and a “Finish” button to return to the opening screen. Incorporate user preferences to help narrow the list of eateries that are put in the list to be selected for users.
-Stylistically, we would like to make the app more visually appealing.