“Okay, hit play in 5… 4… 3… 2… 1…” I had just moved from New York to California, and didn't want a measley few thousand miles to get in the way of my weekly tradition of watching Chuck with one of my friends. So, we decided to wait until it hit Hulu and watch at the same time.
It wasn't easy. We had to try to press play at the same time, and be careful not to pause or go back without telling each other. Commercials were different lengths, and we were constantly getting out of sync. It quickly became more trouble than it was worth.
So, I made Huluwithme.
Online, “social media” requires very little realtime interaction. You see Instagram pictures and Foursquare checkins and Facebook comments after they happened. Even when you are doing something realtime (chat, Skype, etc), it focuses on communication rather than sharing an experience. Outside of video games, there aren't many activities you can do together online.
I set out to fix a problem I had, and in the process realized there's something special about being able to easily share an experience with someone on the other side of the country.
I don't have any plans to make this happen, however I think Huluwithme could be an interesting take on dating site. Rather than awkwardly messaging someone online, you could randomly be paired with someone else who likes a show you do. You'd be able to share an experience you both enjoy and chat while you do it, all before meeting in person.
Non nerds beware. Huluwithme is a restartless Firefox and Chrome extension. It uses Node.js and Socket.io to keep the videos in sync across multiple computers.
I got lucky that I was able to get just enough information from Hulu to make this work. Whenever you pause, play, seek or start a commercial, Hulu phones home — presumably for metrics and to keep track of where you are if you refresh. So, I watch the network traffic to figure out what's going on in the browser.
When you do any sort of action, it's sent to the person you're watching with via Socket.io. Everything is stored on the clients; the server has no knowledge of what's going on. It merely passes messages back and forth.
Huluwithme is still in early beta, so there will probably be a few bugs. If you run into any trouble at all (even if it's just something that was confusing), please let me know. I want to make it as dead simple as possible.