Anghami now lets everyone make their own music video with “Expressions”
Anghami is the leading music streaming app in the Middle East, with almost 40 million users. Everyone opens Anghami to easily play music that suits what they feel right now. But music is much more than that. People want to connect, socialize and express themselves with music, and this should be reflected in Anghami. “Expressions” is Anghami’s first serious dive into socializing around music. It’s a way for users to express themselves by choosing a song that inspires them and recording their own video on top of it.
The idea is not new. Musically is a popular app solely dedicated to creating music videos (albeit a limited music library). But people primarily open Anghami to play music, not to watch a feed of user-generated content, so we had to approach this feature in a very different way. How can we maintain users’ music listening habits while having them engage with a new social feature?
There’s one flow we were confident of: upon sharing a song that’s playing, Anghami will suggest recording a video expression. While this is clearly far from making such a feature discoverable, it was a good starting point to launch the design process for recording a video, and developers could start testing the waters.
Once recording an Expression started taking shape, we tested it internally and found out how fun and engaging this can get. With that in mind, we began working on integrating Expressions across the app.
Anghami’s homepage is the most popular page, so showing Expressions there was attractive. But it’s a page that recommends music as soon as the app opens, and we don’t want to disturb users’ habit of discovering music. We still integrated Expressions in the homepage, but it was delayed further down in the page.
Since Anghami is always personalized, we wanted to tailor the choice of Expressions based on the user’s musical taste. But as it turns out, Expressions didn’t have to be personalized based on the song, since the focus is about how people get inspired and express themselves regardless of which song. However, we soon realized that it’s important to show Expressions based on the user’s country, because they relate better to the culture, humor and behavior.
Apart from highlighting Expressions from the user’s country, how can we identify great Expressions? We can show Expressions from a user’s followers, but many users didn’t follow others, and even if they did, the quality of Expressions might not be high enough to engage the viewer. For the first few weeks, I personally played Expressions and featured the ones I thought were good. This way I get a real feel what people are doing with it and discover any usability problems.
Soon this started getting out of hand with thousands of Expressions coming in every day, so I teamed with engineering to automatically feature Expressions. We came up with a simple but powerful algorithm that categorizes Expressions. There are Expressions we don’t know anything about, Expressions that seem pretty good because they got a few likes within the first 10 plays, Expressions that are definitely good because they passed the 30 plays with a high like ratio, and then there’s the bad Expressions which barely received any likes within the first 20 plays. Using these categories, we showed the user a feed of Expressions starting with the really-good ones so we don’t drive the user away with something unattractive. We also ended the feed with great Expressions so the user remembers them positively. And in between, we sprinkled videos we don’t know anything about or that are pretty good to see if the user will engage.
This simple algorithm worked well and automatically surfaced great videos, and still accounted for a user’s country. One drawback, however, is established users with many followers will very easily get automatically featured while new talent will have a harder time getting engagement. This would be worth addressing in future iterations. Still, 9% of users who start watching Expressions end up liking one.
In addition to the homepage, we integrated Expressions in relevant places. For example, if a user searches for a song or album, we highlight Expressions from the same artist. I insisted we go full on with Expressions and show them first when a user plays a song, but I went too far. Since Expressions were mostly recorded by teenagers, users complained seeing kids all over the app. Here, I crossed the fine line between a music streaming app and a new social feature. We immediately delayed Expressions further down in the page. Our backend can control most things in the app so we can AB test and iterate faster, so moving sections around the page doesn’t require any app update.
Sending relevant push notifications is essential in getting users to engage with a new feature. Whenever a user posts an Expression, a push is sent to their followers. I eventually came up with a more relevant push that was sent to a user’s followers once their Expression reached 1000 views. This was also mentioned in the notification text itself. It’s incredible that a push notification mentioning how good an Expression is got 6× more opens than a push merely informing about an Expression!
Just like we encouraged users to watch Expressions, we also worked on making it easier to record an Expression. In the homepage, we showed a record button so a user can easily create an Expression after watching a few. Even while watching an Expression, there’s an option to record an Expression with the same song. And once a user plays a song almost fully (hence the high probability of them liking the song), we show a tooltip introducing Expressions.
Initial user testing didn’t reveal any blocking points in recording, but once we rolled out the feature to a segment of users, I noticed the funnel dropped significantly between opening the record screen and actually recording a video. It seems our test users were familiar with Snapchat’s tap-and-hold to record, while most users weren’t. So we added a tooltip inside the record screen, and recording increased by 200 percent. Analyzing behavioral changes like this one can easily be done with a conversion funnel that spreads over time.
Another major issue was that most users recorded an Expression with the song starting from the very beginning. This is not very useful considering the video is limited to 15 seconds. I found this issue strange considering there’s a text asking the user to scroll in the song. But that wasn’t enough for such an important primary point. So upon opening the recording screen, we darken the full screen except for the scroll bar, and write in big text to scroll to the relevant part.
Finally, while playing around in our Amplitude analytics, I noticed that users following other users increased. With funnels, I confirmed this is happening while watching Expressions. This means that while watching an Expression, many users tapped on a user’s name to open the profile and follow them. While seeing more follow events is great, it was a sign there’s much more potential behind this. So we added a Follow button while viewing an Expression. The reasoning behind this is watching an Expression already gives a clear idea who the user is, and it could be worth following them without opening their profile. Once this was deployed, following users increased four-fold.
Since we rolled out Expressions last December, Expressions grew to have more than half a million views every day. And the engagement is high, with 8% of users liking an Expression upon watching it, and many Expressions reaching a 22% like rate. With that said, we also realize that recording and even viewing Expressions is not for everyone. We can make Expressions even more successful by better identifying users who might be interested, and highlighting Expressions differently for those users.
We’re a music app where users spend most of their time playing music in the background, so Expressions present new opportunities where users are actively engaged with us on the screen. We’re excited to see where Expressions will take us!