What it does
Where You At facilitates meet-ups by allowing you to easily request or send a snapshot of your location with a friend. After creating an account, users can search other users by username, and create rooms. Once a room has been established, The user is greeted with 2 buttons, one that asks for their location, and another that sends yours. When sending location data, it uses Magnet Messaging to shoot over a single packet with the latitude, longitude and the timestamp with which the other user can then use to draw on a map. The app also uses Google Maps API to tell you how long it would take to walk or to drive from your location to his/hers.
- Meeting up with a friend at the library.
- Finding your ride at the airport terminal.
- (For parents) checking in on your kids.
- Meeting up with a Buyer on Craigslist.
- Asking friends if they made it home safe.
- Notifying your friend that you've arrived at the location.
How I built it
I used the google maps sdk and Magnet Messaging as the backend, and used standard Java and Android Studio for the front end.
Challenges I ran into
Magnet Message did not have any user authentication caching, so I had to build that myself. Also, there is no way to see past user-to-user messages, and query all of the user's current rooms with other users, so my work around was to make each conversation a public forum with the usernames as the tags, so that I could then query for any forums with the current username as a tag. The current implementation is a little hacky with security holes, but with the sdk provided by Magnet Messaging, it was the only way. The forum had to be public because private forums could not be queried via tags (which I use to store usernames). When "Send Location" is pressed, two messages get sent. one to the other user directly to allow push notifications, and another to the public forum for archiving the conversation history.
Accomplishments that I'm proud of
I'm proud of the UI and UX, and the customisation of google maps. I am also proud of the workarounds that I used on the Magnet Message sdk.
What I learned
I've learned how to use Magent Message and Google Maps api.
What's next for Where You At
I'd be interested in shipping this as an actual product, as it is even very usable at its current state.
- make sure new accounts are created on different devices and you only log on to the same device you created the account on.
- all operations chain multiple api calls. Make sure you have location enabled and have good constant internet connection.