Most readers are well-aware Google assistant is going to be the big treat later this year. It will soon become a meaningful part of new apps and products like Allo and Google Home, and it will surely introduce new features and capabilities as it evolves many existing ones into something new. A teardown of the latest Google app update reveals a little more about what we can expect when the assistant comes out.

What's New

This update doesn't appear to bring much in the way of immediately usable additions, but there is one minor change worth noting. The overflow menu on the Google Now on Tap screen contains a new 'Translate' command. Tap on it and the current screen will be read and redrawn with all of the text translated to a familiar language.

This isn't a new feature, only a new way to access it. Google added the translation feature last month, but it was only available if Now on Tap detected multiple languages on a screen and presented a card. With the Translate command permanently available in the overflow menu, it can be activated at any time.

Teardown

Disclaimer: Teardowns are based on evidence found inside of apks (Android's application package) and are necessarily speculative and usually based on incomplete information. It's possible that the guesses made here are totally and completely wrong. Even when predictions are correct, there is always a chance that plans could change or may be canceled entirely. Much like rumors, nothing is certain until it's officially announced and released.

The features discussed below are probably not live yet, or may only be live for a small percentage of users. Unless stated otherwise, don't expect to see these features if you install the apk.

Google assistant

Last month's update to the Google app answered a few questions about the Google assistant and gave details about how to configure and use Google Home. The latest version continues to add more information and closes up some of the gaps. There are new pages for the Settings screen and some reasonably telling text.

Before getting to the big items, the logo for Google assistant was finally added.

opa_logo

Language support may be very limited at launch

Many users lament over Google's tendency to launch new products in a very restricted set of geographical regions. Whether you consider it justified or outright hate the practice, it's not likely to end anytime soon. New text in the apk gives reason to suspect the upcoming Google assistant may be limited by more than geography.

A pair of strings explain that Google assistant is only functional with English and Deutsch (German) at this time. Users with another primary language selected will be given the option to switch to one of the supported languages.

<string name="opa_error_unsupported_locale_message">In order to access your Google assistant, choose English or Deutsch (Deutschland) in the Search Language section of Google App Settings.</string>

<string name="opa_error_unsupported_locale_title">For now, the Google assistant is only in English and Deutsch</string>

<string name="opa_error_unsupported_locale_button">CHANGE LANGUAGE</string>

<string name="assistant_language_not_supported">%s is not yet supported by Google assistant</string>

This is obviously a temporary situation and plenty of other languages will surely join the list, many will even be added prior to launch. However, the Google assistant is a fundamental part of at least two products (Allo and Google Home) scheduled for release this year, which means there's less than four months remaining to squeeze in as many common dialects as possible. Nevertheless, many people should prepare for the very real possibility that their preferred language may not be immediately available.

More Settings

Last month's teardown focused heavily on the Settings screen and any options it would contain for setting up and managing Google assistant and Google Home. This version contains two new screens for configuring your current device and other Google Home hardware located around you. The first is named assistant_device_id_nexus_settings.xml and shows the title "Settings on this device." The lines below list the type of control, its title, and a summary.

  • Switch: Google assistant – "Turns the assistant on and off"
  • Switch: Use screen context – "Asks Google to show you info related to what's on your screen when you hold the Home button or search by voice"
  • Row: Voice (this one will open up the Settings screen for voice commands).

The most interesting takeaway from this is the second toggle. It determines if Google assistant will automatically read your screen with a long-press of the Home button. Sound familiar? It should, that's precisely what we already have with Now on Tap. It might be a bit premature to make any guesses about branding, but this suggests the Now on Tap moniker may be retired as this feature becomes a part of Google assistant. That's obviously far from a sure thing and could easily be interpreted other ways, but it wouldn't be too surprising to see the generally underused Now on Tap rebranded as it continues to evolve.

Again, notice that "nexus" is part of the layout filename, further suggesting Google assistant will be a first-party feature and may not immediately appear on partner devices – if ever.

The second screen is unsurprisingly dedicated to Google Home. It's named assistant_device_id_google_home_settings.xml and has the title "Settings on," immediately followed by a dropdown list with any paired Google Home devices. Picking a device from the list will introduce these settings:

  • Switch: Personal Info Permission – "Allow Google to access your calendar, etc.
  • Switch: YouTube Restricted Mode – "Show restricted content on YouTube"
  • Pop-up list: Assistant language

The options on this screen are a little more interesting in terms of function. The first determines if your Google Home devices will have access to your personal information. For many of us, this question is a bit of a no-brainer when it is in reference to our personal phone, tablet, or even computer. It's not as obvious when you consider that information might be made available to other people in the same house, like roommates, children, house guests, or possibly even intruders. Your personal phone can be protected by a lockscreen and various means of security that automatically take over after a period of time, but the only security Google Home seems to have is the lock on your front door. This certainly isn't meant as an alarmist warning about privacy, but it is a practical reason to think through this particular setting before enabling it out of habit.

The second option is a little more obvious. It's simply an option to block "restricted" videos on YouTube, which completely makes sense if you live with or have children over to your home. While this would prevent somebody from giving a voice command to Google Home that could display inappropriate material to a television, the language isn't entirely clear about whether or not this would prevent somebody from finding an objectionable video on a personal phone and then manually sending it to a Chromecast.

<string name="google_home_device_youtube_restricted_mode_summary">Show restricted content on Youtube</string>

<string name="google_home_device_youtube_restricted_mode_title">Youtube Restricted Mode</string>

User-Defined Actions

The previous teardown left relatively few things unexplored, but there was a brief mention of user-defined actions with no details to speak of. At the time, it was only a pair of strings indicating "personal voice actions" would become a part of the experience, but new strings give a bit more shape to what will be possible.

Users will be able to define custom triggers, actions, and responses. A trigger will be in the form of a phrase to be spoken, for example: "order a pizza." This can be attached to an action that would, quite obviously, place an order for pizza. It looks like responses can be designed to prompt for more information, perhaps to ask what type of pizza or which toppings to add. It's also going to be possible to extend the original trigger with alternate phrases like, "hey Google, I need some pizza therapy."

<string name="user_defined_action_hint_text_add_a_response">Add a response</string>

<string name="user_defined_action_hint_text_add_a_trigger">Add a trigger</string>

<string name="user_defined_action_hint_text_add_a_voice_action">Add a voice action</string>

<string name="user_defined_action_trigger_phase_title">When I say</string>

<string name="user_defined_action_prompt_title">You should say</string>

<string name="user_defined_action_original_action_title">You should do</string>

<string name="user_defined_action_action_editor_title">Add new action</string>

<string name="user_defined_action_add_another_response">Another response</string>

<string name="user_defined_action_add_another_trigger">Another way to say it</string>

It's easy enough to envision simple interactions built from just pairs of triggers and actions, possibly with a few responses sprinkled into the mix. However, it might be possible for these actions to become more complicated and highly customizable. The limitations aren't clear, but there are layouts and a few more strings referred to as "immersive actions" that may be part of creating user-defined actions. (Note: this is more of an educated guess than a clear link, so it's entirely possible immersive actions are a separate feature.)

The strings aren't very helpful. The most relevant among them are a couple for adding nicknames to people like your family members, work associates, and very close friends. Naturally, these will make it possible to speak more comfortably with Google assistant.

The layouts make more sense for the actual construction of workflows. There are quite a few "editor" UIs, and of particular importance are the dozen or so layouts with "argument" in the name. That term is extremely common to software development, used in place of the word "parameter" to describe values that are sent into method calls. To put it simply, those layouts will be used to more precisely configure what data will be sent to a given service through one of the actions.

code

So far, all of these things have been relevant to creating trigger phrases and configuring how the command actions, but what about the actions themselves? It's starting to look like actions will be made available through "services" added to the Google assistant. It's unlikely user-defined actions will be necessary to take advantage of services, but they will certainly allow for some more customization and streamlining activities we might use all the time.

<string name="assistant_settings_services_help_line">Link these services to get more out of your Google assistant.</string>

<string name="assistant_settings_services_link">Link service</string>

The implementation details for "services" are still unclear, but they're probably going to begin as services Google vets and adds to a whitelist. We've seen this before with Android TV, Android Auto, Google Glass, and Chromecast, among others. However, it only makes sense that Google will eventually open up an API so other services can be linked, as well.

Google Home Hardware Support

We all know part of the plan for Google Home is to begin some legitimate efforts at home automation. It goes without saying that some of these appliances will be registered with Google assistant on our phones and tablets. It appears the Nest Thermostat is leading the charge as the first device to get a unique icon all of its own. To go alongside it, there's a "general device" icon that every other piece of hardware will be sharing for now, at least until something suitable is designed for Chromecast, Android TV, Nest Protect, On Hub, and whatever other gadgets that will ultimately find support.

Left: "general device." Right: Nest Thermostat.

Google suggestions

This one isn't as informative as it is somewhat amusing. Included in this update is a very long list of questions and commands Google could suggest to users. Most of the list includes examples that have been supported for years, like asking for the time and weather conditions in a particular city, and a few things like controlling the LED (i.e. flashlight) and camera are a bit more recent.

The queries start with fairly mundane topics, covering subjects like actor trivia and math questions, but they eventually change to show a little more humor. A few involve setting reminders and alarms for unusually specific times, some include some fairly quirky names, and there are quite a few references just for us geeks. Respect. There's even a sign that somebody on the development team may not be a loyal Android Police reader. Traitor!

Anyway, if you have a couple of minutes, skim through the list and you'll probably notice something you didn't realize was supported, or just get a chuckle from the various easter eggs buried near the end.

Suggestions

Download

The APK is signed by Google and upgrades your existing app. The cryptographic signature guarantees that the file is safe to install and was not tampered with in any way. Rather than wait for Google to push this download to your devices, which can take days, download and install it just like any other APK.

Version: 6.3.33 beta