Hacking Away at Facebook’s NYC HQ
In July 2012, Facebook invited Jason Wright and I (along with dozens of other young engineers) to come to their NYC headquarters for a 24-hour hackathon competition. Hackathons, for those not familiar, are events where you usually stay up for 24 hours straight, drink a ton of redbull, and build the most awesome thing you can in that timeframe. They are a major part of Facebook’s corporate culture, and have spawned many of the Facebook features that you probably use every day. Ordinarily, hackathons are strictly software events, with the participants generally building websites or mobile apps. It’s simply too difficult to build a complete piece of hardware in 24 hours … right?
We took Facebook back to its Roots…We put it in an Actual Book.
Ignoring the fact that everybody else was building software apps, Jason and I rolled in with two duffle bags filled with electronics. We had no idea what we were going to build before the event started. All we knew was that it had to be hardware. Jason and I are no strangers to building awesome hardware together. I’ve worked with Jason in the past to build a nerf sentry gun, a gesture control table, and a sun-tracking solar panel. We quickly decided that we would make Facebook’s name more literal by actually putting it into a book. We ran off to the nearest bookstore, got the biggest book we could find, and proceeded to hollow it out so that we could fill it with electronics. We had ambitious plans to make the inside of the book look very tidy, but it turned out that 24 hours was enough time to get it working, but not enough time to properly hide all the wires…
What is the face(book)2 and how does it work?
It’s just what it sounds like. We took the important parts of facebook, simplified them, and streamed them wirelessly to a book. Inside face(book)2 you’ll find an Arduino Mega, an XBee wireless transceiver/shield, a Graphical LCD + Logic level converter, 4 LCD character displays, a battery, an accelerometer, a limit switch, 3 selection buttons, a “like” button, and a “home” button. A nearby computer equipped with a paired XBee Transceiver + Serial adapter runs a python script to communicate with the Facebook API. The python script will authenticate your account and use the API to pull down your recent newsfeed data. Using a communication protocol that we developed during the hackathon, the book can request information and the python script will format it and send it to the book.
When you open the book, a limit switch disengages, informing the python script that it should log you in and grab your most recent data. The 3 4×16 LCD character displays will then display excerpts of your most recent newsfeed items. If you “turn” the cover page, an accelerometer will detect it and ask the python script for the next 3 stories, which will then show up on the LCDs. Pressing the button next to any of the displays will enter into the detailed view of that post. The graphical LCD will display a bitmap version of the person or page’s profile picture, the large LCD will show the person/page’s name and number of likes, and the 3 4×16 dispalys will show the content of the post and the comments. You can page through the comments by using the same page turn action. A dedicated “like” button allows you to like the post, and a “home” button allows you to return to the main newsfeed view. Closing the book will put the system back to sleep.
How did we Do?
The Hackathon was indeed a competition, and we did well. The judges announced first, second, and third place, and we were disappointed to hear that we not among them. But, following this, the host came up again and announced that for the first time ever the judges decided to make a new award category so that they could present an award to our project. The judges and host declared that our hack was the first time they had ever seen such an innovative use of hardware at a facebook hackathon, and that they were completely blown away by the originality and createiveness of our hack. Jason and I each walked away with Roku video players as our prizes, and as the winners of the “Best usage of a Book at a Hackathon” award.
Videos of face(book)2
Detailed Walkthrough of the System’s functionality:
Video of us presenting the facebook book at the conclusion of the Facebook Hackathon:
Check out these photos showing both the facebook hackathon and some closeups of face(book)2. High-Res versions of all these photos can also be found in my flickr set.
Supporting Documentation, Schematics, and Code
The face(book)2 GitHub-hosted page has all the gritty details of how the system works. Information on the GitHub page includes a description of the Serial protocol and handshake, a listing of all the supporting libraries that we used, a bill of materials, a rundown of the operation scheme, and of course, all the code. The facebook book is released as entirely open source hardware and software. All materials are distributed under the GNU General Public (Open-Source) License. Please Attribute and Share-Alike. All files are hosted on GitHub.
face(book)2 in the News
- 07/30/2012 – The Facebook book on Hack-a-Day