Five Foot Texting

NYU Shanghai Winter Semester

Short Range, Disposable Texting

Five Foot Texting was a messaging app where users can only chat if they are in shouting distance of each other. Five Foot Texting explored the phenomenon of texting between people sitting next to each other through a novel, limited use app.

Registration page of Five Foot Texting

Considerations

The idea for an app where you can only message other users when you’re five feet away was mostly a joke. It played off of how people sometimes text each other when they’re right next to eachother as a way to have private, side conversations. To facilitate this, we planned on using PhoneGap/Cordova’s Bluetooth capabilities to message users over Bluetooth Low Energy. Unfortunately, though there are libraries for Cordova to act as a Bluetooth server, there were none to act as a client; meaning we couldn’t get one client to allow another client to connect to it. Instead, we ended up using HTML5 Location data with a central server comparing locations and determining whether two users could or could not connect. This relied heavily on phone location services reporting relatively similar locations, which ended up causing problems later as we were developing the app in China, which (in 2016) had inconsistent GPS data.

Conversation list page

The Stack

Created with Daniel Balagula, Five Foot Texting was the final project for Mobile App Development, taken at NYU Shanghai in Winter 2016. It used:

Socket.IO‘s NodeJS JavaScript library for WebSockets to let users easily sign up and message other users

It used a Redis database to store friendships as well as user’s most recent locations

Frontend used Socket.IO’s websockets as well as JQuery for user interface changes

The conversation view, showing a short conversation between Matt and Blue

The Interface

When the user first opened the webapp, they’d be greeted with a prompt to register a username. After registering, the app stored the server confirmation of that in localstorage, so the user wouldn’t need to login again from the same device. If the user wanted to logout, it would also delete the user’s account from the server. Next, the app would prompt for the user’s location with an explanation of the “Five Foot” rule of Five Foot Texting. If they didn’t provide location, the app wouldn’t continue. To chat with another user, both users would add the username other the other and hope the two were close enough nearby to chat. If they were, when they opened up the conversation view, they’d be able to message each other. If they weren’t close enough nearby, you could view any messages stored locally in local storage as well as an explanation of the “Five Foot” rule. We intended on figuring out how to implement push notifications through Cordova, but we ended up cutting that in order to present the app in a working state as a final project.