- Activity Feeds: Explanation, benefits and how to get started
Activity Feeds: Explanation, benefits and how to get started
What is an activity feed?
Activity feeds, or activity streams, show information in realtime in a list form. Information can be actions, system events or data being published in realtime. This allows a user to be informed without the need to refresh their page. Activity feeds can be published from a third-party service or from within your application.
What are the main activity feed types?
Activity feeds can add value to a range of realtime experiences. Some of the different types of activity feeds are:
Flat feeds: In this type of activity stream, updates are provided and listed in a chronological order - as they arrive. Examples include breaking news feeds, and feeds showing the latest scores or statistics for a live event.
Aggregated feeds: In aggregated feeds, you will see live data aggregated (grouped) per data type. For example, on a social media post you will see live data on the number of reactions you have - but these could be grouped (aggregated) by the different reaction types (e.g. likes, loves, wows, etc.).
Notification feeds: In this type of feed, updates are provided about actions and events that are taking place within a system or environment. A common example of notification feeds are the updates received in project management tools such as Asana. In these platforms, you can access a feed that shows actions and events associated with assigned tasks, comments, and reactions.
What are the benefits of activity feeds?
For end users, app types as diverse as social media, productivity, and gaming have set the expectation that up to the moment data should be available in realtime. Activity feeds meet that need by turning static, single user interfaces into live experiences.
Let’s look at four benefits that activity feeds can deliver to your app.
1. Increased user engagement
Your daily active users and monthly active users numbers act as a barometer of your product’s health. They can forecast future revenue and retention, as well as helping gauge product-market fit.
A well curated activity feed pulls users back into your app, whether it’s because they want to catch up on what they’ve missed or because they know that their contribution will show up on other users’ feeds and improve their reach. Whether it’s social content or the latest updates from a team project, live updates in an activity feed provide a compelling reason for people to return to your product on a more regular basis.
2. Longer session times
Static apps make the user responsible for finding their next steps. When a user has completed what they came to do, there are limited reasons to stick around. Using an activity feed, you can provide one. Whether that’s by allowing the natural flow of updates to keep the user engaged or by delaying updates until the user has completed their current activity. Any of these approaches will help to drive up your average session duration - and the stickiness of your product.
4. Reduced churn
In the US, 44% of people uninstall apps due to boredom. But is the app itself boring - or is the problem really that it takes too long for users to find the app’s value? Activity feeds offer a natural jumping-off point to showcase your app’s functionality, whether that’s through updates from other users or by weaving onboarding steps into the feed.
How to add an activity feed to your product
With Ably, it is easy to add activity stream functionality to an existing product.
Step 1: Sign up to Ably
Visit our sign up page to start using Ably for free. Simply upgrade when you need to ramp up usage past 6M Monthly messages, 200 Peak concurrent channels, 200 Peak concurrent connections. Once you are signed up, download one of our SDKs to get started.
Step 2: Set up the stream logic in Ably using Ably Channels, Pub/Sub messaging and Rewind/History
Channel is the unit of distribution of messages. Messages represent information, channels can be used to segment the feeds. For example, different matches in a sports event, types of information or tenants. Users or their devices can subscribe to a specific or multiple channels.
channels.get- to get an existing or create a new channel
Ably Pub/Sub Messaging
Pub/Sub is an architectural pattern used to distribute realtime information, as messages. Messages can be of any format. This can be advantageous to segment an activity feed into different types, which can be used to change the look and feel of an information card.
channel.subscribe- to subscribe to messages on a channel
channel.publish(data)- to publish a message on a channel
History provides access to historical messages. This can be used to see previously published messages.
channel.history- to get a paginated history of channel messages
Rewind allows you to specify, at the time of attaching to a channel, where to start the attachment from. This is another way to get historical information consistently if subscribing and receiving messages from a channel without using another API.
Step 3: Implement the UI
Next you need to implement the UI for the activity feed.
Step 4: Consider required integration
Consider the integration needed to publish events into feeds.
Step 5: Build a storage mechanism
Develop a storage mechanism to persist data for longer than Ably's limits.
Activity feeds best practices
Once you’ve got the infrastructure in place, how do you make sure you’re getting the most out of your activity feeds? Here are four best practices to consider.
1. Experiment to find the most effective way to order your activity feed
The method you use to order your activity feed updates is almost as impactful as the content itself. And what works for one audience might not work as well for another.
One of the first steps to take in optimizing your activity feed is to experiment with different ways of ordering content. The measurements you take will show what resonates most with your app’s audience and what works best for your strategic goals. Ongoing tuning and experimentation will help to adjust to the changing needs of your end users.
So, what are some of the ways you can use to order your feed’s updates?
By time: A simple chronological feed could be most appropriate in situations where updates are time sensitive, such as the ball by ball account of a sports match.
By popularity: Those updates that get the most engagement could be the ones that have most relevance to your app’s users. Promoting popular updates to the top of the feed relies on the crowd wisdom of your users and has the side benefit of making sure they stay in the loop with what their peers consider important.
Algorithmically: The ranking of activity feeds on popular social media platforms is often a little less clear cut. They take into account a mix of post time, popularity, and the user’s previous history, as well as some more mysterious factors designed to maximize engagement.
While the order of updates is important, so is giving people a way to hone in on the updates that matter to them. Grouping together similar updates – such as all those from one person or about a particular topic – helps users to dive into updates they care about and to ignore those they don’t.
Here are three common ways to use grouping to help people find and engage with the updates they care about:
By thread: Bringing together all of the messages in a particular conversation or series of updates improves the scannability of your activity feed. Showing only the opening update, while providing the option to expand the thread, reduces the cognitive load for people who aren’t interested in that particular chain of updates.
By update type: Filtering by type of update, such as new leads in a CRM or due invoices in an accounting tool, enables people to quickly find the updates most important to them at that moment. Similarly, aggregating updates according to type can make it easier for users to skip or find what they need in the activity feed.
By individual or role: Whether it’s in a work or social context, updates from some people have greater importance. That’s why filtering and grouping updates according to who made them, whether that’s at the individual level or by the role people play in the context of the app, can help people navigate the activity feed.
According to research by McKinsey, 71% of people expect personalization in the services they use. Both algorithmic personalization, where your activity feed automatically adapts to that user’s past behavior, and user driven personalization, help to build trust and engagement. Here’s how:
Engagement: Hiding, prioritizing, and replaying updates according to what each individual prefers and needs makes your users more productive and demonstrates your app’s benefits clearly. The role of personalization here is to boost the efficiency of your user experience and to make your users feel more productive.
Trust: Some interactions are less welcome or otherwise less valuable. Moderation tools, such as blocking topics or specific users, focuses personalization on providing an environment that prioritizes user comfort and safety.
4. Always offer a next step
Even if there’s no new content to show, your activity feed should always give your users something. That might be offering a second chance to see previously popular updates or providing users with a call to action that encourages them to post an update or use some other part of the app’s functionality.
Discover more realtime features
Discover the other features you can use to deliver a world-class collaborative experience, including:
Add live cursors for collaborative multiplayer experiences
It’s easy to add live cursors with Ably. Using our Spaces SDK you can build live cursors and other realtime collaboration features to enhance your product.
Implementing emoji reactions for live chat
Ably provides simple APIs to help you build and add emoji reactions to your chat application, allowing users to react to messages in realtime.
Show the member location of users in your app
How to use the member location feature to show where a user is within the app - which page, cell, slide or block they're viewing.