Last week at our annual IP3 Awards, we debuted a new addition to the Public Knowledge family: the GIFerator.  Basically, it was a photobooth that let attendees make their own animated GIFs and publish them to the internet.  We designed the GIFerator with openness in mind and on top of open technologies, so this blog post is intended to share our process and document it well enough for you to set up your own. 


At its heart, the GIFerator is fairly straightforward.  We needed a way to capture pictures, stich them together into animated GIFs, and then publish them on the internet.  We also needed an interface that was easy to use, explained the process to people, and was robust enough to keep working unattended through an event with an open bar.   This allowed people to walk up to the GIFerator, mash a few buttons, and publish their GIF to the internet.

Bill of Materials

1 computer with a webcam and internet connection (it does not need to be a new one – we used the oldest iMac in our office and it worked great)

1 USB keyboard

1 Box (here is our design)

4 Buttons (we used these concave arcade-style buttons from Sparkfun because they were fun to mash and only cost $1.95 each, but pretty much anything should work)

Wire and Solder

Firefox plugin

The Software

The genesis of this project can be found at Eyebeam.  We were up in NYC to meet with Eyebeam in preparation for our artist in residency program.  Eyebeam happened to be running a show called Open(Art) they had put together with Mozilla.  One of the projects on display was a demonstration of Meemoo, an application built by Forrest Oliphant that created stop motion animation gifs.  With the IP3 awards coming up, we thought that we might be able to integrate it into the event.

Meemo is an HTML5 data programming environment that does not require programming expertise.  Instead, it is a graphical environment where each action is represented by a box.  These boxes are connected by “wires” that let information flow between them.

Building off the existing webcam to animated GIF demo we started to put together our project.  I encourage you to play around with it on your own, but you can find our final version here.

One of the many advantages of Meemoo was that it allowed us to trigger events with the press of a key on a keyboard.  Once we had mapped keys to specific events (such as take picture and make GIF), it was time to build the controller.

The Controller (electronics)

The demo at Eyebeam was controlled by a MaKey MaKey board.  MaKey MaKeys essentially allow you to turn anything (like, say, a bunch of vegetables) into an input device.  We were about to get our own MaKey MaKey but realized that – as cool as it was – it was a bit too cool for what we wanted to do.  All we really needed to do was type four letters.

That’s where the USB keyboard idea came in.  It turns out that USB keyboards are quite hackable.  Plus we had another one hanging around the office.  Once you take them apart you are left with some simple elements – a membrane under the keys and a board that connects the membrane to the USB cable.  

For these purposes all we needed was that board.  Keyboards are basically matrices – there are two banks of connectors and pressing a key connects one pin from one matrix to one pin from the other matrix.  The combination of the two pins is mapped to an input like the letter “g” or the right arrow.

So the first step was to take apart the USB keyboard and pull out the controller board.  The second step was to try and map the matrix.  This sounds a lot sexier than it was.  In order to map the matrix we plugged the board into a computer and brought up a text editor.  We then just took a wire and connected one pin from one matrix to one pin to another, working our way through until we had identified at least four combinations that would reliably give us letters:

With the pins identified, we soldered wires onto the pins and connected them to the pushbuttons.  Pushing the buttons now caused the computer to recognize the key that corresponded to the pin combination.

With the wiring done, we now had a neat way to trigger all of the events to make the animated GIF.  But we couldn’t just leave the buttons lying around in a jumble.  They needed a home.

The Controller  (enclosure)

We could have pretty much used anything to hold the buttons.  A shoebox with holes drilled in the top would have worked fine. But we decided to go for it with a custom designed laser cut box.  

In addition to looking cool (a not insignificant factor), the laser cut box would allow us to include instructions right on the box.  This was important because we wanted people to be able to use the GIFerator without a PK staffer having to man it all night.

We used this site to create the box and then PK’s own Clarissa Ramon added the holes for the buttons, the instructions, a PK logo, and an Open Source Hardware logo in illustrator (inkscapewould have worked too).  

With our design mostly done, all we needed to find was a laser cutter.

Fortunately, the fantastic Fab Lab DC has a laser cutter.  Fab Lab impresariess Phyllis Klein helped us refine the design so it would cut well.

And then it was time to cut.

And put it together

Once Phyllis’ husband Alex helped us join the box pieces together, the last step was to screw in the buttons and connect everything together.

Controller Plus Software

The next step was to make sure that the keys on the box matched the keys Meemoo was looking for.  That was easy - when setting the input for a specific action we just pushed the right button on the controller.  But then things got a bit more complicated.   

While Meemoo made it incredibly easy to create the GIF, it is not yet easy to save the GIF.  Without that, every GIF would disappear every time we reset the page.  

Fortunately, PK’s Charles Duan tapped the same programming skills he used to explain to the Supreme Court why seemingly complicated patents are really quite simple to write a custom Firefox plugin that saves the GIF locally.

At that point, we had a controller that did four things – started a new GIF, added frames to the GIF, animated the GIF, and sent the GIF to the internet.

But wait.  Charles’ plugin just saves the GIF locally.  How does it get onto the internet?

Getting the GIF Online

This walkthough from IDEO helped us figure out the final step.  We used an IFTTT recipe to monitor the local save folder (synced with a public dropbox folder) and upload any GIFs it found to our tumblr page.

That’s It

The GIFerator actually worked at the IP3s and was a big success.  We’re planning on setting it up at the entrance to PK’s office, and maybe take it on the road a bit more.  As you can see, once we figured it out it was pretty easy to put together.  So come on by and try it out.  And go build your own.  Improve upon our design.  If you do, send us a picture of it set up and working!


This one is pretty straightforward.  I wanted to make a big red button that would play a sound of my choosing when I pushed it.  I thought about trying to reprogram one of the Staples easy buttons or even trying to design my own custom board.  But both of those options turned out to be much more complicated than what I ended up with.

Turns out you only really need 2 things:

1 Big Dome Pushbutton (I got the economy one from Sparkfun): $5.95

1 Recordable Sound Module from Invite By Voice: $6.99

You will also need some sort of box.  While I have dreams of making a laser cut box for this thing, as you can see a Sparkfun box works pretty well for  now.

The sound module is incredibly straightforward to use.  Basically you download a bit of software from their site, connect the dongle, and upload it to the module.  It can actually support quite a long sound clip (at highest quality about 100 seconds) which is totally overkill for my purposes.

Once you have uploaded it, pressing the button will trigger the sound.  But the stock button is a tiny little thing.  That’s where the big red button comes in.

The button is just a big way to trigger the switch.  To introduce it into the sound module, just cut off the stock button and solder in the switch that comes with the button:


Note that you only have two wires but the switch has three terminals.  One of the wires attaches to the terminal at the bottom (labeled “COM”).  Choosing between the other two terminals defines the  nature of the circuit.  The top terminal would make the circuit default on and cause the button push to break the circuit.  The bottom terminal would make the circuit default off and cause the button push to connect the circuit.

Since we want the button to turn the circuit on, I used the bottom terminal. 

Now connect the switch with the rest of the button.  At this point you are pretty much done - pressing the button should play the sound.  But just having a button isn’t quite enough.  It really needs a place to live.  Enter the box.

First I cut (actually drilled) a hole into the top and installed the button:


The cardboard muffled the sound a bit so I cut a second hole and attached the speaker to it:image

Note that I also cut the speaker off from the control module itself.  The wires are still attached, but cutting the paper let me position the speaker a bit easier.


And that’s really it.  It took me a long time to figure this out but once I found the sound module it was super easy.


Tied into our current 3D printing boom is a second, equally interesting one: an explosion of accessible 3D scanners.  As you may be able to guess from the name, 3D scanners can take physical objects and turn them into digital files.  Once you have digitized an object you can modify it, share it over the internet, and/or print it out with a 3D printer.

Like 3D printers, 3D scanners are not new technology.  Companies have been making expensive, high quality scanners for years.  These scanners could be used to quickly create digital replicas of things like buildings, entire neighborhoods, or even fossilized whale bones that are accurate down to the centimeter (or millimeter).  But, also like 3D printers, recent years have started to see low cost, pretty-good scanners enter the market.

There huge variety in these scanners.  Microsoft’s Kinect has been hacked and turned into a 3D scanner 123D Catch from Autodesk can turn a series of regular, 2D photographs into a 3D model.   Makerbot has released their own 3D scanner (well, sort of their second 3D scanner), and Kickstarter is chock-a-block full of handheld 3D scanners, desktop 3D scanners, and dongles that turn your phone or tablet into a 3D scanner.  Back in 2011 we even did a podcast interview with the inventor of Trimensional, an iPhone app that used light from the iPhone’s own screen to create a 3D model.

All of which is to say that pretty soon anyone who wants access to a reasonably high quality 3D scanner will have one. In fact, anyone with a smart phone in their pocket will have one whether they want it or not.

A Crisitunity?

Most people will see this as an exciting opportunity.  Imagine if on your next vacation, instead of just taking a picture of yourself next to the Elgin Marbles you scan them so you can print them out at home.  Or going to a botanical garden, scanning a bouquet worth of flowers, and mixing them into a 3D printed statue for your sweetheart.  Being able to capture the world in 3D will present us all with incredible opportunities.

Of course, some people will see this new technology as a crisis.  They will worry that being able to copy objects means being able to copy objects without permission.  And that could mean infringing on copyright (of course in many cases the objects being copied will not actually be protected by copyright, but let’s set that aside right over here for now).  They will conclude that this type of technology is just too dangerous to be freely available, and insist on some combination of digital and legal restrictions that make it much less useful and much easier to control.

A Dumb Response

This type of response is, in a word, dumb.  Yes, it is true that 3D scanners can copy physical objects.  And it is true that some of those physical objects will be protected by copyright (or patent).  And, furthermore, it is true that some of those protected objects will be copied without permission, therefore infringing on their respective copyrights and patents.

But that alone is not enough to build a case to restrict them.  After all, you can say pretty much the same thing about digital 2D cameras.  Digital cameras make copies of all sorts of copyright-protected things every day.  Many of those copies are made without permission.  And, at least on some level, that is a problem.

But no one would suggest that the correct response to that problem is to build limitations into digital cameras.  Or hold digital camera manufacturers responsible for copyright infringement.  There is no reason to treat 3D scanners any differently.

So enjoy those 3D scanners.  Use them responsibly.  Or at least as responsibly as you use your 2D camera.  And if someone starts freaking out about how 3D scanners will somehow mean the end of intellectual property as we know it, tell them to take a deep breath.  Sit them down.  Scan their face.  Turn it into a 3D printed mug and fill that mug with whatever liquid you think will best help them to relax.

Image: Flickr user billyr.

The White House and Congress are trying to restrict use of public domain photos and videos. 

As two of the three branches of the US government, Congress and the Administration have key roles in creating and enforcing our copyright law.  So why are they trying to restrict what people do with public domain material?
Believe it or not, copyright law actually has a specific section addressing the Federal Government’s ability to get a copyright. The section is pretty straightforward: the Federal Government does not get copyright on the works that it produces.  You don’t need to be a lawyer to understand the first part of 17 U.S.C. § 105:

Copyright protection under this title [which pertains to copyright] is not available for any work of the United States Government.

This means that works created by the US Government receive no copyright protection.  These works do not pass go nor do they collect $200 – they automatically enter the public domain the moment they are created, freely available for anyone to do whatever they want with them.  And yet strangely there are parts of the US government that do not seem to understand that.

This is not new.  Back in 2009 our friends over at Creative Commons and EFF pointed out that the official White House flickr stream was using a CC-Attribution license – a license that requires some sort of underlying copyright to enforce.  To their credit, shortly after this concern was raised, the White House and flickr responded to this criticism and made it clear that the works are in the public domain.

Those United States Government Work “licenses” still appear on White House Flickr photos.  But the licenses are not alone.  They are joined by a prominent alert:

This official White House photograph is being made available only for publication by news organizations and/or for personal use printing by the subject(s) of the photograph. The photograph may not be manipulated in any way and may not be used in commercial or political materials, advertisements, emails, products, promotions that in any way suggests approval or endorsement of the President, the First Family, or the White House.

What?  This extra language has been noted multiple times, but for some reason persists.  Whenever you see a restriction like this, the first question you should ask yourself is “or what?”  What happens if I use these photos outside of the scope of the restriction?  In most cases, if you saw this type of restriction the “or what” would be “you will be sued for copyright infringement for exceeding the scope of this license.” 

But without copyright protection, that “or what” is simply not available.  The White House is not explicitly claiming copyright on these photos (the license makes that clear), but this type of scary quasi-legal language gets awful close to flirting with a bit of light copyfraud. I could reproduce entire photos here on the PK blog – neither the site for a news organization nor my personal website - without fear of any sort of repercussion.  See:

I can even manipulate them in express violation of the alert:

The White House clearly understands its relationship to copyright.  The copyright policy of makes it clear that nothing that the White House generates for the site is protected by copyright.  And the White House YouTube channel makes it clear that its videos are in the public domain and even makes it easy for you to download them.

So what’s so special about photographs in the Flickr stream?

Unfortunately, the White House is not alone in this game.  The House Judiciary Committee streams and archives its hearings here and the page includes this restriction:

Use restriction: No portion of any recording may be used for a political purpose; no portion of a recording may be disseminated with commercial sponsorship except as part of a bona fide news program or public affairs documentary; no portion of a recording may be used in any commercial advertisement; and any redistribution must be subject to this same notice.

The House Government Oversight Committee does not have a lengthy use restriction on itsYouTube page.  But instead of a public domain notice with a download button it applies a “Standard YouTube License” to archived videos of its hearings.  

With no underlying copyright to license, that license is meaningless – although it may stop someone who has not read section 105 from making use of video in the public domain.  The House Energy and Commerce Committee does the same thing.  Members are just as guilty.  Representatives Goodlatte, Watt, Blackburn, and Conyers – all of whom are heavily involved in copyright issues – slap licenses on videos that are not protected by copyright.

The Senate is no better.  Videos on the Senate Commerce Committee YouTube channel are licensed under a “Standard YouTube License.”  So are the Senate Budget Committee’s videos.  Ditto for videos from Senators involved in copyright policy like Senators Leahy, Hatch, andFeinstein. All of them leave the public under the false impression that they need some sort of permission in order to make use of these videos.

This may all seem like legalistic quibbling, but it is not.  There are many members of Congress who think it is important to educate the public about copyright, but it seems that no one has thought to start with videos that Congress itself releases.  The same applies for photos released by the White House.  Worse, bogus use restrictions imply that the American public is not free to use the works that its government is producing on their behalf.

Fortunately, this is an easy one to fix.  Get rid if bogus use restrictions on photos and videos.  Make use of public domain licenses on online services.  And if an online service does not allow for a government work-type license, make use of the comments.  Tell the public that they are free to make use of the work however they want. After all, that’s the law.

Expanding on The Switch’s 5 things that  neither side of the broadband debate wants to admit.

Over at The Switch today, Timothy B. Lee offered his list of 5 things neither side of the broadband debate wants to admit.  His list strikes me as mostly reasonable, although I think that you could find at least one side of the debate to endorse most of them.  In any case, I wanted to take a moment to add a bit of color to the list, to try and give you a sense of how we think about some of these things.  Here are Lee’s things, followed by a bit of commentary.

1.    American wireless service is working pretty well.

Especially when compared to the wired broadband market, this statement is fairly accurate.  We have four nationwide carriers and some decisions (like offering earlier upgrades) by one carrier clearly push the other carriers to match.

I would add two additional data points to that statement, however.  Lee mentions that, in 2007, there was a great deal of concern about wireless carrier control over mobile software.  He then points out that Apple’s decision to open up the iPhone to third party developers rendered the concern “obsolete.”  While no one would argue that the state of mobile software has improved massively since 2007, I don’t know that I would go so far as to say that concerns about network operator control are necessarily obsolete.  Even today we have carriers preventing some types of services from running on phones connected to their network.  And carriers are still working hard to prevent you from unlocking the phone that you own from their network.

Moreover, this state of working pretty well was not necessarily the wireless industry’s destiny.  As we have pointed out before, the FCC’s decisions to reject mergers and signal that it would support four competitive nationwide carriers have done a great deal to preserve the level of competition we have today.  That does not undercut Lee’s point, but it is worth keeping in mind.

2.    We’re falling behind on residential broadband.

It won’t come as a surprise that we’re quite willing to admit that one.  The theory of facilities-based competition between telephone companies, cable companies, satellite providers, and even power companies has turned out to be weak in practice.  While, as Lee points out, some like to point to DSL or satellite as viable competitors, the reality is that they are not.  Coming to terms with this state of affairs would bring us a huge way towards developing rational broadband policies.

3.    We desperately need more broadband experimentation.

Again, we’ll admit this one too.  Our allies at the Institute for Local Self Reliance do fantastic work trying to help localities build their own local networks and push back against statewide bans on such experimentation.

On the flip side, we get wary that “experimentation” can also be interpreted as an excuse for existing ISPs to inject themselves into the value chain through data caps or special priority fast lanes.  In a world with limited broadband competition (see point 2), there are few market protections for consumers with ISPs who want to experiment by exploiting their control over customers.  This does not mean that ISPs should not be prevented from experimenting.  But these types of concerns should be kept in mind when thinking about those experiments. 

4.    Discrimination concerns are mostly about video streaming.

This strikes me as sort of, but not totally, true.  Video streaming gets a lot of attention these days.  In part, this is because video is one of the most data-intensive applications that most people will use on a regular basis.  Therefore it is an easy way for people to understand more general concerns about discrimination.  

Of course, there are also some video-specific discrimination concerns. As Lee points out, most Americans connect to the internet through their cable provider.  And the role of competitor to online video and keeper of a key ingredient to the success of online video can create some problems.

But video is not the only potential victim of discrimination.  The internet moves quickly and new applications can seemingly emerge over night.  While I don’t know what it is, it is not hard to imagine a whole new generation of data-intensive applications that could be just as vulnerable to discrimination as online video is today.  So while the discussion is about video today, that doesn’t mean that it will be about video tomorrow.

5.    “Network neutrality” probably isn’t the answer.

Again, this is one that I agree with in part and disagree with in part.  I agree that network neutrality is not the only answer.  One of the reasons that we started WhatIsNetNeutrality.orgwas to remind people that net neutrality is actually a fairly specific thing, and that “net neutrality violation” was not just synonymous with “a bad thing happening on the internet.”  There are going to be a number of developments that raise concerns about internet access but have nothing to do with net neutrality.

That being said, net neutrality is an answer to some of those concerns.  Net neutrality rules helped to resolve the dispute surrounding AT&T’s decision to block the Facetime app for some of its customers.  Perhaps more tellingly, last week Verizon explained that the FCC’s net neutrality rules were the only thing preventing it from trying to force some websites and services to pay to get special access to its customers.  I’m pretty confident that the existence of net neutrality are at least part of the reason that problematic behavior has migrated to other places in the network.

Those quibbles aside, Lee’s five things feel like they are in the right neighborhood to me.  Perhaps most importantly, they serve as an important reminder to move beyond that state of play in 2003.  We at Public Knowledge work hard to keep abreast of the evolving technical and business reality of the internet and to adjust our advocacy accordingly.  But it never hurts to get another reminder that things evolve and that we need to as well.

Original image by Flickr user SweetKaran.