Inspiration

My friends and I often find ourselves in a situation where we need to know each others' locations. When deciding whether or not to walk back from class or get lunch at a restaurant across campus (Case Western's dorms are rather separated from the classes), it is often useful to know where people are and make a decision quickly. There isn't really a point to texting a friend asking where he/she wants to eat, walking toward the cafeteria, only to hear a few minutes later that he/she is closer to Chipotle and would rather go there. What if you could know where all of your friends are and, with the press of a button and a little bit of cognition, make a quick decision on where to start walking to. Sometimes, it's better to just be lazy.

What it does

This app allows friends to form groups and have access to the locations of each other with the tap of a button. It is an opt in feature, so friends can turn it off if they want to stay anonymous for a time period

How I built it

There are two parts to this project. The interface is currently only an android app with a rather simple UI. It contains 4 activities and minimal interaction (it is supposed to be simple after all). The only other code in the app is the communication with the server. These are handled in the same way as many popular apps, http requests and json responses. The backend was written in java with the help of httpserver package in com.sun.net. There really was no reason to use a framework. The json was handled with javax.json from java EE. There is not much processing that happens in the backend other than managing a rudimentary database and parsing json.

Challenges I ran into

Since this was a relatively simple app I ran into only a few trivial challenges, such as incorporating google maps and creating a secure authentication system.

Accomplishments that I'm proud of

This was the second time I had attempted an android app and the first time I had done any networking work, so this project is something I'm proud of doing, especially since I started it with a third of the hackathon time left (I spent most of my time walking around helping other groups as well as building another android app with my friends). This project also falls outside a lot of what I work on normally. I am a hardware hacker at heart. Circuits and C are my home, so working with android and making a backend in java definitely helped me gain experience in areas I would not normally touch.

What I learned

I learned a lot about android dev. The first time working with a workflow is always hard and time consuming, but the second and third times solidify the workflow and explain all of the struggles you had the first time around. This was just the first time working with any sort of backend, so hopefully in the future I'll get a little more experience and learn more about it.

What's next for Where You At?

It is not entirely finished. I have yet to implement any sort of ssl to secure http transactions (imagine someone having access to your location on an almost real time basis). The authentication is right now encrypted with AES 256, which is a step in the right direction but is by no means secure, especially the very first request to create an account is open to interception. A public-private key implementation, ssl, would make this much more secure. I also have yet to expand on the functionality, maybe including some preset buttons to tell people you are coming and making a widget for even lazier interaction. Hopefully I can convince my friends back at college to use this app and do a few beta tests on it before I publish it. After that, I don't really see a need to continue adding new features. The app's purpose is not to replace social media but to make social media a bit easier.

Built With

Share this project:

Updates