iMessage for iOS 12

Complete control over your messaging experience.

Manage your conversations with ease using Flagged messages. Never forget to respond with Remind Me Later. Choose when your messages will be delivered with Send Later. A new suite of features for iMessage (as a concept for all messaging platforms).

The Design Process

Problem Space

The project began with an examination of the rules that govern face-to-face conversation. While participants in direct conversation (and even to some extent in phone conversations) are able to gather information about how and when the other person will respond, the same is not true of messaging platforms. While various methods exist to address this in popular messaging platforms (such as iMessage, WhatsApp and Facebook Messenger), the most ubiquitous solution, “Send Receipts,” is not particularly popular.

Gathering Requirements

In my requirements gathering phase, I set out to understand what is successful and unsuccessful about how Read Receipts are implemented today. I also wanted to understand the biggest challenges users face due to communication delay in instant messaging apps. My final set of requirements can be summarized as such:

The full breakdown of my research and analysis is in Phase 1 on Medium.

Ideating and Paper Prototype

Following my requirements gathering, the first look of the solution began with rough sketches. These initial sketches included diverging ideas for “Flagging” and “Snoozing” messages. After sharing these for peer feedback with classmates, I realized that both features provided independent value.

This was the point at which I decided to make my design specifically as an extension of iMessage (as opposed to WhatsApp, Facebook Messenger, or another messaging app). This is due to the popularity of the app as well as my own personal familiarity. I created more detailed paper prototype that combined both directions of “Flagging” and “Snoozing” messages.

With the paper prototypes in hand, I performed a “Quick-and-Dirty Usability Test” to gather additional feedback for the next phase of design. This rapid testing provided me with some valuable insights, such as renaming “Snooze” to “Remind Me Later” and adding location-based reminder options. You can read the full details of the sketches and paper prototypes in Phase 2+3 on Medium.

Dynamic Interactive Prototype

Armed with insights from my paper prototypes, I began the creating a dynamic interactive prototype. My tools of choice for this phase were Sketch and InVision. While this made for excellent testing for some parts of the prototype, other more complex interactions, such as time or location-based notifications were more difficult to represent. The full flow of screens is described below, with the InVision prototype at the bottom.

Where it Begins

A perfect use case for this set of features is a conversation with a friend who invites you over for dinner. They ask you if you and your spouse would be available at a certain date and time. Before responding, you want to check in with your spouse to see if that would work for both of you.

From here, you can use one of the 3 new key features: “Remind Me Later,” “Flag” and “Send Later.”

What the Sender Sees

The user sending you the message will be able to see different labels based on the action that you take. By taking no action, their label remains at just “Delivered.”

The actions of Remind Me Later and Flag indicate that you intend to respond to that person, allowing them to see more feedback that you have seen their message. You’ll see soon how the “Delivered” label changes based on your actions.

Remind Me Later

Pressing and holding on a message brings up the tapback action sheet. Normally, this allows you to leave reactions to a particular message or perform other actions such as copying and deleting messages. Now you will also have the ability to set a reminder for a specific message.

Set Up Your Reminder

The default time frame to be reminded is in 5 minutes. However, there are other handy time options and you can also choose a specific time delay or date and time.

Additionally, there are a handful of contextually aware options. You can be reminded when iOS detects that you are done driving (implement through Do Not Disturb While Driving). You can also choose a certain place when arriving or leaving.

The Reminder is Set

A label below the selected message displays the time or context that you will receive your reminder. At any time, you can remove the reminder with a tap. Or reply in the conversation and it will be dismissed.

Your List of Conversations

When viewing all of your conversations, you will be able to see at a glance which conversations you have set to be reminded about later. A remind me icon displays in the place of where a new message indicator normally goes.

Normally, swiping messages to the left brings up delete or mute. Now, swiping to the right brings up actions to flag or set a Remind Me later on a conversation.

You can also see how conversations with both new messages and Remind Me’s are displayed.

Remind Me Notification

A push notification is sent from the iMessage app. It is labeled by the conversation name, which for 1-on-1 conversations is usually the name of the other participant.

The notification reads, “Respond to:…” and the contents of the message that you snoozed. Pressing it will bring you back into the conversation and open the reply box and keyboard.

What the Sender Sees

The original message sender now sees an update to their label, which previously just read “Delivered.”

Now they are able to see “Delivered” plus an icon which indicates that the recipient has snoozed the message. This allows the sender to know that the recipient intends to respond without requiring any additional effort from the recipeint.

Flag a Message

Similar to the iOS Mail app, you can now flag a message as a way to mark it and come back to it later.

When you tap the flag icon, it fills in with color to let you know that you have marked it for later.

Your List of Conversations

You can see at a glance which of your conversations have been flagged.

As previously mentioned, you can use swipe actions on individual conversations to flag them or set a Remind Me Later.

Here you can also see how conversations that are both Flagged and have new messages are displayed.

Badge App Icon

Messages that have been flagged will add to the number of unread messages in the Badge App Icon count. This provides a further layer of visibility (from the home screen) to know what conversations are in need of response.

This is an option that can be disabled in system preferences.

What the Sender Sees

Once again, the original message sender gets an update to their “Delivered” label.

Now they are able to see “Delivered” plus a flag that indicates that the sender intends to come back and provide a response later.

Send Later

The final feature adds the ability to send messages at a later time.

When entering in a message, the respondent can hit the Send Later button instead of the standard send button.

Set Up Your Send Later

Just like with Remind Me Later, you can choose a time frame for the message to go out. The default time frame is 5 minutes. You can choose from a list of quick response times or choose a specific time delay or date and time.

Again, you can take advantage of contextually aware options, such as when arriving or leaving a certain location.

The Message is Set to Send

Once the message has been set up, it displays in the conversation thread, clearly separated by a label which indicates when it is scheduled to go out.

From here you can easily cancel the message, which will drop the content of the message back into the compose box.

Send Later Notification

At the set time or location, the message will send and the iMessage app will create a push notification to let you know that it has been sent.

This includes a label informing who the message has been sent to and the contents of the message.

The Response… Finally!

Tapping the notification will bring you into the conversation to see the message has been sent.

This is the ultimate goal of all three features. Along the way, they bring added value in functionality the message recipient and provide transparency to the original message sender.

Continuing Design

Prototype Validation

The project was capped off with validation of the Dynamic Interactive Prototype. Once again, I used the “Quick-and-Dirty Usability Test”, this time with 3 users. This allowed me to find sticking points with the existing design.

Future Recommendations

I created a list of future changes that I would implement were I to continue the project. These are directly in response to the insights and analysis gained from the validation process.

Dynamic Interactive Prototype