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.
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.
1. app's configuration settings;
2. offline map requester and synchronizer;
3. Next-Stop Recommender dashboard.
1. Route Recommendation algorithm;
2. Regular Expression based algorithm.
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.
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.