Google Assistant – How to Design?

Google Assistant - OK Google - How to Develop?

What is Google Assistant? What is Conversational Design? What are the elements to be considered during developing Google Assistant app? How shall I start developing? Will I make money?

I wrote this content in Turkish a year ago. Till today, I have received good comments and messages on this blog post. I believe this information is valuable and I hope this content will answer your questions.

Last year, I attended Google’s event in Istanbul. It was about developing your own Google App in your language. I believed that this was a very insightful event and I took many notes. There were no fees for the event, you must register to it. I strongly recommend people to join these kinds of events from valuable companies such as Google.

It was a full-day event. In the morning, the theory of the Conversational Business and Voice Assistant concept was presented. In the afternoon we had a chance to develop our app in the Codelab session with the guidance of a mentor.

I am thankful for this valuable event. I hope that these kinds of events will provide people the opportunity to develop Google Assistant Apps in their language.

Now it’s time to share my comments and observations.

Meet Google Assistant

Google Assistant Official Commercial

Google Assistant is a bot that replies to you when you start a conversation by saying “OK Google”. It is like your Siri for Apple. I believe you are now saying that it is not a new technology. And that’s correct!

However, since 2017, thanks to the emerging of artificial intelligence and cloud, processing information in real-time became easier. This increased the performance of real-time bot assistants. This is why, those assistants not only send a tweet for you or provide information, but they can complete tasks for you. They can get an appointment from a hairdresser for you. In Google I/O 2018, you can watch this experience in the keynote speech.

Google I/O 2018 Keynote – Google Assistant Presentation

Thanks to Google, they provide app development opportunities in different languages. The developers can develop their apps for Google Assistant. The early adopters will, of course, have the advantage. Also, Google Assistant supports many different devices, so it may reach a wide range of users.

Conversational Design

Conversational design is designing how the chat supposed to be conducted. The design should provide the user with a positive experience. But what you need to do to create a positive experience for the users? There are 3 critical rules to follow:

  • The answer should be correct, clear, understandable, to the point, informative
  • The bot should handle the unknown answers without any blunder
  • The bot’s persona (the character) should be compatible with the user

You should clearly define the service you provide. The user should understand the service. And you try to keep the user in your app.

Creating a persona is critical, and the importance of creating a persona is emphasized during the event. You have to understand your audience and create a language and a style to make your audience feel close to your app.

Conversational Design - Persona
Google Assistant Event – Conversational Design Presentation –
Persona Comparison for a Pizza Restaurant and a Bus Ticket App

Now, we have specific information for voice assistants. People mostly use voice assistants when they cannot use their hands, such as a driving car, holding many packages or their kids. In those cases mostly they cannot look to their phones that much. So you need to provide less visual content during your conversational design. You need to communicate with your user mostly via voice.

In addition, many people using voice assistants also may be using this feature in public. For example, they might in public transportation. In those cases mostly the user does not want to speak loudly with the app. You should design the app by considering and handling this issue. Ask easy questions, use short sentences, do not confuse the user. Use the speaking language rather than a formal written language.

Google Assistant Design

During developing an app in Google Assistant you use two critical platforms.

  • “Actions on Google” – conversational design platform
  • “Dialogflow” – NLP, NLU platform

Dialogflow is not mandatory. If you can get data by JSON, you can use your platform. However, Dialogflow is suggested, since it provides ready-to-use dialogues. For example, you do not need to define the colors in the app when we ask the user the colors they like. You can use Dialogflow’s content.

You can to develop Google Assistant Apps by using Codelab (Google’s official free resources for Google Assistant). In the event, we also used Codelab.

Handling unknown answers is important. Users have a negative experience when they receive a reply as “I do not understand”. While designing the voice assistant, the designer should consider the ambiguities of user responses and handle them well. A successful handling example was provided below.

From Google Assistant Event - Handling the unknown answer
Google Asistan Etkinliğinden - Bilinmeyen soruları cevaplama
From Google Assistant Event – Handling the unknown answer

Mobile app developers should be already familiar with microphone rules. The microphone should not be activated when it is not used. In the Google Assistant case, the same rule is valid. This rule was emphasized many times during the event.

While developing your Google Assistant app, I have emphasized the importance of persona multiple times. There is a feature for a persona that you may use only special to voice assistant development. You add speaking tags via SSML to make a conversation faster or slower. You may add a background voice. You can also use free voice resources provided by Google. A fantastic way to complete your persona right? 🙂

You may integrate the Google Assistant app with other platforms such as Messanger, Slack or Twitter. A very useful way to make your app reach a wider range of users.

Voice Assistants and Generations

I belong to Generation-Y. My generation mostly hates the voice assistants, because this generation has already had very negative experiences from the bank’s voice assistants. They do not understand what we say, and they delay our process to access customer service agents.

However, the new generation is more positive on voice assistants. Even though my generation has prejudice to voice assistants, we should agree that conversational business via voice assistants is our future.

Google Assistant and Data Protection

As you know, data protection is a major legal consideration in today’s world. Europe’s GDPR (General Data Protection Regulation) was a game-changer in today’s world.

When you develop your Google Assistant app, you need to comply with GDPR’s basic request. You need to declare a Privacy Policy. This policy should contain at least the following information:

  • Why do you collect personal data?
  • Where and how do you store personal data?
  • How do you use personal data?
  • With whom do you share the personal data?

The mobile app developers are also familiar with requesting personal data while developing an app. You ask the user’s permission to access their data. For example, you cannot get the location data directly without asking the user. When the user approves your request, then you are allowed to use the location data.

Can I Earn Money by Developing Google Assistant?

When you develop a mobile app, you could earn money via ads. In Google Assistant, that’s not quite possible. So if you want to develop an app to earn money from the ads, Google Assistant is suitable for you. However, you may sell something through Google Assistant. Moreover, companies may use this channel to provide customer service.

Even you do not earn money, especially if you are a junior developer, I strongly recommend you to experience this platform. This will be good material in your project portfolio.

If you think serious about Google Assistant, and you believe that you should be a player in this business, then you have one more step. Your app will be audited by Google before providing it to the users, just like any other mobile app that you want to add to Playstore. To pass the audit make sure that:

  • You do not collect personal data without consent
  • You do not activate the microphone unnecessarily
  • You choose an acceptable name (Check Google’s rules for app names)
  • You provide a proper privacy policy

There might be other rules to obey, however, I listed the ones that were emphasized during the Google Assistant Event.

After your app passes the audit, you still need to improve your app to be ranked higher in Google Assistant.

As a result, I believe that developing a mobile app for Playstore or Appstore will make you earn more money. However, being an early adopter to the new technologies has its advantages.

Do I Need to Code?

In this section, I provide my personal opinion.

Google Assistant made Conversational Design easier. This is correct. However, even a simple task requires software development experience. During the event, I realized that without any knowledge of software development it is almost impossible to develop a conversation in Google Assistant.

Google Assistant Workshop - An example from the event (node.js)
Google Asistan Workshop
Google Assistant Workshop – An example from the event (node.js)

Want to Learn More About Conversational Business?

Google Assistant is just an example for Conversational Business. There are other tools for conversational business.

Conversational Business is the future. We will interact more and more with chatbots (both audio and written) every day. I have another blogpost on Conversational Business for those who would like to read. Check out my How to Adapt to Conversational Business? blogpost to learn more. I also would like to suggest another website to get more information on today’s conversational business world. Check MindBehind Blog to learn more about SaaS solutions on conversational design. MindBehind is a conversational business designing tool that does not require any experience in software development.