The On Track Story
We wanted a way to quickly and easily share location in the simplest possible manner. At Colby students without cars rely on “The Jitney”, a shuttle service, for all their off campus needs. In the past it’s been difficult to rely on, as it’s impossible to know the current location of the Jitney. Planning a short trip into town turned into a day long journey, with no way to know when the jitney would be available next. We were inspired by the struggles of our fellow students to make OnTrack, a simple cross platform app and web extension that allows a user (Leader) to broadcast their location to everyone who knows the name of the broadcast. Monitoring the jitney is as simple as the driver opening the app on their phone when they start a shift, and providing all potential users with the name of their session. We see the potential use cases stretching beyond Waterville, Maine, from tour guides herding their groups from place to place, to road trips, to the sharing of locations between friends. We hope you enjoy using it as much we enjoyed making it!
How it works
The first iteration of On Track allows its users to create a "session" to broadcast their location to many people with a simple passcode or passphrase. When the (Android & iOS) App is launched, a user is able to become a "Leader" (black sheep) or a "Follower" (white sheep).
If Leader is selected, a prompt will request a unique passphrase and update the backend database with a new active session that will broadcast the leader's position. The leader's gps coordinates will periodically be pushed to the server until he or she closes the session.
If Follower is selected, a similar prompt will require a valid passphrase of an active session, then the follower will be able to track or follow an existing leader. The followers will be able to see themselves relative to the leader and can follow the session until it is closed or when they leave.
There is also a web app, which is a "Follow" only implementation for the folks who don't have iOS and Android smart devices.
Challenges We ran into
Creating a cross platform app required us create a backend that was compatible with the technologies we wanted to utilize. After considering various database options, we decided to use the Parse framework due to its simplicity. However, we ran into a number of challenges regarding acquiring, querying, and parsing through data in an asynchronous manner.
Due to the heavy use of location services, we had to optimize our algorithm to conserve battery. We tackled this challenge measuring the change of rate in respect to the change in distance. A low rate meant that the user was not moving as fast, therefore we did not need to update the back end as frequently. On the other hand, a high rate meant more calls to the back end with new GPS coordinates.
Accomplishments that I'm proud of
I’m really proud of how we managed to come together for our first hackathon and create not only one, but three compatible applications to maximize the convenience of those who wish to use it. I’ve personally never finished an iOS app in such a short time, and I’m not sure I’ve ever made an app that looked this good. Our android developers worked closely with me and our chrome extension designed to ensure the api stayed standard throughout the platforms. The greatest moment of all was when we got an oversees friend to test the app through the browser extension, and we all got to see those beautiful sheep separated by the atlantic.
What's next for On Track
We want to add the ability for the leader to see all the users in the map associated with the session, as well as push notifications so the the leader can send messages to those following him or her. We’d also like the leader to have the ability to put pins on his map visible to his followers, to signify destination or points of interest. We want to help push OnTrack as a solution to any situation where not knowing someone’s location is an inconvenience!