Noisegate
Noisegate is a touchscreen application for Android that allowed the user to unlock the front gate of the Noisebridge hackerspace, by sending a web service request.
Source: <
https://github.com/jjuran/noisegate-android
>
Download: <
https://www.jjuran.org/pub/android/Noisegate-debug.apk
>
The initial version of Noisegate was an affectionate parody of the iPhone’s lockscreen:


Android didn’t have a slider widget, so I had to implement one.
While the unauthenticated gate-unlocking web service was already available to anyone who knew the URL, the popularity of the Noisegate app stoked concerns about the physical security of the space. The community reached a consensus to require the use of numeric codes for access control. Unique codes were given to regulars for long-term use, and attendees of classes received temporary group codes that were active for limited times.
I redesigned Noisegate as a virtual keypad:

This solved the immediate problem, but was not without its faults. The large type made the code vulnerable to shoulder-surfers, as well as imposing a maximum length of eight digits, beyond which the numeral would overrun the physical screen area:

I revised the user interface again, repurposing the tongue-in-cheek error console to replace the numeric display:

Having a viable working product at this point, I focused my remaining efforts on presentation. My goal was to go beyond mere utility, and leave the user with a feeling of being the hero in a movie — a true cinematic experience. I devised a backstory to supplement Noisegate’s already established aesthetic (inspired by an actual film), and rewrote the "script":






Since then, the web service has been shut down and replaced by RFID tags, so none of its clients work anymore. While Noisegate no longer provides its intended function, at least it fails gracefully:

