NaviMall - Kutay Zorbaz, Yigit Yuceturk
Introduction
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.
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 Route (G1 -> F):]]
- Go to East on Front St. 30m
- Turn South on Seminary St.
- Destination is on your right after 70m
[[Example 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.
Firstly, We will convert floor plans of each shopping mall to edge-node diagrams as we showed above. Then, we will prepare text file that includes adjacent nodes and their edges' length information by looking edge-node diagrams. To detect the shortest path 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 algorithm for calculation. That's why we prepared text file to present to 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 7 1 "Holister" 2 "Adidas" 3 "Nike" 4 "Victoria Secret" 5 "North Face" 6 "Timberland" 7 "Burlington" 2,1,70 2,3,150 1,4,70 4,3,140 4,5,118 5,6,10 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.
Project Design
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 you to simply and quickly program multiple NFC tags.
- NFC NTAG213 chip, with 144 bytes of available user memory.
User Requirements
- Application users can see the list of stores in a mall.
- Application users can get the shortest path to a desired store.
Used Frameworks
- Mapkit.framework, CoreLocation.framework, Foundation.framework, CoreGraphics.framework, UIKit.framework
- 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
==Project Plan==
11/17/2015 - Establish Requirements, Project Plan, Sample Presentation
12/02/2015 -Design- User Centered Design Approach
12/16/2015 - Begin Implementation
12/30/2015 - Coding
--- End of Semester ---
01/27/2016 - Layout of Android Application
02/10/2016 - Adding Additional Features
02/24/2016 - NFC Integration
03/09/2016 - NFC Tag Programing
03/23/2016 - NFC Testings
04/06/2016 - Potential Prototyped Finished
04/20/2016 - Finalising Code
05/04/2016 - Evaluation of Finished Code
05/11/2016 - Test
05/18/2016 - Final Report Hand-in and Presentation

