Bruno Pedro


A world of messages

The world is full of messages, but we don’t realize that until we stop long enough to pay attention. How so? Look at how people interact with each other. What are they doing and saying? How are they communicating? Are they expecting some sort of feedback from one another?

Humans are hardwired to expect others to communicate using messages. Even though most of our communication is non-verbal, messages take up the most substantial part of the way we humans convey meaning. Some messages are short-lived, and people expect a reaction to them within seconds. Other messages are very long-lived and might take days or weeks to reach their destination. The senders of those messages don’t expect a reply to happen quickly. Sometimes a response is not even expected at all.

I still remember what it felt like to use the old postal service for communicating with people that were far away. I used to live thousands of miles away from some of my family members, and I wrote them letters. I never expected a reply, but when I received reply letters, I would always feel excited about it. It meant that my letter had reached them, they had read it, understood it, wrote a reply, and sent it through the same channel. That round trip sometimes used to take months. Nowadays, this feeling is mostly lost as people worldwide use the Internet and expect communication to happen instantly. When someone sends you a message, they hope that you reply immediately. If that doesn’t happen, people take it as something is wrong with you, and try to approach you through other communication channels.

The postal service or, now commonly known as “snail mail” because of its slow speed of delivery is one of the many ways to communicate using written messages. For people in a hurry to see their messages delivered, the best option used to be the telegraph. Instead of waiting days or weeks for your letter to get to its destination, you would see your message delivered on the same day. Other more recent options include the fax machine which offers near-instant communication, and more recently e-mail and instant messaging. In general, the more immediacy a channel provides, the more popular it becomes. People prefer immediacy because it creates a feeling of synchronicity. The more synchronous the channel becomes, the easier it is to use and explore different message types.

Messages can take many forms and can be categorized in multiple ways. One exciting message type is the feedforward message. Feedforward messages attempt to convey information about messages that you’re about to send. Feedforward messages are meant to prepare the receiver that a message is coming their way. By using feedforward messages, the sender can signal not only the content of the real message but also other details such as its urgency and importance. Feedforward messages are particularly interesting because they’re often non-verbal. Most people send feedforward messages without even realizing whenever they are using body language to introduce what they’re about to share orally. Another interesting type of message is the feedback message. If feedforward messages are meant to prepare receivers, feedback messages give the senders information related to how their messages are reaching the receiver.

How are all these message types transposed into the world of digital communication channels? Let’s take instant messaging and analyze how certain messaging artifacts are used with the sole purpose of conveying meaning and augmenting messages. In the instant messaging world, the feedforward artifact is often depicted by a blinking ellipsis symbol and indicates that the other end is typing their message. This approach was first created by Microsoft and was initially called a “typing indicator.” The invention can be attributed to David Auerbach who, in 1999, had the idea while working on Microsoft’s “MSN Messenger Service.” According to David, “if your chat partner’s gone silent, it might be hard to know whether they were typing some huge message or if she was waiting for you to say something.” To solve this search for synchronicity, David came up with the idea of sharing with the other end whenever someone was typing. This feedforward artifact has since taken many shapes and forms and is considered a standard in the instant messaging world today. The other often overlooked instant messaging artifact is the delivery indicator. The delivery indicator is used to indicate that the message you sent has been delivered to the other end. There are different approaches to this indicator, some of which even let you know if your partner received the message. The delivery indicator is an excellent example of a feedback message, letting you know in this case what is the status of your message and helping you decide if you should keep typing and sending more messages.

Both feedforward and feedback messages seem to provide value whenever humans are involved in communication. Even though the messaging channel became digital, both ends of the communication are still people. If you replace one or both communication participants by non-human agents, things seem to stay the same. It looks clear to me that even non-human agents would need to have a way to know if the other end of the communication is sending a message. Knowing that a message is about to be sent gives you the power to decide when to write back. More importantly, it also offers clues as to what to write on the message. Feedforward artifacts can potentially be eliminated by agreeing on time-based synchronicity, where both ends know exactly when messages can be sent. Each party could then use time slots to either send an empty message or some meaningful content. Even though this approach can work, it looks like it wastes a lot of time and bandwidth. The second type of artifact, feedback messages, also seems quite important. Without a proper feedback mechanism, how would each party know that the other end had well-received a message?

Feedback mechanisms are something that machine-based messaging systems provide quite well. The Advanced Message Queuing Protocol, or AMQP, offers a way to identify if a message has been received by a consumer. That feedback gives enough information to the sender to understand what to do next. A possible outcome would be to retry after a timeout or to continue to the next message if the current one has been received. Feedforward techniques can also be found on machine-based messaging. One good example is in the publisher-subscriber architecture, where several subscribers wait for a publisher to send them messages on a particular topic. The publisher can choose to send information that a new message is available instead of sending the whole message. This technique involves sending a “skinny payload” with enough information to let the subscriber retrieve the “fat payload” from an upstream producer. This technique also offers the advantage of hinting the publisher that a consumer has successfully received a message providing a viable feedback mechanism.