As we get REALLY close to Google I/O, we're getting a rollout of the latest Google Home app. Like everything lately, we're not seeing much in the way of UI changes, though support for Ice Cream Sandwich is going away. However, there are some big things to see in a teardown. We've got signs of a remote control feature that works with various home automation features, lots of stuff happening with captions, and two new tabs for navigation.

What's New

Not much changed in the UI with this update, but there is a new animation that looks pretty nice. The previous version didn't animate the buttons in from the right, now they just slide in in sync with the movie posters..

Dropping Android 4.0 Ice Cream Sandwich

About a handful of Google apps have recently nudged the slider over a step or two on their oldest supported API. Most notably, Google Photos dropped Jelly Bean back in February, which was followed closely by Android Messages as it kicked KitKat to the curb in March. Google Home is now taking its own turn by freezing out Ice Cream Sandwich. This is only a single-step move from API 15 to 16, which sets the lowest supported version to Android 4.1 Jelly Bean.

Based on April's distribution numbers, this is only going to affect a whopping 0.4% of devices that still regularly use the Play Store. Combined with the 0.3% of devices on Gingerbread, the Google Home team is still supporting over 99% of phones and tablets.

And as a quick reminder, this only means new updates of the Google Home app will no longer come to devices on Android 4.0. Existing versions should continue to operate normally. In other words, if you're using an ancient ICS-based phone or tablet as a Chromecast remote control, it should be fine for a long time to come.

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.

Home and Account tabs

Google Home's two tabs at the bottom have always looked a little lonely, but they're probably going to have some friends joining them fairly soon. A new menu has been added that outlines additional tabs in a bottom navigation layout. The Discover and Browse tabs are still there, but they will likely be joined by two new spaces: Home and Account.

Quote
<string name="account_tab_name">Account</string>
<string name="home_tab_name">Home</string>

/menu/bottom_bar_navigation_menu.xml
<menu
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:enabled="true" android:id="@id/home_tab" android:orderInCategory="0" android:title="@string/home_tab_name" app:showAsAction="always" app:actionLayout="@layout/tab_view" />
<item android:enabled="true" android:id="@id/discover_tab" android:orderInCategory="1" android:title="@string/discover_tab_name" app:showAsAction="always" app:actionLayout="@layout/tab_view" />
<item android:enabled="true" android:id="@id/dummy_tab" android:orderInCategory="2" android:title="@null" app:showAsAction="always" app:actionLayout="@layout/tab_view_dummy" />
<item android:enabled="true" android:id="@id/browse_tab" android:orderInCategory="3" android:title="@string/browse_tab_name" app:showAsAction="always" app:actionLayout="@layout/tab_view" />
<item android:enabled="true" android:id="@id/account_tab" android:orderInCategory="4" android:title="@string/account_tab_name" app:showAsAction="always" app:actionLayout="@layout/tab_view" />
</menu>

The layout for the bottom navigation tabs and the label for Account are entirely new, but the label for Home has actually been around for a few versions already. In fact, there have been a number of home-related placeholders for a few versions, and it looks like they're oriented toward home automation. In addition to a few new lines, there were already about a dozen that also clearly belong to the same group.

Quote
<string name="home_tab_all_devices_option" />
<string name="home_tab_coin_on" />
<string name="home_tab_turn_off_all_lights_option" />
<string name="home_tab_turn_on_all_lights_option" />

Already in earlier versions:
<string name="home_tab_add_label" />
<string name="home_tab_coin_add" />
<string name="home_tab_coin_off" />
<string name="home_tab_coin_settings" />
<string name="home_tab_coin_stop" />
<string name="home_tab_groups_shelf_label" />
<string name="home_tab_loading_failed_message" />
<string name="home_tab_no_account_message" />
<string name="home_tab_no_devices_message" />
<string name="home_tab_no_homes_message" />
<string name="home_tab_room_shelf_label" />

As for the Account tab, there's not much to suggest what will be going in there, but I can't help but think it will probably be a single unified location for managing accounts linked with various services.

Home automation

Continuing on the subject of home automation, there are some new strings pointing to having an in-app controller for some of your connected lights, thermostats, and probably much more.

Most of the new lines are pretty predictable, including options to turn lights on or off, and enabling or disabling the heating and cooling modes on a thermostat. Two lines also reveal that there will be sliders for percentage and degrees, so Google Home won't just work like a basic light switch, we should also be able to count on slightly more granular controls. There are also new layouts, including one with 'plug' in the name, which means it will probably also support generic outlet-style controllers.

Quote
<string name="remote_control_power_state_on">On</string>
<string name="remote_control_power_state_off">Off</string>

<string name="remote_control_slider_degree_label_format">%.0f°</string>
<string name="remote_control_slider_percentage_label_format">%.0f%%</string>

<string name="remote_control_thermostat_mode_heat_cool">Heat/Cool mode</string>
<string name="remote_control_thermostat_mode_cool">Cool mode</string>
<string name="remote_control_thermostat_mode_heat">Heat mode</string>
<string name="remote_control_thermostat_mode_other">Other mode</string>
<string name="remote_control_thermostat_mode_off">Off</string>
<string name="remote_control_updating">Updating, please wait…</string>

New layouts:
/layout/remote_control_arc_composite_description.xml
/layout/remote_control_arc_composite.xml
/layout/remote_control_mode_sheet_item.xml
/layout/remote_control_mode_sheet.xml
/layout/remote_control_plug.xml
/layout/remote_control_thermostat.xml

There are also quite a few new placeholders with "device_inline" in the name that are used by the "home management" code. Two of these lines are for lock and unlock, which I assume to be for doors. However, most of the lines are dedicated to common commands for TVs and video playback: Mute/unmute, pause/resume/stop, and on/off.

Quote
<string name="device_inline_action_lock" />
<string name="device_inline_action_unlock" />

<string name="device_inline_action_mute" />
<string name="device_inline_action_unmute" />

<string name="device_inline_action_pause" />
<string name="device_inline_action_resume" />
<string name="device_inline_action_stop" />

<string name="device_inline_action_turn_on" />
<string name="device_inline_action_turn_off" />

Google already provides basic playback controls in casting notifications, and you can get more controls in the Google Home app if you manually open it. Also, as we just discovered, casting notifications will also become a direct shortcut to either the Google Home app or a more suitable app if possible.

With the addition of some controllers for more types of devices, the Google Home app could also become a more central and usable method to manage everything around the house. Sounds mighty similar to what we expected from [email protected] a few years ago. Better late than never, right?

Captions, Enhanced

This one is a bit harder to explain, but the largest portion of new strings in this update are dedicated to captions. You can easily find settings in most of YouTube's apps for turning on and configuring captions (shown above). Play Movies and YouTube allow you to pick a text size and a caption style, along with the preferred language.

What's interesting in the Google Home app is that there are many more settings than what you'll find in other Google apps. These include:

  • Font family with options like Casual, Cursive, monospace, and proportional typefaces.
  • Text size (same as above).
  • Common color pairs for foreground and background (same as above), but also custom color pairs with optional translucency of both the text and background.
  • Corrections for certain types of color blindness: Deuteranomaly (red-green), Protanomaly (red-green), Tritanomaly (blue-yellow)
  • Edge styles for the background, including drop shadow, depressed, raised, and outline.
Quote
<string name="settings_accessibility_captions_enabling_label">Use captions for:</string>
<string name="settings_accessibility_custom_cc_background_options_label">Background</string>
<string name="settings_accessibility_custom_cc_font_options_label">Font</string>
<string name="settings_accessibility_custom_cc_window_options_label">Window</string>
<string name="settings_accessibility_standard_cc_options_label">Standard options</string>

<string name="caption_preview_text">Captions will look like this</string>
<string name="caption_preview_short_text">Aa</string>

<string name="accessibility_setting_caption_background_color_title">Background color</string>
<string name="accessibility_setting_caption_background_opacity_title">Background opacity</string>
<string name="accessibility_setting_caption_edge_style_title">Font style</string>
<string name="accessibility_setting_caption_font_color_title">Font color</string>
<string name="accessibility_setting_caption_font_family_title">Font type</string>
<string name="accessibility_setting_caption_font_opacity_title">Font opacity</string>
<string name="accessibility_setting_caption_font_size_title">Font size</string>
<string name="accessibility_setting_caption_font_style_title">Caption style</string>
<string name="accessibility_setting_caption_window_color_title">Window color</string>
<string name="accessibility_setting_caption_window_opacity_title">Window opacity</string>
<string name="accessibility_setting_closed_captions_subtitle">Turn on and customize</string>
<string name="accessibility_setting_color_correction_title">Color correction</string>
<string name="accessibility_setting_color_inversion_subtitle">Invert colors shown on screen</string>
<string name="accessibility_setting_color_inversion_title">Color inversion</string>
<string name="accessibility_setting_enable_cc_for_assistant_title">Assistant\'s voice</string>
<string name="accessibility_setting_enable_cc_for_media_title">Video content</string>
<string name="accessibility_setting_high_contrast_text_subtitle">Makes text easier to read</string>
<string name="accessibility_setting_high_contrast_text_title">High contrast text</string>
<string name="accessibility_setting_magnification_subtitle">Magnify the screen with triple-tap</string>
<string name="accessibility_setting_magnification_title">Magnify Screen</string>

<string name="caption_font_size_very_small">Very small</string>
<string name="caption_font_size_small">Small</string>
<string name="caption_font_size_normal">Normal</string>
<string name="caption_font_size_large">Large</string>
<string name="caption_font_size_very_large">Very large</string>
<string name="caption_font_size_custom">Custom</string>

<string name="caption_style_white_on_black">White on black</string>
<string name="caption_style_black_on_white">Black on white</string>
<string name="caption_style_cyan_on_black">Cyan on black</string>
<string name="caption_style_yellow_on_black">Yellow on black</string>
<string name="caption_style_yellow_on_blue">Yellow on blue</string>
<string name="caption_style_custom">Custom</string>

<string name="color_black">Black</string>
<string name="color_blue">Blue</string>
<string name="color_cyan">Cyan</string>
<string name="color_green">Green</string>
<string name="color_magenta">Magenta</string>
<string name="color_red">Red</string>
<string name="color_white">White</string>
<string name="color_yellow">Yellow</string>

<string name="color_correction_deuteranomaly">Deuteranomaly (red-green)</string>
<string name="color_correction_protanomaly">Protanomaly (red-green)</string>
<string name="color_correction_tritanomaly">Tritanomaly (blue-yellow)</string>

<string name="edge_style_depressed">Depressed</string>
<string name="edge_style_drop_shadow">Drop shadow</string>
<string name="edge_style_outline">Outline</string>
<string name="edge_style_raised">Raised</string>
<string name="edge_style_none">Default</string>

<string name="font_family_casual">Casual</string>
<string name="font_family_cursive">Cursive</string>
<string name="font_family_small_capitals">Small capitals</string>
<string name="font_family_monospaced_serif">Serif monospace</string>
<string name="font_family_monospaced_sans_serif">Sans-serif monospace</string>
<string name="font_family_proportional_serif">Serif</string>
<string name="font_family_proportional_sans_serif">Sans-serif</string>

I'm not sure if all of these are really meant for users to change or if they'll be limited to internal usage – remember, developers of Cast apps currently have control over caption styles, or they can leave the default. Perhaps users will get the option to override the styles chosen by developers. Whatever the case, there's just so many settings that I can't help but be curious, even though I don't generally care much about captions.

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.

Google Home
Google Home
Developer: Google LLC
Price: Free