Couch Potato Retrospective

Reflecting on the process of developing Couch Potato

Couch Potato Retrospective

This article was originally published as part of the Building Couch Potato blog series.

Working on Couch Potato was a huge learning opportunity for our team. It was one of our first times developing a project from scratch, without any kind of starting template. To face such a daunting challenge and be able to create a product we can stand behind and use regularly was extremely rewarding and empowering.

Successes

Overall, the single feature we are proudest of is the synchronized play/pause across Couch Potato users. As Grace mentioned in her comparison of Couch Potato to Hulu Watch Party, even Hulu’s official social distance viewing solution does not include this feature. This feature undoubtedly took us the most time to work out, but it is also the one that brings the most value to our extension. It’s what gives our extension an edge when compared to the other messaging systems on the market while streaming video with friends.

A screenshot from the Chrome web store page for Couch Potato, showing a five star rating and 110 users

In addition to the technical challenges we overcame, we also consider it a huge success to have our product deployed, and being used by real people. As of today, there are 110 users of our extension.

On a personal note, I’ve also found it extremely rewarding to have helped develop a tool that I actually use regularly. Since shelter-in-place measures have gone into effect, my family has had weekly virtual dinner and movie nights. Whenever we watch content on Hulu, Couch Potato is the tool that we use to make this possible.

Possible Improvements

While we are extremely proud of our product and the work we put into it, we can also learn a lot by reflecting critically on the process and decisions we made along the way.

One decision we made early on was to create a web app that allowed users to chat in private rooms (or “couches”), then to create an extension that loaded that web app into the user’s browser window through an iframe. We took this approach because it allowed us to break down a huge challenge into more manageable pieces. We would start by creating a web app (something we had experience doing), then incorporate socket.io (a new-to-us technology) to allow for real-time chat, then finally bundle it into a Chrome extension (another new-to-us technology) via an iframe.

If we were to refactor our extension, we would consider doing so in a way so that Couch Potato would load directly onto the user’s browser, rather than through an iFrame. This could remove a layer of complexity from the process and optimize our extension for speed.

As we have not faced any issues with the speed of our extension, and since we have a relatively small user base for now, we have not yet seen a need to refactor Couch Potato. For now, we’re watching the comments on the Chrome extensions page to hear feedback from our users.

Future Features

A reclined woman watching TV, holding a remote control, and laughing while eating popcorn

In the future, if we decide to revisit Couch Potato, one of our first orders of business will be to add support for additional video streaming services, such as Netflix, Amazon Prime, or Disney+. This is the feature that would most benefit our users, as it would drastically increase the amount of content they could access while using Couch Potato. In order to implement this feature, we will have to familiarize ourselves with these video streaming platforms in order to be able to manipulate the DOM effectively.

One of our favorite features of Couch Potato is the drinking game button, as it brings a more social element to watching movies and TV remotely with friends. In the future, we would consider additional features that seek to bridge the distance between our users and further incorporate social interaction into the viewing experience. For example, while we currently allow users to react with emoji in the chat window, we would consider making these emoji reactions more dynamic by making them float across the screen. We could also add a “popcorn button” that simulates throwing popcorn at the screen (which users could do, for example, when the horror movie protagonists decide to split up, or when the rom-com lead’s ex tries to start drama).

Have you tried Couch Potato? What do you like about it, and what would you like us to improve? Leave a comment below!

This is the last installment of our blog series, for now at least. We’ve loved having the opportunity to reflect on this project with you, and hope you’ve enjoyed following along. If you’ve missed any blog posts, you can find them all here.

If you’d like to keep up with us around the web, here’s where you can find us:

Dani Meyer

Medium | Github | LinkedIn | Twitter

Caitlin Floyd

Medium | Github | LinkedIn | Twitter

June Hwang

Medium | Github | LinkedIn | Twitter

Grace Murray

Medium | Github | LinkedIn | Twitter

Interested in learning more about Couch Potato? Start this blog series from the beginning! And don’t forget to download Couch Potato from the Chrome store so you can start watching shows with friends now!