DipJar's goal is to make a device so simple that it can be used without an attendant. Signs help communicate "Hey! Stick your credit card in this thing you've never seen, to donate to our cause." 

DipJar_Broadway Cares.jpg

My job was to help the DipJar communicate, "I'm processing your transaction. You're great! Everyone should do like you!"


How do DipJars talk to humans with just 185 LED pixels, optional audio, and limited time?

Rely on familiar symbols / animations and positive sounds


Designing the Language of DipJars

The great thing about working at a small start up is you get to learn a lot of new things outside of your area of expertise. Designing the language of DipJar was truly a team effort where all our roles crossed over.  I worked closely with the Hardware Engineer and Founder to figure out the friendliest form of communication for the DipJars.


1. Deciding what the DipJar needs to communicate

beam broken

"I have detected that something has been inserted"

Stripe detected

"I've detected a card that might be a credit card because it has a magnetic stripe"

no stripe detected

"Your credit card might be mis-oriented because I don't detect a stripe"
Additional instructions: "Please try again in a different orientation"


"I'm done doing whatever it was that I was doing"
Inverse communications: "I'm doing something"

card read error (shaky/slow dip)

"I detected a magnetic stripe but for some reason I couldn't get a good read"
Additional instructions: "Please try again"

good card read

"I have successfully read your credit card"
Connotation: "You're a wonderful person and more people should be like you!"


2. Writing scripts

6 Scripts Written & tested, 1 Script FUlly Deployed

If beam broken = 1st sound + animated ellipses, wait then display up arrow

If NO stripe detected + timeout over = arrow pointing at card orientation icon, wait between break beam and retry message

If stripe detected = animated ellipses

If good card read = continue ellipses

If card pulled = start timeout, continue ellipses

If NO good read (at any point) + timeout over = "retry" message

If good read (at any point) + 1.5secs into timeout = 2nd lights + sound


3. Putting the "conversation" together




Wrong Card Orientation, Retry


Something Didn't Work. REtry