Inspiration

A few months ago I read a report on a Google service that imposed censorship on certain offensive words and phrases, and substituted them for others. Although I question the legitimacy of this claim, I am convinced that censorship is not the way to defeat online and offline harassment.

What it does

The Android keyboard (soft input device) that we developed is based off an older version of the vanilla keyboard. It reads and temporarily stores a buffer of the last 30 characters typed with it, and analyzes it against a dictionary of words that might be used to harass someone. The list, for the purpose of this project, has been kept as family friendly as possible, and is more of a demonstration of the potential capabilities of software like this. The software briefly interrupts with a message to the one typing, when it deems that potential harassment may occur as result of the message.

How we built it

We built the application by using an older version of the vanilla Android soft input device, that is available on the Google Git. We did an override of the method calls that it makes to the system, and added our own code into it. We used Android Studio for that purpose.

Challenges we ran into

Understanding how the original keyboard worked was the main challenge for our group. None of us are active android developers, but we think that it is worth it to convey our idea in some way.

Accomplishments that we're proud of

Managing to make the user typing think twice about what they are sending without censoring their text, and without being too disruptive to the typing process itself.

What we learned

We learned a lot about the android services and activities lifecycles, and how an android application works internally in general.

What's next for Harassment Filter Android Keyboard

We would love to see opportunities to develop this idea into a finished product, with proper natural language recognition algorithms, that would void the need to use phrase dictionaries.

Built With

Share this project:

Updates