Let’s talk: Communication at scale

Written by Aaron Hammond

February 1, 2024

Parent and staff engagement is a constant for the modern school practitioner.

Although we may all long for the golden age of the email list, it’s much harder to communicate at scale in a mobile world. Even as digitization tidies up the world, gaps in access produce uneven user experiences and reinforce inequities.

We’ve seen our practitioners go to incredible lengths to engage with members of their community. Landline phones and dead email inboxes are not enough.

A growing number of Americans do not use broadband to access internet at home, relying instead on smartphones. Source: Pew Research Mobile Fact Sheet

A growing number of Americans do not use broadband to access internet at home, relying instead on smartphones. Source: Pew Research Mobile Fact Sheet

Practitioners often use instead their own personal devices to communicate with parents out of necessity. Nobody wants to leave a message from a parent unanswered, but it’s easy to burn out when the lines blur between home and work.

Several participants can be contacted in a message thread

Several participants can be contacted in a message thread

With in-app messaging in August Schools, practitioners can maintain useful boundaries while still communicating effectively with their community.

Messaging in August

Practitioners can start new Message Threads from a few places in the application.

Participants

Practitioners begin by adding one or more Participants to the Message Thread. These can include other users, parents, teachers, coaches, and anyone else in the Student Information System.

Depending on where the thread is started, we limit the search to those related to the Subject. This includes their parents, teachers, coaches, advisors, and anyone else with a relationship to the student.

Auto-save

Practitioners are often interrupted during the day. It may take a few tries to get fully through the composition of a long Message.

We automatically save the content of the Message whenever it changes. These drafts are visible only to the author and will wait around until you’re ready to send it.

Many channels, one thread

Each participant on a thread could be contacted by a different delivery method.

Text message (SMS)

In most communities, text messaging (SMS) is the preferred method of immediate communication.

We deliver messages over SMS from phone numbers local to the state of the school. These numbers are drawn from a pool that we grow and shrink automatically depending on usage.

Replies sent to SMS threads started from the platform are received back in app in realtime

Replies sent to SMS threads started from the platform are received back in app in realtime

No number may be used to deliver messages from multiple Message Threads at the same time. We need to be clever to recycle capacity efficiently.

We automatically provision new phone numbers as needed to uniquely communicate new threads with participants.

We automatically provision new phone numbers as needed to uniquely communicate new threads with participants.

Email

Some parents may not have a mobile number on file. Sometimes their mobile number is incorrect or invalid. In these cases, we need to use another method to communicate.

Fortunately, we still have email!

All emails related to a Message Thread are sequenced as a single thread in email inboxes. Recipients can reply directly on the email thread, and the message will be delivered to all thread participants as usual.

App notifications

When a practitioner is in the office with a student, they aren’t usually watching their inboxes or messages closely. At the same time, rapid response is key to keeping momentum in the other conversation.

We offer three kinds of in-app Receivers for communications. When a practitioner uses the application while one of the Receivers are enabled, we will deliver new messages directly to their browser.

The result is a pleasant chime, popup, or browser notification, whenever a message is sent to one of their Message Threads.

Users can preview the receipt of a message on each Receiver by sending a test delivery to their browser.

Delivery status

For peace of mind of sender, we track the status of each Message Delivery assiduously as it makes its way to the device of a recipient.

If we detect that a delivery has failed for any reason, we’ll re-attempt delivery to that participant using a different method of contact.

Message Threads may be closed by practitioners or after a period of inactivity. When someone attempts to message a phone number that was previously associated with deliveries from a Message Thread that is now closed, we ask the sender to try another method

Built for resilience

These features all combine to comprise a system resilient to quirks in contact data or the operations of external communication networks. We’ll explore each module of the complex system in turn, highlighting the engineering challenges we faced and solutions we innovated to deliver this delightful user experience.

Let's start with deliverability and delivery status.