The
guid
e to
bui
ldin
g a
high
ly e
ngag
ing
new
s fe
ed a
nd a
ctiv
ity s
trea
m fo
r iO
S, A
ndro
id a
nd W
eb
BuildingFeeds & Streams
T H E G U I D E T O
Create a highly engaging news feed and activity streams for iOS, Android and Web
The
guid
e to
bui
ldin
g a
high
ly e
ngag
ing
new
s fe
ed a
nd a
ctiv
ity s
trea
m fo
r iO
S, A
ndro
id a
nd W
eb
THIERRY SCHELLENBACH
13 tips for a highly engaging feedA 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.
The
guid
e to
bui
ldin
g a
high
ly e
ngag
ing
new
s fe
ed a
nd a
ctiv
ity s
trea
m fo
r iO
S, A
ndro
id a
nd W
eb
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.
Manual Selection
TIP #3
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”
flow.
Repeat, “Who to Follow”
TIP#4
When a user signs up you can automatically follow interesting topics/artists etc based on their
Facebook likes.
Automatic Follows - Likes
TIP #1
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.
Connections
TIP #2
Onboarding New Users
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 start:
The
guid
e to
bui
ldin
g a
high
ly e
ngag
ing
new
s fe
ed a
nd a
ctiv
ity s
trea
m fo
r iO
S, A
ndro
id a
nd W
eb
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.
The
guid
e to
bui
ldin
g a
high
ly e
ngag
ing
new
s fe
ed a
nd a
ctiv
ity s
trea
m fo
r iO
S, A
ndro
id a
nd W
eb
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.
The
guid
e to
bui
ldin
g a
high
ly e
ngag
ing
new
s fe
ed a
nd a
ctiv
ity s
trea
m fo
r iO
S, A
ndro
id a
nd W
eb
Hashtags and @mentions can seem like minor features. Nothing could be further from the truth, let me explain why:
Tip #7: Hashtags & @mentions
The
guid
e to
bui
ldin
g a
high
ly e
ngag
ing
new
s fe
ed a
nd a
ctiv
ity s
trea
m fo
r iO
S, A
ndro
id a
nd W
eb@MENTIONS
@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 that. #HASHTAGS
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 algorithms.
The
guid
e to
bui
ldin
g a
high
ly e
ngag
ing
new
s fe
ed a
nd a
ctiv
ity s
trea
m fo
r iO
S, A
ndro
id a
nd W
eb@#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
FEED TIP
4 Alerts3 Accomplishments
5 New Friends 4 New Playlists3 Profile Visits
The
guid
e to
bui
ldin
g a
high
ly e
ngag
ing
new
s fe
ed a
nd a
ctiv
ity s
trea
m fo
r iO
S, A
ndro
id a
nd W
eb
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”.
Ranked feedsTip #9:
Ranking factors Popularity (based on likes,
comments etc) Featured content Promoted content Editorial content
The
guid
e to
bui
ldin
g a
high
ly e
ngag
ing
new
s fe
ed a
nd a
ctiv
ity s
trea
m fo
r iO
S, A
ndro
id a
nd W
eb
Follow Suggestions
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.
QUALITY SCORES
If a certain feed gets a high engagement to impression ratio you probably want to suggest it to other users.
FAMOUS 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.
The
guid
e to
bui
ldin
g a
high
ly e
ngag
ing
new
s fe
ed a
nd a
ctiv
ity s
trea
m fo
r iO
S, A
ndro
id a
nd W
eb
Setting up follow suggestions helps you make sure your users follow active members of your community. Graph tool and scikit-learn are great open source tools for powering follow suggestions. If you’re a user of Stream, contact our personalization team to help you setup follow suggestions.
Follow SuggestionsTip #10:
The
guid
e to
bui
ldin
g a
high
ly e
ngag
ing
new
s fe
ed a
nd a
ctiv
ity s
trea
m fo
r iO
S, A
ndro
id a
nd W
eb TOXIC ACTORSPopular actors with low engagement content
LOW QUALITY ACTORSnot popular actors that create low quality content
AWESOME ACTORSpopular actors that create good content
HIDDEN TREASURESnot popular actors that create high engagement content
Tip #11: Feed Analytics
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 content.
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)
• KeenIO
• Database (best for small apps)
• Elastic + rollups
• Druid (high setup and maintenance costs, but very scalable)
The
guid
e to
bui
ldin
g a
high
ly e
ngag
ing
new
s fe
ed a
nd a
ctiv
ity s
trea
m fo
r iO
S, A
ndro
id a
nd W
eb
Tip #12: Personalization - Instagram style
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
The
guid
e to
bui
ldin
g a
high
ly e
ngag
ing
new
s fe
ed a
nd a
ctiv
ity s
trea
m fo
r iO
S, A
ndro
id a
nd W
eb
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?
Facebook stylepersonalization
Tip #13If the time between subsequent user visits your feed fills up with more activities than the user can possibly review
If your app’s users don’t care about the realtime element of the conversation
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.
The
guid
e to
bui
ldin
g a
high
ly e
ngag
ing
new
s fe
ed a
nd a
ctiv
ity s
trea
m fo
r iO
S, A
ndro
id a
nd W
eb
Conclusion
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
on feeds:
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
The
guid
e to
bui
ldin
g a
high
ly e
ngag
ing
new
s fe
ed a
nd a
ctiv
ity s
trea
m fo
r iO
S, A
ndro
id a
nd W
eb
THIERRY SCHELLENBACH
Thanks For Your TimeA Closing Word from Stream’s CEO, Thierry Schellenbach
Every app and every community is unique so not all of these tips will apply to you. Hopefully this post gave you an idea or two about how to improve engagement within your app.
Share your ideas with @getstream_io to continue the conversation!
https://getstream.io/