Know your audience

Stay organized with collections Save and categorize content based on your preferences.

A Chat app's audience is the people who exchange messages with the app.

Whether your Chat app supports a globally distributed team of thousands or just one person, ensure your app helps everyone who messages it by including the audience in your design process. Here are some things to consider:

Have your users worked with Chat apps before?

Your Chat app might be the first interaction a user has had with Chat apps. Don't make assumptions that users know how Chat apps work. Features like slash commands and dialogs may confuse some users, so help them out by giving precise instructions.

For example, when prompting the user to issue a slash command:

Write this

To create a contact, type /createContact.

This prompt is helpful because:

  • It tells the user exactly what they need to type.
  • Special formatting makes /createContact stand out.
  • The sentence begins with the goal.

Don't write this

Issue the Create Contact slash command.

This prompt is unhelpful because:

  • It doesn't tell users what to type; they need to type /createContact. It assumes that users will connect "Create Contact" to /createContact.
  • Users might not know what slash commands are, nor how to issue them.
  • No reason for issuing the slash command is given. The user might not know why the app is asking them to do this.

To learn more about how to help users with Chat app features like slash commands, refer to Guide people with interactivity.

Geography

Where in the world will people use your Chat app?

Oftentimes, people in a Chat space are located all over the world, which means that they're working in different time zones. If your app sends notifications to users or spaces, be mindful of the time of day people's phones might ring.

The WFH Chat app is a fun app that helps teams stay connected while working from home. One of its features is to start the day and end the day with a jaunty question that gets the team talking to each other. But, if part of the team is in New York, and part of the team is in Los Angeles, the Chat app might send the LA team a "wake up" notification at 6:00am:

Chat app announcing the start of the day at 6:00am

And a "work's done" notification at 2:00pm:

Chat app announcing the end of the day at 2:00pm

If your Chat app mentions a user directly, consider checking that user's timezone in the Calendar API before sending the notification. If it's outside that user's working hours, consider sending the message without a mention, or waiting until their work day begins.

Language

What languages does your Chat app support?

Your Chat app could field requests in English, Spanish, and Japanese from users in a single Workspace domain! If you know that your Chat app will support users speaking different languages, it's important to check for a preferred language and localize the app accordingly.

For Chat spaces, add a language option to the app's configuration settings. Once set by users in the space, your app can respond to message events from that space in the space's preferred language.

To check a user's preferred language:

  1. Get User.name from the User type in Google Chat API.
  2. Map User.name to user.id in Google Workspace Admin SDK's Directory API.
  3. Get user.languages[] for the given user.id in Directory API.

For more information, refer to User in Google Chat API and users in Google Workspace Admin SDK's Directory API.

Platform: web vs mobile

Google Chat is available on computers and mobile devices. Computers offer lots of screen space where users might be more accepting of information-dense messages with lots of buttons and options. On mobile devices, users appreciate succinct messages.

Try to offer 3 or fewer buttons per card. If you need to offer more than 3 buttons, consider launching a dialog instead. Dialogs can present a series of cards that make gathering lots of user input a friendlier experience.

Test your Chat app on mobile devices to make sure its presentation of information is digestible.

Users with different permissions, roles, and data access

People in Google Chat have different permissions and data access in Google Workspace and other systems. A single Chat space could include administrators, managers, sales people, and customers. These are some of the permission-related scenarios to consider while building your Chat app:

Limited access to Chat apps

Google Workspace administrators can limit who has access to Chat apps in Google Chat.

Authentication

Prompting a customer to authenticate to a customer's Google Workspace domain might not work, and might confuse and frustrate the user. Account for this possibility by writing an actionable error message.

Sharing sensitive information in Chat spaces

If a user authenticates a Chat app to share sensitive information, like financial or health data, it might be best to limit that Chat app to 1:1 direct messages so that the Chat app doesn't accidentally reveal sensitive information in a Chat space where others might see it.

Sharing information in Chat spaces that include customers

It's common for employees of a company to share a Chat space with customers. Your Chat app can be a real boon to employee-customer interactions, but if your Chat app shares a space with customers, it's important to consider what data your Chat app might reveal.

For example, say your Chat app shares customer case details. If your Chat app shares a customer case in a Chat space shared with other customers, it might accidentally reveal customer information to people who shouldn't see it.