Navigating Netflix With a Telegraph Key Using TeleFlix
Once or twice a year, Netflix puts on an internal Hack Day event where employees of the company can show off Netflix-related projects…
Once or twice a year, Netflix puts on an internal Hack Day event where employees of the company can show off Netflix-related projects they’ve built for fun. Best-in-show projects from previous Hack Days included a mind-controlled Netflix device, and a Stranger Things retro video game. We have to say, the Netflix Hack Day sounds like a much more fun way to build morale than the standard six sigma team building exercises most companies attempt.
This summer’s Hack Day was another success, and the shining star of the event was TeleFlix: a system for searching Netflix using a telegraph key. The user taps out the letters of the title they’re searching for using Morse code on the telegraph key, and can even navigate through titles using special characters. The project was built by Netflix employees Guy Cirino, Alex Wolfe, and Carenina Motion, and their presentation is a delight to behold — a marvel of Victorian salesmanship and voracious locution.
TeleFlix is a fairly simple system, in concept at least. An antique telegraph key is connected to the GPIO pins on a Raspberry Pi Zero W, and a Python program reads the dits and dahs (dots and dashes) used for Morse code. It then translates those to their corresponding characters. The Raspberry Pi is connected to a PS4 as a USB HID device, and sends the letters as if they were keys typed on a keyboard. The PS4 runs a custom Netflix app to use the keys for search and navigation, and displays the whole interface in a nice Victorian-style frame.
The real challenge of the project was that first step: registering the dits and dahs from the telegraph key. Telegraphs are an analog system, and getting the telegraph key to play nice with the digital Raspberry Pi GPIO pins was tricky because of signal bounce. It took a combination of filtering the analog signal and working around the bounce programmatically to get it working consistently. But, the final result looks like it was definitely worth the effort!