After presenting on the topic of open authority at MCN a few weeks ago, several people approached me afterward and have emailed since with questions about the technology daisy-chain we employed to make the Oh Snap! project happen. Since there seems to be some interest in this I thought it made the most sense post the documentation here on the site.
In retrospect we probably could have fine-tuned this process a little better, however we were working with some very tight timelines. This prompted us to approach the whole project as a rapid prototype, which influenced our decision to ship a minimum viable product at launch. If you have questions or need anything additional, feel free to get in touch via Twitter or email.
We utilized Wufoo for the web-based submission forms on the site. The service is nice because there is very little code involved and you can customize the report structure on the back-end. Each artwork in the show (there were 13) had it’s own dedicated landing page and, thus, it’s own independent submission form. That’s how we were able to attribute submissions to their respective artistic inspirations.
Once a user successfully submitted a photo, we needed to get it to a workstation in the gallery so an attendant could review and approve the image for printing/publishing. Note: Early on we explored the idea of making the process fully automated, but ultimately decided to implement a human-centered approval process. In order to automate the process of getting submitted photos from Wufoo’s servers to the gallery workstation, we signed up for the beta of Elastic.io, a web service mash-up generator that could port Wufoo data into a Dropbox folder structure.
I like to think of Dropbox as the nerve center of the internet. I’ve used it for so many things and it’s saved my bacon on numerous occasions. We installed Dropbox on the gallery workstation and created a layered file structure that looked something like this:
When a photo was submitted via a Wufoo form, Elastic.io would ship the image and corresponding metadata to the appropriate Dropbox folder on the gallery workstation.
Because we didn’t know what kind of content we were going to get, the project team felt it was necessary to implement human authentication along the way. We staffed the gallery during all open hours with an attendant. As images came in via the Wufoo/Elast.io/Dropbox relay, the attendant would review the files. If they didn’t violate the project’s terms (99.9% didn’t) the attendant would rename the file to reflect the participants first name and last name (important), print the image, and hang it in the gallery.
After the image was hung, the attendant would drag the file into a different Dropbox folder labeled "Approved." This action would trigger the second half of the daisy chain.
If I could french kiss a web service it would be IFTTT. We created a IFTTT recipe that watched the "Approved" folder in Dropbox. When a new file was added to this folder, IFTTT would send the image up to WordPress, the platform that supported the project’s website, and create a new post with the image.
We set up our WordPress instance to title the image posts with the file name, which was the participant’s first name and last name (created by the gallery attendant earlier in the process). In order facilitate the IFTTT posts, we had to create a new user with full admin rights on our WordPress back-end specific for those posts. This is a minor thing, but it might make some people/orgs nervous to give a robot full admin access.
One goal of this project was to foster a community around the images, so it was important for us that the relationships with participants didn’t end with their submission. We wanted those who submitted to attend the parties and educational programming associated with the project, but also to come visit their image in our gallery.
Each week during the run of Oh Snap!, we uploaded the published participant data from the previous week into a list hosted by Mailchimp. We created a campaign that would fire off an email to all new participants letting them know their image was hanging in the gallery and on our website. We also included a free pass to the museum so they could come check it out. Additionally, we would send the occasional note out to the master list announcing related events and programming.
As I said in my talk at MCN, I’m frankly surprised all of this worked. It was akin to a digital Rube Goldberg experiment and could have fallen apart at any point in the process. It didn’t though, and we ended up with an interesting project that will continue to inform the way we approach visitor engagement at the museum for the foreseeable future.