amwatson

10 Feb 2015

I spent a lot of time being afraid of this project.  The large design space is intimidating.  I will describe what I came up with as “solidly ok”

My project combines ofxZxing (a wrapper for a QR code reader) and ofxCurl (a wrapper for CURL) to create a “high-trust platform for exchanging arbitrary information”.  A user holds out a QR code to the program camera, which displays another user’s QR code in exchange.  These QR codes can direct to any kind of digital data, from homepages and maps to to books and films.  Only by trusting the sender and opening the link is the user able to explore its contents.

Interface

The first thing the program’s user sees is themselves, reflected onscreen via a front-facing webcam.  When a user holds a valid QR code in front of the camera, the program recognizes it, takes a snapshot of the user and their code, and replaces it with a snapshot of another user/QR code.  The user can see the other image as long as they are holding their QR code in front of the camera (NOTE: each QR code is linked to a specific response code.  Showing the same QR code multiple times will continue to display the same result).

Exchanging QR codes between users

 

Snapshots are exchanged across machines by communicating with a server (using CURL).  Users can exchange snapshots and QR codes with users across any number of machines, connecting to people and their data from around the world.

Inspiration

When I saw the QR reader addon, I was inspired by the unique way by which QR codes get used to transfer data: while most digital exchanges base security and “trust” on keeping users anonymous and the data they send well-scrutinized, interfacing with QR codes instead requires a human intermediary, who generally has no idea what the code refers to until they open it.  I imagined exchanging QR codes might flip the traditional data exchange dynamic on its head, in which instead the sender and the world around them would be visible, but the data would be opaque.  Under these circumstances, how do you know whose messages can be trusted?

code is located at https://github.com/amwatson/QR_exchange