Sunday, February 12, 2017

Netflix Categories - Browser Extension To Uncover Hidden Categories On Netflix

Netflix Categories browser extension helps you to easily search hidden genre/categories on Netflix and bookmark it for quick access.



Netflix has tons of hidden categories but it only shows less than a dozen on the website. It tries to tailor the categories based on your viewing behavior and displays only the ones that it thinks are best for you. But what if you want to browse other categories? Standard Netflix interface does not provide a direct way to do that.

Hard Time Finding A Good Solution

A week before releasing this, I saw many trending articles listing codes to access the secret categories on Netflix. To use that requires searching for the category, copying the code and changing the URL. That was tedious and not worth it. I kept on searching and found a couple of browser extensions of which some have a monthly subscription fee, some mess up with the Netflix interface and some others are full of ads. Most of them actually do a combination of things. Most of them also listed thousands of unverified categories which had no content.

So made it

I decided to give it a shot rather than whining on existing ones. Requirements are simple: easy accessibility, ability to search categories by name and remember favorite categories. Started spending some time that weekend forking one of my other personal projects made for a different purpose to have a basic search and bookmarking functionality. With in a few hours I realized that it was shaping better than what I was hoping for. So why not refine it a bit and release it for public? And here you go! Get Netflix Categories from Chrome web store or grab source code on Github.

It did well on initial launch. It was published in many top tech blogs and news websites, gaining more than 50,000 users in the first week itself (although the trend may not continue) and is also the top most downloaded item on Lifehacker this week.

What's Next

More Verified Categories

There are only a few hundred categories listed on first launch but there are thousands of categories that needs to be verified and added to it. It is easy to grab all the category codes dump online and push them to the extension but there are a few problems. Netflix is believed to have more than 70,000 categories but the majority of them have no content. So I am trying to curate and add only the categories verified to have content. Working on automating this process. Having small but verified set of categories would provide better user experience than thousands of empty ones.

Improved Performance

This quick release also came with quite significant technical debt. Although it works well for the current hundreds of categories, I doubt its ability to handle a few thousands. The JSON data file containing categories list has a lot of unnecessary redundancy,  the "All Categories" view needs to be paginated to handle a large list and search field needs debouncing. I like the functional style of creating UIs where we declare UI components (like this) and render them whenever the state changes. Some might argue against it but I feel it is an elegant way. The current code renders the entire view irrespective of how small/large the change is. That can be a performance bottleneck. We need to figure out rendering differential UI updates to improve performance, or for the better may simply use ReactJS instead of re-inventing the wheel. React has virtual DOM stuff which already does that. Last, the search algorithm itself is pretty primitive. It just filters by running a string matching function over category names array. This can be greatly improved by using a better data structure (may be a Trie?).  It will be released for Firefox and Opera after major issues are resolved.

I encourage you to hack the code and feel free to discuss and critique.

✚ Add to Chrome | Chrome Web Store

More about this on the web

No comments:

Post a Comment