Message management

Description: Solve design and technical debt by rethinking the IA and system behind all of Intercom's outbound products.

Goal: Decrease customer confusion, improve activation and increase the development speed.

Year: 2019

Role: Product Designer

Sneak peek:

If you are curious about the full process behind this project (from how we pushed to get it on the roadmap to how we approached it), feel free to check out the talk I gave about it at Push UX 2019:

Otherwise, here's a quick summary.

Realizing the problem
Over the years, Intercom has introduced lots of ways for businesses to reach out to their customers. They could do it over the email, via in-product messages, mobile push notifications, product tours, and even bots.

But each of those message types was very different from the others due to various factors like org design, legacy constraints, packaging decisions and scoping calls.

Those differences led to a broken customer experience as they had to learn multiple similar, yet different patterns (as a sign of that, amount of product confusion related to outbound was twice as high as for the rest of Intercom, which impacted activation).

For context, here's one of many examples of how the same functionality worked differently, depending on a message type

It also slowed down product development since when we introduced new functionality we had to build it multiple times across multiple systems and, as a result, it often didn’t get implemented coherently at all because of scoping calls.

None of our small fixes helped. To properly solve the problem, we had to rethink all of our outbound functionality from scratch and create a unified system that could support both existing message types and the ones we'd have in the future.

Rethinking the system
My first step in rationalising the system was to map out existing similarities and differences between all message types.

Based on that, in a tight collaboration with engineers, we started rethinking each piece of functionality from first principles with a goal of creating a unified design and technical system.

As a result of that process, we’ve arrived at a modular system where all message types shared the same reusable building blocks for targeting, scheduling and measuring success.

A simplified version of a new system

Finalizing designs
Several months later, after nailing lots of nitty-gritty details and running an experiment to ensure that the new IA didn’t create any unforeseen negative impact on our key metrics, we’ve released it to everyone.

So, as a result outbound functionality previously split between several parts of the product and cryptically categorized …

… was now neatly organized in a single place:

Along the way I also drove the initiative to make all Intercom's UI elements closer to our brand by changing fonts, colors, and many design system components.

Whereas in the past, customers always had to create their messages from scratch, now they were greeted with useful templates:

And long inconsistent message creation flows …

… have been greatly simplified:

Measuring success
These IA changes and introduction of a holistic system behind them helped us achieve our success metrics: it led to a decrease of 33% in conversations tagged with product confusion, positively increased activation, and dramatically sped up our ability to build new functionality.