About the Project
User wandering behaviours may involve many location visits in different order. The research team has proposed an algorithm which can provide users recommendation for their next visit according to the similarity of their behaviours between each others and the connections amongst locations.
Users can get this recommendation through an app, which can record Points of Interest(POI) from time to time. The app only sends hashed POI and its category (so the server in fact doesn't know what the POI the user visited at any time) as well as an unique uuid (which cannot backtrack to anyone) for the service to match the wandering behaviour patterns and provide recommendations.
This POI data helps the recommendation engine to give accurate results. The synchronization service will ensure the user always has updated offline data to ensure offline functionality. Users have complete comtrol over the data the app recorded on their behalf.
About Us
Dr. Maiga Chang
Supervisor
Dr. Maiga Chang is a Full Professor in the school of Computing and Information Systems at Athabasca University, Canada
Our Goal
Our goal is help researchers all around the world to make use of this open source code to find more innovative ways to recommend places.
Our Team
Jagrit Acharya
Current Member
Jagrit Acharya
is an undergraduate student of Computer Science from NMIMS bombay, India (2019-2023)
Anirudh Raghavan
2021
Anirudh Srinivasa Raghavan
is an undergraduate student of Computer Science from PES Institute of Technology, India (2018-2022)
Sarabjeet Singh
2016
Sarabjeet Singh is an undergraduate student of Indian Institute of Technology Roorkee, India.
Ben Ripley
(2012~2013)
Ben Ripley received a BSc degree in Computing and Information Systems from Athabasca University in 2016.
Dirksen Liu
(2008-2009)
Dirksen Liu (Decheng Liu) received the BSc degree in Computer Science and BA degree in English from South China University of Tech. in 1997, and the MSc degree in Information System from Athabasca University in 2009
Videos
Final Presentation
Presentation on Day 2 in the VIP Research Group's Research Outcome Webinar (VIP ROW 2021)
This research implements an Android app and a recommendation service with two algorithms to predict and make Point of Interest and PoI category recommendations for the mobile app's users according to their anonymous time-series data. The research outcome involve Android, Python, PHP, XML, JavaScript (AJAX and JSON), and Open Street Map
Stage 1
Stage 1's major tasks/features include (but not limited to)
1. anonymized device registration;
2. secure and anonymous synchronization for the visited Point of Interest (PoIs) and their categories;
3. a PoI's stay status detection;
4. local storage integrity checker and anonymous data synchronizer.
Stage 2
Stage 2's major tasks/features include (but not limited to)
1. app's configuration settings;
2. offline map requester and synchronizer;
3. Next-Stop Recommender dashboard.
Stage 3
Stage 3's major tasks/features include (but not limited to)
1. Route Recommendation algorithm;
2. Regular Expression based algorithm.
Background Location
Working of Background Location
1. Users can optionally turn on background location
2. It will detect and record POI even if users do not open the app
How To
Permission configuration for run in background (for Samsung mobile device)
When users want to enable the Run in Background feature to allow Next-Stop Recommender to access location information in background, sometimes they need to turn off the battery optimization function for the app manually. This video shows how the Battery Optimization funcation can be disabled in a Samsung mobile device.
Publications
-
Ben Ripley, Dirksen Liu, Maiga Chang, and Kinshuk. (2013). Next Stop Recommender. In the Proceedings of 2013 International Joint Conference on Awareness Science and Technology and Ubi-Media Computing (iCAST-UMEDIA 2013), Aizuwakamatsu, Japan, November 2-4, 2013, 120-125.
-
Siu Hung Keith Lo and Maiga Chang. (2012). An Innovative Way for Mining Clinical and Administrative Healthcare Data. Active Media Technology (AMT 2012), Macau, December 4-7, 2012, 528-533.
-
Keith Lo. (2012). Health Care Data Mining from Clinical and Administrative Systems. Unpublished Master Essay, Athabasca University, Alberta, Canada.
-
Dirksen Liu and Maiga Chang. (2011). Next-Stop Recommendation to Travelers according to Their Sequential Wandering Behaviours. Journal of Internet Technology, 12(1), 171-179.
-
Dirksen Liu and Maiga Chang. (2009). Recommend Touring Routes to Travelers according to Their Sequential Wandering Behaviours. In the Proceedings of the 10th International Symposium on Pervasive Systems, Algorithms and Networks, (I-SPAN 2009), Kaohsiung, Taiwan, Dec. 14-16, 2009, 350-355.
-
Dirksen Liu. (2009). Route Recommendation based on Behavior Analysis. Unpublished Master Essay, Athabasca University, Alberta, Canada.
Frequenty Asked Questions
-
Do I need register an account for using the app?
No, the app will automatically self-register when it starts at the first time. When the app does device registration, only a signature and device ID generated and there is no way to back track and get idea of the device information. So your privacy is kept and your identity is still remaining unknown to anyone includes us. The detailed mechanism can be found from the above Youtube video for the presentation on Day 2 in the VIP Research Group's Research Outcome Webinar (VIP ROW 2021).
-
What data do you collect from users?
We are strictly against the idea of collecting user sensitive data from the device. We only collect user's POI(Point of Interest) from time to time and send its hash value to the server. It is impossible to obtain the original data from a hash value due to no matter how long (in terms of the number of characters) the original data has, the hash value size is same. It might take 5 years for a computer to brute force a hashed point of interest (see HOW LONG DOES IT TAKE A HACKER TO BRUTE FORCE A PASSWORD?) if and only if the hash method is not considering to add salt or making any alternation (see Adding Salt to Hashing: A Better Way to Store Passwords). So no one include us could know what POI you have been before. Additionally, you can remove any POIs that you have been to, permanently at anytime from your device and the server.
-
I do not have access to mobile data. Can I use this application?
Our App has offline functionality. Whenever the device is connected to Wireless network, it can download POI(Point of Interest) data and synchronize all data to the server.
-
Does this application drain a lot of battery?
The app has two options for collecting users data, (1) Detecting user's location only when the app is open and (2) Detecting the user's location in the background. Users have an options to change this settings in the profile page. Moreover, even if the app is allowed to work in background, the app will not cdetect the device's location if the user's battery is below a critical level.
-
Can I wipe out my existence?
Yes, Users have an option to wipe out their existence from Profile page, all the data saved in the local device and server will be wiped out.
-
When wille the app detect my location?
The app has two options for collecting users data, (1) Detecting user's location only when the app is open and (2) Detecting the user's location in the background. Users have an options to change this settings in the profile page
-
Will the app store my location?
The app will never store your location coordinates in any form. We use the location coordinates to get the closest Point of Interest, which will be stored locally and then sent with its hashed value to the server, so we don't know what POI you have been before.
-
Does the app detects my location in background?
The app will detect the location in background if user has given the permission in profile page. This permission can be revoked by user at any point of time by turning it off in the settings page.
-
Can I configure the app to only detect my location while I am using it?
Yes, you can configure it in the profile page. Turning off background usage would mean the app will be able to detect location only when user is using it.