Patterns of Successful Modern Social Apps: Synchronous vs Asynchronous
Although many social apps are for sharing digital content, a key part of their success is that they work as reliable boredom relief. This requires delivering, at any time, a stimulating content consumable in short bursts. A common pattern to achieve this is asynchronous social messaging.
Asynchronous social messaging is a messaging medium where a sender can send as many messages as they want without waiting for any action from the recipient. The recipient can consume the messages whenever they want and provided that the recipient is receiving enough messages, the recipient will have a constant stream of boredom relieving messages.
Asynchronous versus Synchronous
To illustrate the dichotomy between asynchronous and synchronous, let’s consider an app that is not quite asynchronous, why it’s not asynchronous and how to make it asynchronous. Chat is cited as an example of asynchronous messaging because you can send a message without worrying if the recipient is available. But it’s only asynchronous in comparison to phone calls or in-person conversation. By the standards of modern social apps, it’s synchronous because it’s only the initial messages that you can send without waiting for any action from the recipient. There is a limit to how many messages you can send in a row. The exact limit is more a social convention, but limit is pretty short. In contrast, on Twitter it’s normal for someone to issue dozens of messages without expecting most of their audience has read those messages. Also if you want to address multiple topics, chat works better if you address each topic one by one. If you try to interleave the topics by jumping back and forth, the conversation will become too difficult to follow.
These limitations make it cumbersome to have a conversation through chat without both people being online. A subconscious awareness of this probably why many people initiate chat conversations with a “hi” to get your attention, and wait for you to respond before asking their question.
Threading Brings Asynchrony
Now let’s consider how we could make chat asynchronous. The easiest way would be to add threading. The app I’m working on, HiHiHi, is a good illustration because although it is an app for sharing links with your friends, it is structured similarly to a group chat app with threading.
When you share a link in HiHiHi, it creates a post. And if someone wants to comment on a link, they can comment on the post. As you can see from the image, misterwilliam is posting multiple links, and commenting. In fact, I am switching from topic to topic, and the conversation can still be followed. Because of the threading, it would be acceptable for me to post, and comment many times without waiting for any action from the recipients.
When you notice that threading is a key to unlocking asynchronous social messaging you can see that it exists in many other apps — from older apps, like bulletin boards to newer apps like Instagram and Facebook. The best example of asynchronous communication is probably Facebook. Facebook posts may not be normally thought of as threading, but they do provide that functionality. A user can post and comment on other posts as much as they want without waiting for any response. And at any time recipients can the Facebook stream to consume all these messages.
Other successful social apps do explicitly implement threading, such as Twitter and Gmail, but unfortunately they implement a threading model that is crippled in other ways so it is frustrating to use for conversation. For whatever reason it’s hard to think of a common social app that implements threading in a way works well for conversations.
Convenient Boredom Relief
I’ve defined asynchronous messaging in terms of decoupling the send time from the receive time, but what’s really important is that it enables the user convenience of being able to time-shift their experience. Since users can now consume or share at any time, they choose times that are convenient: while waiting in line, a short break from work, or even a slightly boring scene in a TV show.