Based on this blogpost: https://getstream.io/blog/13-tips-for-a-highly-engaging-news-feed/
Getting the user experience right for a newsfeed is quite the challenge. Many apps end up showing completely irrelevant content to their users.
13 tips for a highly
A brief message from Stream CEO, Thierry Schellenbach
Getting the user experience right for a newsfeed is quite the challenge.
Many apps end up showing completely irrelevant content to their users.
Companies like Instagram, Quora, Etsy, Linkedin and Facebook have shown us a trick or two
about providing an engaging newsfeed experience. At Stream we’ve helped thousands of
companies with their newsfeeds. Every app and every community is unique so not all of these
tips will apply to you. This presentation will cover 13 best practices and will hopefully give
you an idea or two about how to improve engagement within your app.
In addition to the automatic
follows you should also show a
the user a manual “who to
follow” page. Try to focus on
high level concepts such as
topics, styles, genres, sites etc
instead of individual users.
After your app has been around for
a while, many users will end up
following inactive accounts. This
can be disastrous for your user
experience. If a user comes back
after a long period of inactivity be
sure to trigger the “who to follow”
Repeat, “Who to Follow”
When a user signs up you can
automatically follow interesting
topics/artists etc based on their
Automatic Follows - Likes
Depending on your app you
might have access to the user's
phone contacts, Facebook
friends or Twitter followers.
Signup is a good moment to
automatically follow these
connections within your app.
A newsfeed is a way to personalize the content a user
sees in your app. Feeds only work well if your users
have indicated what they are interested in. The
following 4 tips ensure your users get off to a good
Tip #5: Meta Feeds
It helps if there are multiple ways to discover content. Take the
example of Quora, you can follow users, but you can also follow
topics. Topics don’t produce questions but the best questions
tagged with this topic show up in your feed. Another example is
Wanelo. They allow you to follow users and shops. The best
items from these shops will show up in your feed.
Tip #6: Scalability
The Twitter fail whale became an internet meme, Facebook
often took 5 seconds to load, Tumblr struggled with a year of
technical debt, Friendster…. well. These are just the famous
examples, many mid-size to large companies struggle with
scaling their feeds.
Don’t reinvent the feed
A few years ago you would have had to build your own newsfeed
technology. Nowadays it’s easy to solve the challenges around
scalable feeds. We’ve open sourced Stream-Framework. It
allows you to build a scalable feed using Redis or Cassandra.
Over the past years it’s grown to become the most widely used
solution for building scalable feeds and has been downloaded
more than 250,000 times. The github repo also lists some of the
best articles about the underlying technological challenges.
Setting up Stream-Framework is unfortunately quite difficult
and time consuming. This was one of the reasons why we’ve
started getstream.io; our service allows you to add a scalable
feed to your app in just a few minutes, you can give it a try in
this 5m interactive tutorial.
@mentions are a great way to selectively notify certain
users about an activity. Even though you’re only notifying a
few users, it can have a large impact. A discussion between
2 or 3 users will often spark more activity, which spreads
through your community. Getting the conversation started
is the most difficult bit and @mentions are essential for
Hashtags allow your users to tag the content in the
activity. If you enable search on hashtags this
enables discussions to form around topics or
events. In addition hashtags can also be an
important piece of data for use in personalization
@#You need to setup aggregation for your notification feeds to make
sure your product is usable for power users. For example, don’t show
a notification for every @mention, like or comment. Collapse the
notifications based on the time, type of notification etc. “256 people
followed you today” is a much better notification than your phone
buzzing 256 times.
Tip #8: Aggregate Your Notifications
4 Alerts3 Accomplishments
5 New Friends 4 New Playlists3 Profile Visits
99% of all feeds show the activities in chronological order. For most
applications the user doesn’t care about the exact time an activity was
posted. Unless real time is a core component of your app, ranking feeds
chronologically is often sub optimal
To quote the creator of the newsfeed, Andrew ‘Boz’ Bosworth: “If I log in once
a day and want to see the best stories, I think most developers would be
better off spending time working on the relevance”.
Popularity (based on likes,
Follow suggestions are an important way to help your users
discover feeds. Here are a few common data sources to base
your follow suggestions on:
THE SOCIAL GRAPH
If many of your friends
follow a certain person, you
might also know him/her.
If a certain feed gets a high
engagement to impression
ratio you probably want to
suggest it to other users.
You’ll often want to recommend the famous/most prestigious users on
your platform. There are two benefits to this approach. First it helps your
users follow interesting content. Secondly it ensures that famous users on
your platform reach a large audience, which in turn keeps them engaged
in your community.
Popular actors with low engagement content
LOW QUALITY ACTORS
not popular actors that create low quality content
popular actors that create good content
not popular actors that create high engagement content
Tip #11: Feed
To ensure your users are having a good experience with the
feed, you want to track impressions and engagements. You
should know which activities the user sees (impressions) and
which ones they interact with (engagements).
Also, you should detect common issues such as feeds with old
content, feeds with a low engagement score etc. In addition
you’ll want to learn which of your users are creating highly
engaging content and which ones are creating low quality/spam
The analytics data can also be used for follow suggestions and
feed personalization. Here are my top 5 recommendations for
an analytics solution:
• Stream’s analytics platform (tailored to feeds)
• Database (best for small apps)
• Elastic + rollups
• Druid (high setup and maintenance costs, but very scalable)
Newsfeeds and activity streams are
essentially a tool for personalizing the
content within an app. To show the right
content your app needs to truly
understand your user. Instagram,
Facebook, Etsy, Zite and Quora are
famous pioneers in this area.
Instagram’s explore section is a good
example of a personalized feed. The explore
page serves two goals
• User discovery. While viewing the content
on the discover page you also find new
users to follow.
• Content discovery. The explore page
highlights content you might not see in
your regular feed. It ensures your user sees
fresh content when/if their feed is empty.
This is one of the most under-hyped features
of Instagram. Their explore section is a pretty
brilliant way to power content discovery.
Stream & Personalization
Facebook’s feed is effectively ranking and hiding
content. It solves the problem of having too much
content in your feed. Instagram, Etsy, DeviantArt,
Linkedin and Twitter do something similar. An average
user of Facebook receives 3000 new activities every
day. The problem Facebook needs to address is that a
user can’t possibly browse through 3000 activities.
Facebook would be absolutely useless if they didn’t
prioritize this list of activities. So when does this type
of personalization work well?
If the time between subsequent user
visits your feed fills up with more
activities than the user can possibly
If your app’s users don’t care about
the realtime element of the
Stream offers personalization as a service. Our
team of data scientists can help customize the
machine learning algorithms for your app. If you
want to build this in-house you should try out
prediction.io, Lasagne and/or scikit-learn.
Feeds are important. They are one of the
main ways through which we discover
information online. Unfortunately many
apps provide a poor user experience with
their feed. This presentation covered 13
tips towards improving the user experience
Tip 1: Automatic follows - Facebook likes
Tip 2: Automatic follows - Connections
Tip 3: Manual selection
Tip 4: Repeat the “who to follow” flow
Tip 5: Meta feeds
Tip 6: Scalability, don’t reinvent the feed
Tip 7: @mentions and hashtags need to be high on your roadmap
Tip 8: Aggregate your notifications
Tip 9: Use ranked feeds
Tip 10: Follow suggestions
Tip 11: Track impressions and engagements
Tip 12: Instagram style personalization, explore section
Tip 13: Facebook style feed ranking