Skip to content

Android app that displays name and information on-screen of a campus building that the phone camera is pointing to.

Notifications You must be signed in to change notification settings

kevinhou168/NU_Wink

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NU Wink

NU Wink

Our Problem

  • Students (especially freshmen) may have difficulty navigating the campus
  • Prospective students and families visiting campus could get lost without a guide
  • Due to shape of certain buildings on campus, determining whether you're at the right building on Google Maps is difficult

Our Solution

  • Build a smartphone app to help guide people!
  • App displays names and information about buildings on campus to help
  • Activate by opening app and viewing building/landmark through camera

How it works

  • Connects to database with important buildings on campus with details such as location, descriptions, and photos
  • Uses compass and GPS data to figure out what building you are looking at
  • Displays the correct title, picture, and description for the building

Tech Stack

Tech Stack

Tech Stack: Data Pipeline

Data Pipeline

UX Flow

UX Flow Onboarding UX Flow

Building Algorithm

Psuedocode

For each building in buildings: Check if it is sufficiently close to you and within your FOV If so, calculate its cost. If it’s cost is lower than that of current most likely candidate building, set it as the most likely candidate. Because this algorithm only loops once through (n) buildings and only calls functions that are O(1), it runs in linear time, O(n).

Visualization

BuildingAlgo

Cost Function

  • Each building that we run the cost function on has a distance and bearing under some acceptable limits, maxdistance and maxbearing.
  • We normalize distance and bearing so we can adequately compare them, and square the results so both are required to be quite close. CostFunction

User Location + GPS

One would expect getting a user’s whereabouts to be simple, and that to find a user’s distance from a building, one can simply subtract lat and long. However, to do so is to assume the world is flat... the actual calculation is a little more complicated, requiring some non-euclidean geometry: Userlocation

  • Finding and making sense of the direction a user is facing was also more complicated than anticipated
  • The compass API gives us the user’s heading with respect to the magnetic north pole, so we had to find a way to convert that to their heading with respect to an individual building: Conversion

Bearing and Distance

BearingDistance

Building Data

  • Another hurdle was finding the data for the buildings on campus, as inputting that by hand would be extremely time-consuming
  • We needed the latitude, longitude, name, and an image and description for each building.
  • We managed to find an API for that included all we needed, except for images and descriptions. However, note the field “nu_maps_link”- where could that lead? API
  • The site maps.northwestern.edu has a picture and description for many buildings on campus, but no API or public database.
  • What to do now?
  • Web scraping to the rescue! NUSite Scraping

About

Android app that displays name and information on-screen of a campus building that the phone camera is pointing to.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 54.2%
  • Jupyter Notebook 21.8%
  • Kotlin 20.1%
  • JavaScript 3.9%