NaviMall - Kutay Zorbaz, Yigit Yuceturk
Introduction
Time is important for everyone. Nobody wants to loose their precious time while trying to find a store in a mall. For this reason, we decided to develop an android application in order to decrease that time. All you need is touching your NFC compatible android phone to the nearest NFC tag which is located on walls. Your smart phone will know where you are and give you the shortest path to desired store in the mall.
NaviMall is an android application project in order to find and show the shortest path to a desired store in a mall for users. This application is more useful in big malls like Destiny USA or Woodbury Outlets. Via the NaviMall application, users will be able to see the list of stores in a mall, and find out the route to get there quickly.
- Category: Navigation
- Application Size: ---
- Language: English
- Compatible with: NFC compatible Android Phones
- Requirements: This application requires NFC connection to retrieve data from the NFC tags
Description
When a user come into a mall, he/she goes to NaviMall application. First, user touch his/her NFC supported android phone to the NFC tag located on entrance to get floor plan. Then the user walks forward to one of nearest NFC tags, which is located on the wall in every 10-20 meters spaced. When a user connect his/her android phone to the NFC tag, the location information on that NFC tag will be automatically sent to the android phone. Location information includes the point of location node, for example "2 B". "2" represents the floor number, and "B" shows the point information at that floor. After a successful connection, user selects a store from the list. Android application will read the location information, and then process it with A-Star shortest path algorithm. We have assigned street names to passageways, in order to give best directions for users.
- Example Output for Route (G1 -> F):
- Go to East on Front St. 30m
- Turn South on Seminary St.
- Destination is on your right after 70m
- Example Output for Route (G8 -> B):
- Go West on Oak St. 30m
- Turn North on Seminary St.
- Destination is on your right after 60m
Roles and Responsibilities
Java Android Application Developers: Kutay Zorbaz, Yigit Yuceturk
Development Platforms, Technologies & Tools
Java, XML will be used while programming android application.
Hardware and Software Interfaces
- Android Studio with Android SDK for Java Development
- NFC Writer by Tagstand android application for writing data on NFC tags
Tagstand Writer allows programming NFC tags.
- NFC NTAG213 chip, with 144 bytes of available user memory.
Project Design
First, We will convert the floor plans of shopping malls to edge-node diagrams as we showed above. Then, we will prepare text files that include adjacent nodes and their edges' length information. In order to detect the shortest path from source to desired destination, Dijkstra algorithm technic is going to be used in our Java Android Application program. We need to embed our floor plan to the algorithm. That's why we prepare text files to present to the algorithm which nodes are adjacent and which nodes aren't. Dijkstra Algorithm will read the necessary information from text file and create a floor plan map for its calculation.
Our NFC tags will have mall's floor plan information as a text like that:
G10 G2 7 7 1 "Holister" 1 "Holister" 2 "Adidas" 2 "Adidas" 3 "Nike" 3 "Nike" 4 "Victoria Secret" 4 "Victoria Secret" 5 "North Face" 5 "North Face" 6 "Timberland" 6 "Timberland" 7 "Burlington" 7 "Burlington" 2,1,70 2,1,70 2,3,150 2,3,150 1,4,70 1,4,70 4,3,140 4,3,140 4,5,118 4,5,118 5,6,10 5,6,10 6,7,70 6,7,70
Add lane function will create relationship between nodes.
addLane("Edge_0", 2, 1, 70)
addLane("Edge_1", 2, 3, 150)
addLane("Edge_1", 1, 4, 70)
addLane("Edge_1", 4, 3, 140)
addLane("Edge_1", 4, 5, 118)
addLane("Edge_1", 5, 6, 10)
addLane("Edge_1", 6, 7, 70)
private void addLane(String laneId, int sourceLocNo, int destLocNo, int duration)
{
Edge lane = new Edge(laneId, nodes.get(sourceLocNo), nodes.get(destLocNo), duration);
edges.add(lane);
}
After the creating of map in our algorithm, We need to detect that where we are (source point) from NFC's in shopping malls and where we want to go (destination point). Then, application will calculate the shortest path and start to navigation information to arrive desired point.
User Requirements
- Application users can see the list of stores in a mall.
- Application users can get the shortest path to a desired store.





