A Visual Ode to @NRCCPrinter
BY Nick Judd | Wednesday, June 13 2012
The National Republican Congressional Committee sends along this infographic from the NRCC digital team explaining how they built NRCCPrinter, a gimmicky web setup that allowed users to fill out an Internet petition against the Affordable Care Act and then watch a printer near digital director Gerrit Lansing's desk at NRCC HQ as it printed them out.
Pranksters figured out how to have some fun with the project before the NRCC shut off the live video stream of the printer.
The digital team writes:
@NRCCPrinter was built using the Python web framework Bottle. Form submissions were passed through a filter to block inappropriate words from passing though. From the beginning, we knew that perfection would not be achievable in this area but wanted to make it a bit of a challenge. In the end, our filter successfully blocked more than 5,000 submissions.
Approved submissions were stored in a MySQL database for safe keeping and the petitions were generated using Bottle’s SimpleTemplate engine. Rendered templates were saved in a Dropbox folder. If a submission included a Twitter handle, that information was passed to Celery to do the work asynchronously. The Celery worker used the Klout API to determine the users Klout score and if it was over 30, the printer tweeted at them using the Python library Tweepy. This process took around 4 seconds which was the motivation for using Celery.
The computer attached to the printer had Dropbox installed and was running a Visual Basic Script to print all files in that folder and then delete them. The application was deployed on a Rackspace cloud instance running Ubuntu 11.10 (Oneiric Ocelot) and used the Apache HTTP server.
Or, in memespeak: