Tag Archives: Design

10 design details you didn’t know about in our new hardware lineup

“Design is about solving problems,” says Ivy Ross who leads the team that creates how a Google product — including new products announced today at our Made by Google event — looks, feels and acts when you hold it in your hands. When designing this new line of products her team had to solve a whole host of choices — from designing a WiFi router you actually want to put on your shelf to deciding what Google's first-ever watch should look like.

We chatted with Ivy — along with Isabelle Olsson, who leads design for home and wearable products and our team that develops colors, materials and finishes for hardware products, and Claude Zellweger, who leads industrial design for Pixel phones — to get the scoop on 10 design details in our latest hardware products that were made with you in mind.

Colors to calm you

Pixel 7 Pro comes in a fresh new color: Hazel. The nature-inspired greenish hue is soothing, and the warm gold metal finish adds some polish. The Pixel 7 comes in a new energizing color: Lemongrass. “We wanted to create colors that are calming, yet also surprising,” Isabelle says. If being matchy-matchy is the kind of look that calms your mood, you’ll be happy to see matching color combos and finishes across products.

Line up the lenses

Both phones have horizontal camera bars that now blend seamlessly into the frames — and the aluminum in the housing and camera bar is 100% recycled content.[ba4e13]This simplified design reduces the number of parts to make the phone, and just feels better in your hand thanks to its fluid and smooth surfaces. “At the core of it, we wanted to bring more emphasis to the camera,” Claude says.

Silky to the touch

Pixel 7 has a silky smooth feel thanks to our new zirconia-blasted matte finish. Meanwhile, Pixel 7 Pro has a high-polished aluminum finish that takes inspiration from jewelry and watches.

You bezel believe it

The phones feature a bezel that’s even thinner than the Pixel 6 phones. With a thinner bezel — which is the frame on the front of the device that isn’t the screen — you can look at more content that’s relevant to you as opposed to extraneous borders.

A smartwatch dripping with inspiration

Inspired by water droplets, the smooth domed glass face of the Google Pixel Watch keeps it from snagging on your shirts or sleeves. But that design choice was more than just a functional one. “A smartwatch first and foremost is a watch,” says Ivy, who pulled from her background as a jeweler and her love for collecting traditional watches to help design this watch. “The round design represents the ancient shape of time and balances the fact that we fit all of the modern smarts of Google and health and wellness features from Fitbit into the watch.”

Bands that click with any mood

From casual to formal to active, there’s a watch band designed for all your moods and needs. Plus, according to Isabelle, the way the bands click into place to attach is incredibly easy and satisfying.

A color combo to rule them all

To get the perfect mix of colors for the woven fabric watch band accessory — which is made of recycled plastic yarn[4cefda]— the team tested at least 200 different color combos in one week. The result is a band that looks simple and understated from far away, but catches people’s attention up close.

A shelf-worthy design

You’ll want to give some countertop real estate to the new Nest WiFi Pro, which was designed to look good out in the open. “The areas where WiFi routers go — like countertops, side tables and shelves — usually have beautiful collected items from people's lives like a flower vase, a sculpture or a stack of books,” Isabelle says. To make sure the Nest WiFi Pro fits in with people’s treasured objects, the team chose a high-gloss finish — inspired by ceramics and glassware — and subtle hues that match any vibe.

Good things come in small packages

You might notice that the Pixel phone packaging has less plastic — the packaging is now 99% plastic free. The team ditched extraneous materials and created a box the phones fit safely and snugly inside.

Sustainability as the guide

From choosing recycled materials for our packaging and products to coming up with designs that create less waste and are built to last — sustainability is built into so many of the decisions our designers make. Because of these thoughtful choices, we’ve used even more recycled materials in our newest products, like the Nest Wifi Pro which is made of more than 60% recycled materials. And it doesn’t stop here. By 2025, we aim to use recycled or renewable materials for at least 50% of the plastic used across our hardware products. And we’re on track to eliminate plastic from our packaging by that same time. Each of these goals is another challenge our design team is ready to tackle.

10 design details you didn’t know about in our new hardware lineup

“Design is about solving problems,” says Ivy Ross who leads the team that creates how a Google product — including new products announced today at our Made by Google event — looks, feels and acts when you hold it in your hands. When designing this new line of products her team had to solve a whole host of choices — from designing a WiFi router you actually want to put on your shelf to deciding what Google's first-ever watch should look like.

We chatted with Ivy — along with Isabelle Olsson, who leads design for home and wearable products and our team that develops colors, materials and finishes for hardware products, and Claude Zellweger, who leads industrial design for Pixel phones — to get the scoop on 10 design details in our latest hardware products that were made with you in mind.

Colors to calm you

Pixel 7 Pro comes in a fresh new color: Hazel. The nature-inspired greenish hue is soothing, and the warm gold metal finish adds some polish. The Pixel 7 comes in a new energizing color: Lemongrass. “We wanted to create colors that are calming, yet also surprising,” Isabelle says. If being matchy-matchy is the kind of look that calms your mood, you’ll be happy to see matching color combos and finishes across products.

Line up the lenses

Both phones have horizontal camera bars that now blend seamlessly into the frames — and the aluminum in the housing and camera bar is 100% recycled content.[ba4e13]This simplified design reduces the number of parts to make the phone, and just feels better in your hand thanks to its fluid and smooth surfaces. “At the core of it, we wanted to bring more emphasis to the camera,” Claude says.

Silky to the touch

Pixel 7 has a silky smooth feel thanks to our new zirconia-blasted matte finish. Meanwhile, Pixel 7 Pro has a high-polished aluminum finish that takes inspiration from jewelry and watches.

You bezel believe it

The phones feature a bezel that’s even thinner than the Pixel 6 phones. With a thinner bezel — which is the frame on the front of the device that isn’t the screen — you can look at more content that’s relevant to you as opposed to extraneous borders.

A smartwatch dripping with inspiration

Inspired by water droplets, the smooth domed glass face of the Google Pixel Watch keeps it from snagging on your shirts or sleeves. But that design choice was more than just a functional one. “A smartwatch first and foremost is a watch,” says Ivy, who pulled from her background as a jeweler and her love for collecting traditional watches to help design this watch. “The round design represents the ancient shape of time and balances the fact that we fit all of the modern smarts of Google and health and wellness features from Fitbit into the watch.”

Bands that click with any mood

From casual to formal to active, there’s a watch band designed for all your moods and needs. Plus, according to Isabelle, the way the bands click into place to attach is incredibly easy and satisfying.

A color combo to rule them all

To get the perfect mix of colors for the woven fabric watch band accessory — which is made of recycled plastic yarn[4cefda]— the team tested at least 200 different color combos in one week. The result is a band that looks simple and understated from far away, but catches people’s attention up close.

A shelf-worthy design

You’ll want to give some countertop real estate to the new Nest WiFi Pro, which was designed to look good out in the open. “The areas where WiFi routers go — like countertops, side tables and shelves — usually have beautiful collected items from people's lives like a flower vase, a sculpture or a stack of books,” Isabelle says. To make sure the Nest WiFi Pro fits in with people’s treasured objects, the team chose a high-gloss finish — inspired by ceramics and glassware — and subtle hues that match any vibe.

Good things come in small packages

You might notice that the Pixel phone packaging has less plastic — the packaging is now 99% plastic free. The team ditched extraneous materials and created a box the phones fit safely and snugly inside.

Sustainability as the guide

From choosing recycled materials for our packaging and products to coming up with designs that create less waste and are built to last — sustainability is built into so many of the decisions our designers make. Because of these thoughtful choices, we’ve used even more recycled materials in our newest products, like the Nest Wifi Pro which is made of more than 60% recycled materials. And it doesn’t stop here. By 2025, we aim to use recycled or renewable materials for at least 50% of the plastic used across our hardware products. And we’re on track to eliminate plastic from our packaging by that same time. Each of these goals is another challenge our design team is ready to tackle.

Ask a Techspert: How does a building become “water positive”?

Our new Bay View campus is on track to be the largest development project in the world to achieve Water Petal certification from the Living Building Challenge, meaning it will meet the definition of being “net water positive.” That important sustainability effort moves us closer to our 2030 company goal of replenishing more water than we consume. But what exactly does “water positive” mean at Bay View? District Systems Water Lead Drew Wenzel dove into that question head first.

Let’s get right to it: What does “water positive” mean?

“Water positive” at Bay View means we will produce more non-potable water than we have demand for at the Bay View site.

Hmm, let’s back up: What’s non-potable water again?

There are a couple of types of water. There is potable water, which is suitable for human contact and consumption, and there is non-potable water, which is not drinking quality but can be used for other water demands like flushing toilets or irrigation.

Typically, buildings use potable water for everything. At Bay View, we have an opportunity to match the right quality of water with the right demand, and only use potable water when it's necessary. And by over-producing non-potable water, we can share such excess with surrounding areas that might otherwise rely on potable water for non-potable needs.

So basically, are we helping the water system save high-quality water?

Right. In California, we’re years into our most recent drought. We're only going to see increasing pressure on water resources. Regional and State water agencies are working hard to secure the potable water supply. We believe we can best support these public-sector efforts and increase potable water supply by using non-potable water where we can.

So how did we get to water positive for Bay View?

This may be surprising, but it actually all starts with the geothermal energy system. Typically, removing heat from a building is done through evaporating a lot of water via cooling towers. At Bay View, instead of doing that, the geothermal system removes almost all heat by transferring it into the soil beneath the building. This system eliminates at least 90% of the water needed for cooling, or about 5 million gallons of water per year.

Ok, we start by reducing water use. What’s next?

After improving the water efficiency as much as we could through the geothermal system and other measures, we looked at the water resources we have on site. By collecting all of our stormwater and wastewater and treating it for reuse, we are able to meet all of our onsite non-potable demands.

How do we treat it?

Stormwater treatment starts with the retention ponds that collect rain. Water from these ponds is slowly drawn down and pumped to a central treatment plant, where it goes through several stages of filtration, treatment and disinfection.

All of the wastewater — from our cafes, restrooms and showers — is collected and sent to the central plant, where it undergoes two stages of filtration and treatment. From there, the water goes out to a field of reeds that naturally pull out nutrients, creating a perennial green landscape that supports local wildlife. Finally, the water is sent back to the plant again for final treatment and disinfection.

The final output from both stormwater and wastewater treatment processes is recycled water that meets State regulations for non-potable use.

A technical diagram shows stormwater and wastewater moving from an office building into a central treatment plant for filtration, treatment and disinfection. The wastewater is sent to a green landscape for additional treatment before returning to the plant. From the central plant, recycled water is returned to the building.

What happens if we don’t have enough non-potable water at any given time?

If our recycled water tank doesn’t have enough non-potable water to meet campus needs, it will fill up with potable water. At that point, everything in the tank would be considered non-potable because it has been mixed. Again, this isn’t the best use of high-quality potable water, and it’s something we’ll work to avoid.

If we create extra non-potable water, how can we share it?

This is something we’re thinking through, and there are a few ways we could go about it. The easiest way would be to export it to adjacent properties for irrigation to water something like a baseball field. That would require a relatively minimal effort of adding pipes.

Another way would involve potentially working with a local municipality that has a recycled water system, creating additional redundancy and resiliency within that system.

Aside from sharing extra water, Bay View already helps by treating and reusing its own water instead of adding demands to municipal systems. That leaves capacity on the system for the rest of the community and allows water providers to focus their time and resources on other needs across the water system.

Thinking beyond Bay View, is “water positive” important in places that aren’t in a drought?

Definitely. There are many cities that have combined sewer and stormwater systems that can be overwhelmed by excess water from buildings or large storm events. That can cause back-ups and flooding into the streets. Water positive systems, like the one at Bay View, can help communities and developers avoid placing additional pressure on municipal water systems.

Can any development site be water positive?

While a system like Bay View’s might not make sense for every project, there are different scales and variations of onsite water capture, treatment and reuse that are valuable, even if a building doesn't get to official water positive status. Every little bit is going to help.

Pixel art: How designers created the new Pixel 6 colors

During a recent visit to Google’s Color, Material and Finish (better known as CMF) studio, I watched while Jess Ng and Jenny Davis opened drawer after drawer and placed object after object on two white tables. A gold hoop earring, a pale pink shell — all pieces of inspiration that Google designers use to come up with new colors for devices, including the just-launched Pixel 6 and Pixel 6 Pro.

“We find inspiration everywhere,” Jenny says. “It’s not abnormal to have a designer come to the studio with a toothbrush or some random object they found on their walk or wherever.”

The CMF team designs how a Google device will physically look and feel. “Color, material and finish are a big part of what defines a product,” Jess, a CMF hardware designer, says. “It touches on the more emotional part of how we decide what to buy.” And Jenny, CMF Manager for devices and services, agrees. “We always joke around that in CMF, the F stands for ‘feelings,’ so we joke that we design feelings.”

The new Pixel 6 comes in Sorta Seafoam and Kinda Coral, while the Pixel 6 Pro comes in Sorta Sunny and Cloudy White, and both are available in Stormy Black. Behind those five shades are years of work, plenty of trial and error…and lots and lots of fine-tuning. “It’s actually a very complex process,” Jenny says.

Mademore complex by COVID-19. Both Jenny and Jess describe the color selection process as highly collaborative and hands-on, which was difficult to accomplish while working from home. Designers aren’t just working with their own teams, but with those on the manufacturing and hardware side as well. “We don’t design color after the hardware design is done — we actually do it together,” Jenny says. The Pixel 6 and Pixel 6 Pro’s new premium look and feel influenced the direction of the new colors, and the CMF team needed to see colors and touch items in order to select and eliminate the shades.

They don’t only go hands-on with the devices, they do the same with sources of inspiration. “I remember one time I really wanted to share this color because I thought it would be really appropriate for one of our products, so I ended up sending my boss one of my sweaters through a courier delivery!” Jenny says. “We found creative workarounds.”

The team that designed the new Pixel 6 and Pixel 6 Pro case colors did as well. “The CMF team would make models and then take photos of the models and I would try to go in and look at them in person and physically match the case combinations against the different phone colors,” says Nasreen Shad, a Pixel Accessories product manager. “Then we’d render or photograph them and send them around to the team to review and see if what was and wasn’t working.” In addition to the challenge of working remotely, Nasreen’s team was also working on something entirely new: colorful, translucent cases.

Nasreen says they didn’t want to cover up the phones, but complement them instead, so they went with a translucent tinted plastic. Each device has a case that corresponds to its color family, but you can mix and match them for interesting new shades.

That process involved lots of experimenting. For example, what eventually became the Golden Glow case started out closer to a bronze color, which didn’t pair as well with the Stormy Black phone. “We had to tune it to a peachy shade, so that it looked good with its ‘intended pairing,’ Sorta Sunny, but with everything else, too. That meant ordering more resins and color chips in different tones, but it ended with some really beautiful effects.”

Beautiful effects, and tons of options. “I posted a picture of all of the possible combinations you can make with the phones and the cases and people kept asking me, ‘how many phones did Google just release!?’” Nasreen laughs. “And I had to be like, ‘No, no, no, these are just the cases!’”

A photograph showing the various Pixel 6 and Pixel 6 Pro phones in different colors in different colored cases, illustrating how many options there are.

Google designers often only know the devices and colors by temporary, internal code names. It's up to their colleagues to come up with the names you see on the Google Store site now. But one person who absolutely knows their official names is Lily Hackett, a Product Marketing Manager who works on a team that names device colors. “The way that we go about color naming is unique,” she says. “We like to play on the color. When you think about it, it’s actually very difficult to describe color, and the colors we often use are subtle — so we like to be specific with our approach to the name.”

Because color can be so subjective (one person’s white and gold dress is another’s black and blue dress), Lily’s team often checks in with CMF designers to make sure the words and names they’re gravitating toward actually describe the colors accurately. “It’s so nice to go to color experts and say, ‘Is this right? Is this a word you would use to describe this color?’”

Lily says their early brainstorming sessions can result in lists of 75 or more options. “It’s truly a testament to our copywriting team. When we were brainstorming for Stormy Black, they had everything under the sun — they had everything under the moon! It was incredible to see how many words they came up with.”

These days, everyone is looking ahead at new colors and new names, but the team is excited to see the rest of the world finally get to see their work. “I couldn’t wait for them to come out,” Lily says. “My favorite color was even the first to sell out on the Google Store! I was like, ‘Yes, everyone else loves it, too!’”

New designs for Chrome and Chrome OS, by Latino artists

As we celebrate National Hispanic Heritage Month, we pay tribute to the generations of Latinos who have positively influenced and enriched society, arts, culture and science in the United States.

As a proud Latina, I have seen first hand how our diversity is our strength. We use various terms to define ourselves (Hispanic, Latinx, Latino, Black, Mexican, Salvadoran, Puerto Rican, Brazilian, and more), yet we still can come together as one resilient community.

This year Chrome partnered with Latino artists to create a collection of themes that celebrate our heritage. You can use them to customize your Chrome browser and Chromebook wallpapers. The work reflects a variety of meaningful subjects, from family to the subtle ways we all stay connected. This collection continues our work commissioning contemporary artists to visually show how people use Chrome and Chromebooks to get things done, explore, find and connect. 

Meet the commissioned artists, and browse the 20 new backgrounds in the collection on the Chrome Web Store or in your Chromebook wallpaper gallery.

Recommended strategies and best practices for designing and developing games and stories on Google Assistant

Posted by Wally Brill and Jessica Dene Earley-Cha

Illustration of pink car collecting coins

Since we launched Interactive Canvas, and especially in the last year we have been helping developers create great storytelling and gaming experiences for Google Assistant on smart displays. Along the way we’ve learned a lot about what does and doesn’t work. Building these kinds of interactive voice experiences is still a relatively new endeavor, and so we want to share what we've learned to help you build the next great gaming or storytelling experience for Assistant.

Here are three key things to keep in mind when you’re designing and developing interactive games and stories. These three were selected from a longer list of lessons learned (stay tuned to the end for the link for the 10+ lessons) because they are dependent on Action Builder/SDK functionality and can be slightly different for the traditional conversation design for voice only experiences.

1. Keep the Text-To-Speech (TTS) brief

Text-to-speech, or computer generated voice, has improved exponentially in the last few years, but it isn’t perfect. Through user testing, we’ve learned that users (especially kids) don’t like listening to long TTS messages. Of course, some content (like interactive stories) should not be reduced. However, for games, try to keep your script simple. Wherever possible, leverage the power of the visual medium and show, don’t tell. Consider providing a skip button on the screen so that users can read and move forward without waiting until the TTS is finished. In many cases the TTS and text on a screen won’t always need to mirror each other. For example the TTS may say "Great job! Let's move to the next question. What’s the name of the big red dog?" and the text on screen may simply say "What is the name of the big red dog?"

Implementation

You can provide different audio and screen-based prompts by using a simple response, which allows different verbiage in the speech and text sections of the response. With Actions Builder, you can do this using the node client library or in the JSON response. The following code samples show you how to implement the example discussed above:

candidates:
- first_simple:
variants:
- speech: Great job! Let's move to the next question. What’s the name of the big red dog?
text: What is the name of the big red dog?

Note: implementation in YAML for Actions Builder

app.handle('yourHandlerName', conv => {
conv.add(new Simple({
speech: 'Great job! Let\'s move to the next question. What’s the name of the big red dog?',
text: 'What is the name of the big red dog?'
}));
});

Note: implementation with node client library

2. Consider both first-time and returning users

Frequent users don't need to hear the same instructions repeatedly. Optimize the experience for returning users. If it's a user's first time experience, try to explain the full context. If they revisit your action, acknowledge their return with a "Welcome back" message, and try to shorten (or taper) the instructions. If you noticed the user has returned more than 3 or 4 times, try to get to the point as quickly as possible.

An example of tapering:

  • Instructions to first time users: “Just say words you can make from the letters provided. Are you ready to begin?”
  • For a returning user: “Make up words from the jumbled letters. Ready?”
  • For a frequent user: “Are you ready to play?”

Implementation

You can check the lastSeenTime property in the User object of the HTTP request. The lastSeenTime property is a timestamp of the last interaction with this particular user. If this is the first time a user is interacting with your Action, this field will be omitted. Since it’s a timestamp, you can have different messages for a user who’s last interaction has been more than 3 months, 3 weeks or 3 days. Below is an example of having a default message that is tapered. If the lastSeenTime property is omitted, meaning that it's the first time the user is interacting with this Action, the message is updated with the longer message containing more details.

app.handle('greetingInstructions', conv => {
let message = 'Make up words from the jumbled letters. Ready?';
if (!conv.user.lastSeenTime) {
message = 'Just say words you can make from the letters provided. Are you ready to begin?';
}
conv.add(message);
});

Note: implementation with node client library

3. Support strongly recommended intents

There are some commonly used intents which really enhance the user experience by providing some basic commands to interact with your voice app. If your action doesn’t support these, users might get frustrated. These intents help create a basic structure to your voice user interface, and help users navigate your Action.

  • Exit / Quit

    Closes the action

  • Repeat / Say that again

    Makes it easy for users to hear immediately preceding content at any point

  • Play Again

    Gives users an opportunity to re-engage with their favorite experiences

  • Help

    Provides more detailed instructions for users who may be lost. Depending on the type of Action, this may need to be context specific. Defaults returning users to where they left off in game play after a Help message plays.

  • Pause, Resume

    Provides a visual indication that the game has been paused, and provides both visual and voice options to resume.

  • Skip

    Moves to the next decision point.

  • Home / Menu

    Moves to the home or main menu of an action. Having a visual affordance for this is a great idea. Without visual cues, it’s hard for users to know that they can navigate through voice even when it’s supported.

  • Go back

    Moves to the previous page in an interactive story.

Implementation

Actions Builder & Actions SDK support System Intents that cover a few of these use case which contain Google support training phrase:

  • Exit / Quit -> actions.intent.CANCEL This intent is matched when the user wants to exit your Actions during a conversation, such as a user saying, "I want to quit."
  • Repeat / Say that again -> actions.intent.REPEAT This intent is matched when a user asks the Action to repeat.

For the remaining intents, you can create User Intents and you have the option of making them Global (where they can be triggered at any Scene) or add them to a particular scene. Below are examples from a variety of projects to get you started:

So there you have it. Three suggestions to keep in mind for making amazing interactive games and story experiences that people will want to use over and over again. To check out the full list of our recommendations go to the Lessons Learned page.

Thanks for reading! To share your thoughts or questions, join us on Reddit at r/GoogleAssistantDev.

Follow @ActionsOnGoogle on Twitter for more of our team's updates, and tweet using #AoGDevs to share what you’re working on. Can’t wait to see what you build!

Recommended strategies and best practices for designing and developing games and stories on Google Assistant

Posted by Wally Brill and Jessica Dene Earley-Cha

Illustration of pink car collecting coins

Since we launched Interactive Canvas, and especially in the last year we have been helping developers create great storytelling and gaming experiences for Google Assistant on smart displays. Along the way we’ve learned a lot about what does and doesn’t work. Building these kinds of interactive voice experiences is still a relatively new endeavor, and so we want to share what we've learned to help you build the next great gaming or storytelling experience for Assistant.

Here are three key things to keep in mind when you’re designing and developing interactive games and stories. These three were selected from a longer list of lessons learned (stay tuned to the end for the link for the 10+ lessons) because they are dependent on Action Builder/SDK functionality and can be slightly different for the traditional conversation design for voice only experiences.

1. Keep the Text-To-Speech (TTS) brief

Text-to-speech, or computer generated voice, has improved exponentially in the last few years, but it isn’t perfect. Through user testing, we’ve learned that users (especially kids) don’t like listening to long TTS messages. Of course, some content (like interactive stories) should not be reduced. However, for games, try to keep your script simple. Wherever possible, leverage the power of the visual medium and show, don’t tell. Consider providing a skip button on the screen so that users can read and move forward without waiting until the TTS is finished. In many cases the TTS and text on a screen won’t always need to mirror each other. For example the TTS may say "Great job! Let's move to the next question. What’s the name of the big red dog?" and the text on screen may simply say "What is the name of the big red dog?"

Implementation

You can provide different audio and screen-based prompts by using a simple response, which allows different verbiage in the speech and text sections of the response. With Actions Builder, you can do this using the node client library or in the JSON response. The following code samples show you how to implement the example discussed above:

candidates:
- first_simple:
variants:
- speech: Great job! Let's move to the next question. What’s the name of the big red dog?
text: What is the name of the big red dog?

Note: implementation in YAML for Actions Builder

app.handle('yourHandlerName', conv => {
conv.add(new Simple({
speech: 'Great job! Let\'s move to the next question. What’s the name of the big red dog?',
text: 'What is the name of the big red dog?'
}));
});

Note: implementation with node client library

2. Consider both first-time and returning users

Frequent users don't need to hear the same instructions repeatedly. Optimize the experience for returning users. If it's a user's first time experience, try to explain the full context. If they revisit your action, acknowledge their return with a "Welcome back" message, and try to shorten (or taper) the instructions. If you noticed the user has returned more than 3 or 4 times, try to get to the point as quickly as possible.

An example of tapering:

  • Instructions to first time users: “Just say words you can make from the letters provided. Are you ready to begin?”
  • For a returning user: “Make up words from the jumbled letters. Ready?”
  • For a frequent user: “Are you ready to play?”

Implementation

You can check the lastSeenTime property in the User object of the HTTP request. The lastSeenTime property is a timestamp of the last interaction with this particular user. If this is the first time a user is interacting with your Action, this field will be omitted. Since it’s a timestamp, you can have different messages for a user who’s last interaction has been more than 3 months, 3 weeks or 3 days. Below is an example of having a default message that is tapered. If the lastSeenTime property is omitted, meaning that it's the first time the user is interacting with this Action, the message is updated with the longer message containing more details.

app.handle('greetingInstructions', conv => {
let message = 'Make up words from the jumbled letters. Ready?';
if (!conv.user.lastSeenTime) {
message = 'Just say words you can make from the letters provided. Are you ready to begin?';
}
conv.add(message);
});

Note: implementation with node client library

3. Support strongly recommended intents

There are some commonly used intents which really enhance the user experience by providing some basic commands to interact with your voice app. If your action doesn’t support these, users might get frustrated. These intents help create a basic structure to your voice user interface, and help users navigate your Action.

  • Exit / Quit

    Closes the action

  • Repeat / Say that again

    Makes it easy for users to hear immediately preceding content at any point

  • Play Again

    Gives users an opportunity to re-engage with their favorite experiences

  • Help

    Provides more detailed instructions for users who may be lost. Depending on the type of Action, this may need to be context specific. Defaults returning users to where they left off in game play after a Help message plays.

  • Pause, Resume

    Provides a visual indication that the game has been paused, and provides both visual and voice options to resume.

  • Skip

    Moves to the next decision point.

  • Home / Menu

    Moves to the home or main menu of an action. Having a visual affordance for this is a great idea. Without visual cues, it’s hard for users to know that they can navigate through voice even when it’s supported.

  • Go back

    Moves to the previous page in an interactive story.

Implementation

Actions Builder & Actions SDK support System Intents that cover a few of these use case which contain Google support training phrase:

  • Exit / Quit -> actions.intent.CANCEL This intent is matched when the user wants to exit your Actions during a conversation, such as a user saying, "I want to quit."
  • Repeat / Say that again -> actions.intent.REPEAT This intent is matched when a user asks the Action to repeat.

For the remaining intents, you can create User Intents and you have the option of making them Global (where they can be triggered at any Scene) or add them to a particular scene. Below are examples from a variety of projects to get you started:

So there you have it. Three suggestions to keep in mind for making amazing interactive games and story experiences that people will want to use over and over again. To check out the full list of our recommendations go to the Lessons Learned page.

Thanks for reading! To share your thoughts or questions, join us on Reddit at r/GoogleAssistantDev.

Follow @ActionsOnGoogle on Twitter for more of our team's updates, and tweet using #AoGDevs to share what you’re working on. Can’t wait to see what you build!

Recommended strategies and best practices for designing and developing games and stories on Google Assistant

Posted by Wally Brill and Jessica Dene Earley-Cha

Illustration of pink car collecting coins

Since we launched Interactive Canvas, and especially in the last year we have been helping developers create great storytelling and gaming experiences for Google Assistant on smart displays. Along the way we’ve learned a lot about what does and doesn’t work. Building these kinds of interactive voice experiences is still a relatively new endeavor, and so we want to share what we've learned to help you build the next great gaming or storytelling experience for Assistant.

Here are three key things to keep in mind when you’re designing and developing interactive games and stories. These three were selected from a longer list of lessons learned (stay tuned to the end for the link for the 10+ lessons) because they are dependent on Action Builder/SDK functionality and can be slightly different for the traditional conversation design for voice only experiences.

1. Keep the Text-To-Speech (TTS) brief

Text-to-speech, or computer generated voice, has improved exponentially in the last few years, but it isn’t perfect. Through user testing, we’ve learned that users (especially kids) don’t like listening to long TTS messages. Of course, some content (like interactive stories) should not be reduced. However, for games, try to keep your script simple. Wherever possible, leverage the power of the visual medium and show, don’t tell. Consider providing a skip button on the screen so that users can read and move forward without waiting until the TTS is finished. In many cases the TTS and text on a screen won’t always need to mirror each other. For example the TTS may say "Great job! Let's move to the next question. What’s the name of the big red dog?" and the text on screen may simply say "What is the name of the big red dog?"

Implementation

You can provide different audio and screen-based prompts by using a simple response, which allows different verbiage in the speech and text sections of the response. With Actions Builder, you can do this using the node client library or in the JSON response. The following code samples show you how to implement the example discussed above:

candidates:
- first_simple:
variants:
- speech: Great job! Let's move to the next question. What’s the name of the big red dog?
text: What is the name of the big red dog?

Note: implementation in YAML for Actions Builder

app.handle('yourHandlerName', conv => {
conv.add(new Simple({
speech: 'Great job! Let\'s move to the next question. What’s the name of the big red dog?',
text: 'What is the name of the big red dog?'
}));
});

Note: implementation with node client library

2. Consider both first-time and returning users

Frequent users don't need to hear the same instructions repeatedly. Optimize the experience for returning users. If it's a user's first time experience, try to explain the full context. If they revisit your action, acknowledge their return with a "Welcome back" message, and try to shorten (or taper) the instructions. If you noticed the user has returned more than 3 or 4 times, try to get to the point as quickly as possible.

An example of tapering:

  • Instructions to first time users: “Just say words you can make from the letters provided. Are you ready to begin?”
  • For a returning user: “Make up words from the jumbled letters. Ready?”
  • For a frequent user: “Are you ready to play?”

Implementation

You can check the lastSeenTime property in the User object of the HTTP request. The lastSeenTime property is a timestamp of the last interaction with this particular user. If this is the first time a user is interacting with your Action, this field will be omitted. Since it’s a timestamp, you can have different messages for a user who’s last interaction has been more than 3 months, 3 weeks or 3 days. Below is an example of having a default message that is tapered. If the lastSeenTime property is omitted, meaning that it's the first time the user is interacting with this Action, the message is updated with the longer message containing more details.

app.handle('greetingInstructions', conv => {
let message = 'Make up words from the jumbled letters. Ready?';
if (!conv.user.lastSeenTime) {
message = 'Just say words you can make from the letters provided. Are you ready to begin?';
}
conv.add(message);
});

Note: implementation with node client library

3. Support strongly recommended intents

There are some commonly used intents which really enhance the user experience by providing some basic commands to interact with your voice app. If your action doesn’t support these, users might get frustrated. These intents help create a basic structure to your voice user interface, and help users navigate your Action.

  • Exit / Quit

    Closes the action

  • Repeat / Say that again

    Makes it easy for users to hear immediately preceding content at any point

  • Play Again

    Gives users an opportunity to re-engage with their favorite experiences

  • Help

    Provides more detailed instructions for users who may be lost. Depending on the type of Action, this may need to be context specific. Defaults returning users to where they left off in game play after a Help message plays.

  • Pause, Resume

    Provides a visual indication that the game has been paused, and provides both visual and voice options to resume.

  • Skip

    Moves to the next decision point.

  • Home / Menu

    Moves to the home or main menu of an action. Having a visual affordance for this is a great idea. Without visual cues, it’s hard for users to know that they can navigate through voice even when it’s supported.

  • Go back

    Moves to the previous page in an interactive story.

Implementation

Actions Builder & Actions SDK support System Intents that cover a few of these use case which contain Google support training phrase:

  • Exit / Quit -> actions.intent.CANCEL This intent is matched when the user wants to exit your Actions during a conversation, such as a user saying, "I want to quit."
  • Repeat / Say that again -> actions.intent.REPEAT This intent is matched when a user asks the Action to repeat.

For the remaining intents, you can create User Intents and you have the option of making them Global (where they can be triggered at any Scene) or add them to a particular scene. Below are examples from a variety of projects to get you started:

So there you have it. Three suggestions to keep in mind for making amazing interactive games and story experiences that people will want to use over and over again. To check out the full list of our recommendations go to the Lessons Learned page.

Thanks for reading! To share your thoughts or questions, join us on Reddit at r/GoogleAssistantDev.

Follow @ActionsOnGoogle on Twitter for more of our team's updates, and tweet using #AoGDevs to share what you’re working on. Can’t wait to see what you build!