Skip to content

Designing Home Feeds

August 3, 2016 at 03:22 PM

Let’s say you’re an app that wants a compelling, sticky homepage to bring your users back to everyday. Your content could be anything — photos from friends, a catalog of movies or an ecommerce site with millions of items.

You want to do your content justice, ​but there’s too much to show at once. So what do you do? For example, what if Amazon just put items as they came in on top of their home page?

It’s surprising how hard of a design challenge picking and reordering content can be. As the example illustrates, one size does not fit all. Twitter orders its feed by time, with a small ranked section. Facebook preserves recency, but some life stories and photos are more important than links. Netflix doesn’t care about recency but buckets into genres.

So, which approach is the right one for you? We think about this a lot at Quora, so here’s a few questions you can ask yourself to narrow down your options.


  1. How important is recency / timeliness to your content?

Sometimes you can’t afford to reorder content in a non-chronological order. Think about how this applies to your pool of content. If you’re a Amazon or Netflix, time hardly matters, but if you’re Twitter, this is critical.

It’s important to think of this constraint first. The less you’re bound to time, the more flexibility you have in future design decisions.

  1. How much better is your best content than your worst content?

Think about all the content you would consider showing a user. This could be stories from a few people they follow or a large library of things they can shop.

Oftentimes, the best and worst content in the pool are not that different in how engaging they are. For example, Instagram is about visual stories. My photos are all about the same quality — somewhat decent photos of food for example. For someone who follows me, my posts are homogenous in their quality.

When the pool of candidate content is homogenous, you don’t need it reordered with a Machine Learning (ML) algorithm. But if the best (think wedding photos) is much better than the worst (reshared posts), then ML is a godsend.

I tend to look at the candidate pool and rank the best content by hand. Only if there’s a steep dropoff do I consider an ML-powered feed.

  1. Does your audience have lean back or lean in intent? Do they know what they want to do?

The more intent your audience has, the more complexity they’re willing to navigate. When you go to Netflix, you want to watch a movie, maybe you know you want to watch a scary movie that night. But often, you don’t know why you’re opening Facebook other than out of habit.

Sometimes you have genres that represent different, but common intents. You can then lean on non-linear layouts and let readers deep dive into sections. Know how good you are at classifying and predicting intent. This could be because there’s only so many, or you could have really good ML. It’s not hard for Netflix to learn that on Saturday mornings I like to watch cartoons.

  1. How diverse are your audience’s interests?

There’s an important difference between personalization and absolute ranking. Ranking is about the sorting stories by quality and personalization is about the sorting how likely you are to like a story.

Let me illustrate with an example. Say you take the best movie in your corpus, and some people love it, while others don’t get it at all. This is when you need personalization.

If everyone has shared context, for example Hacker News or a subreddit, you don’t need personalization. But on Quora, where people have diverse interests, this is important.

  1. Are you better off nudging decisions?

This is an extreme version of passive intent. If you have a strong ability to predict the best item, your best bet is often to feature one item much more prominently than all others. This helps mitigate user indecision. For example, Netflix has bold cover suggesting just the one show or movie.


So there it is, those are the most important factors I think of in when I design a feed. Of course, there are many others. Hopefully, what I’ve done here is give you one systematic way to start thinking about building feeds. Please feel free to fork this process into your own.