Find Your Class with Augmented Reality
Title: Find Your Class
​
Description: Use augmented reality to help you navigate buildings named after people you don't know. Follow the arrows left or right while knowing what floor you're supposed to be on.
​
Descriptive Description: My program uses applications created by Google to read where the user is and references the location of their destination. While at the home screen, select which building via drop bar and then select which classroom in the drop bar below. Through the camera application it displays arrows pointing left, straight, and right; by utilizing a phone's built in compass program, it reads which direction the user is facing and displays an arrow according to which direction the designated location is from them through a Google Maps API. When finished, just close the app or click on the home icon to return to the home screen.
Research Journey
Working with Google: The first thing I wanted to access was the hardware functions on an android phone (geolocation sensor, compass, and camera), but to access that information I needed to use Google's application programming interface (API). After creating a Google one-month-trial account, I made my own API key which is how Google is able to identify my program when I fetch delicate information, like a users geolocation and camera. Google would store requested information in an HTTP address and could be read as a JSON file by a Javascript program: it became a lot of work before I could fulfill my purpose of augmenting reality.
​
Working with AR: After being able to utilize the hardware functions on an Android phone I can begin developing the code in javascript. The geolocation API returns the users latitude and longitude from cell towers or WiFi; with that data I can also store the latitude and longitude of classrooms as static variables. Having a current position and destination set, I can use the differences from their latitude and longitude and start accessing the Android's internal compass. The compass sensor returns a float ranging from 0-360; I can define the cardinal directions as a boolean statement: if (45>pos<135) {East = true}... The camera API allows me to use what's captured by the users camera as a background from the camera. After establishing a connection through the real world, I can finally begin to augment it. The overlay function now knows which direction the user is facing and difference of latitude and longitude between the user and destination, so if the user is facing North and the latitude is negative it displays an image of an arrow pointing left, or if West and longitude is positive to call an image for an arrow pointing right. I cannot get the information for what floor the user is on, so the user is going to have to be able to determine that information on their own. I can however display an image saying 3f (if it's on the 3rd floor) on the background for reference. Because the buildings themselves have crappy phone connection, which messes with the accuracy of the users location, the app terminates manually by the user instead of upon arrival like Maps to avoid a false success.