Both options of entering the room number and taking a picture of it are provided
Simply type the current room number in
A rendered version of the blue prints of a building are displayed (in this case, a room in Brown Building).
A sophisticated algorithm called Dijkstra's algorithm is implemented to determine the shortest path from where you're at to where you want to be. However, Dijkstra's algorithm works on a graph of vertices. Initially Indoor Navigation only had a basic blue print image to work with. The image had to be translated to a graph. A room's x,y coordinates (in terms of pixels) were determined and an id assigned to it. This took care of creating the vertices for the graph. The possible edges were later hard-coded in. If a connection was possible between the rooms, the edge would represent the distance. With the vertices and edges created, Dijkstra's algorithm could be readily applied.
More info about Dijkstra's algorithm can be found here
Optical Character Recognition (OCR) is used to read in the room number so it doesn't have to be typed out
This issue can pop up when not orientating the room number in the OCR window correctly.