110 likes | 293 Views
Location Based Time Capsule on Android. Meng Cheng Qin Huang Yiteng Zhang Zhong Ren. Overview. “Sensing data without knowing the location is meaningless.” User can save a message inside a “capsule” and bind it to a certain time and/or location
E N D
Location Based Time Capsule on Android Meng Cheng Qin Huang Yiteng Zhang Zhong Ren
Overview • “Sensing data without knowing the location is meaningless.” • User can save a message inside a “capsule” and bind it to a certain time and/or location • Leave the “capsule” for him/herself or for other users • Potential use cases: • Birthday/anniversary greetings • Location-based reminders • Leave a note for whoever comes to Yale • Send a message to the future self
Client • Easy, smooth navigation using Fragments • Send capsule to other users from the contact list • User can directly select any location on the map • Conveniently select any date/time on the calendar
Server • MySQL + JDBC • HTTP + JSON • http://<server>/contacts?user_id=<userid> • {"contacts":[{"id":1,"name":"zr36"},{"id":2,"name":"yry3"}]} • DB connection pool to support concurrent access • Commit / rollback to ensure data integrity • Optimized search on location
GCM Service • Each device has a unique key for GCM • The key registered both on GCM and Server • Push time/location capsule to user’s device • Instantaneous and Energy-efficient
What is novel? • Users can define a “capsule” in three dimensions: • Time • Location • User visibility • Server can instantaneously push matched capsule via GCM to the corresponding users
What is substantial? • Client adaptively updates its location • Adjust update interval according to the search result on the server and the location change of the device • Extend battery life time • Server adaptively searches for location capsules • Search inside a latitude/longitude-bounded square centered at the client’s location • If no match found, enlarge the search square and reduce the update rate of the device
Future Improvements • More furnished UI • More efficient server setup e.g. MongoDB • Enable capsules to store pictures or audio • Use Amazon S3 to separate persistent storage from application server • Integration with Facebook / Google+