History of twoseven.xyz (Part-2: Synchronizing Netflix)

If you haven’t yet, I recommend you read Part-1 of the history.

In this post, I will be talking about Netflix synchronization in particular, delving into some technical detail where necessary.

Synchronizing Netflix

We went back to the drawing board to look for existing solutions for Netflix sync. There were a few of them, but a couple stand out.

Showgoers.tv & Netflix Party

I’m clubbing these two solutions together and referring to them both as NetflixParty since they’re quite similar, and for some reason, I can’t seem to find any links to Showgoers anymore. NetflixParty is a browser extension that you and your friends install. In case you’re wondering what browser extensions are, I’ve included a brief summary below. Once installed, you simply visit Netflix and open a video. Then you can either start a Netflix party or join one of the existing ones. You get to communicate with your friends via text-chat.

Rabb.it

Rabb.it is a beast! Imagine you and your friend want to watch something together. A mutual friend who lives somewhere in between has given you both permission to log in to his computer and control it. Now imagine two cables that connect all the way from the mutual friend’s computer to your and your friend’s monitor. You’re both going to be seeing the same thing since the source of the content is the same. It’s almost like programmable television where you get to decide what the TV station should broadcast. This is essentially what Rabb.it strives to emulate. For all intents and purposes, everyone in a Rabb.it room is looking at the display of a computer that’s somewhere in the digital cloud.

This approach is extremely powerful. There is no limit to what you can share and view together on Rabb.it. It’s a brilliant app. It does have one massive downside to it though. Since Rabb.it is essentially allowing you to use their ‘computer’ to browse websites and watch things together, you’re also required to enter your passwords on their browser. One would obviously hope that they don’t record these credentials, but I would advocate being extremely cautious. I’ve briefly written about this downside and a couple of others as well on stackexchange.

After looking at the landscape, we decided to go down the browser extension route while maintaining support for video chat.

Browser Extensions & The twoseven Extension

To put it simply, browser extensions are pieces of code that modify your browser’s behavior. They can be as trivial as replacing all occurrences of a phrase with another, or as powerful as blocking access to certain web domains. In fact, it is very likely that you’ve been using a browser extension perhaps without realizing it. Almost all adblock apps are browser extensions that make extensive use of the capability to block access to ad-related domains. I describe browser extensions in greater detail with a detailed tutorial on how to write your own in another post that I’m currently working on.

The twoseven extension has several features, many of which are beyond the scope of this post. Instead, we only focus on its functionality with respect to Netflix. In this regard, the twoseven extension is responsible for doing three things. First, it allows netflix.com to be displayed within twoseven.xyz. Second, it detects when a Netflix video is loaded and informs all participants to load the same video. Finally, it listens for events so that it can react to play, pause and seek events that may originate from any participant’s browser. In this way, when your friend hits play on their Netflix video, the extension receives this event and hits the play button on your Netflix video as well thereby enabling synchronization.

As we were implementing support for Netflix, we realized that with tiny tweaks to our design, we would be able to synchronize almost any streaming website. We’re currently working on support for Amazon videos and hope to have it done in a few months. If there are any websites you would like us to add, let us know via Twitter or Facebook.