24
Aug
icon
Last Updated: August 26th, 2013

A couple of days ago, Google dropped a pretty sweet but surprising late-night update to Google Search with version 2.7.9. You can read about the announced features and download the APK here, if you haven't yet. After the dust settled, I jumped right into the multitude of under-the-hood changes and was able to uncover quite a few things not included in the changelog - both ones that are coming in the future and ones that are already here.

Let's take a look at the new stuff that wasn't mentioned first and then jump to things that may be arriving soon. Teardown season is open, and you're all invited for a ride!

apk-search-teardown

New stuff that's already here

Image downloads

One of the most functional and useful changes is the ability to download images when using image search. The image you are trying to save gets queued up and downloaded in the notification area, just as you'd expect. Here you can see my Note II with Search 2.6 vs the Nexus 4 with Search 2.7:

wm_Screenshot_2013-08-22-01-39-37 wm_Screenshot_2013-08-22-01-40-16

Left: old Search; Right: new Search

Ongoing reminders

Search 2.7 has a new area under Settings -> My Stuff -> Reminders called Ongoing. By default, all your upcoming reminders go to Upcoming and your past ones to Past. So what goes into Ongoing?

As it turns out, this is exactly how the new functionality to remind you about book, album, and TV episode releases is exposed. For example, when browsing Google for "breaking bad," you will see a card with the information about Breaking Bad, along with a new Remind me button. Set it, and the reminder will go straight into your Ongoing reminders section:

8-23-2013 9-45-53 AM

wm_8-23-2013 9-45-38 AM wm_Screenshot_2013-08-23-09-48-00

This weekend in reminders

Reminders now support "This weekend." Search understood this phrase before, but displayed it as one of the upcoming days of the week, whereas now it simply says "Weekend."

<string name="this_weekend">This weekend</string>

wm_Screenshot_2013-08-24-14-22-53 wm_Screenshot_2013-08-22-14-22-38

Left: old Search; Right: new Search

New date/time pickers

Search 2.7 uses new date and time pickers that I personally really love but others hate for some reason. We saw them first in Google Calendar back in May. Props to Ron for spotting this change.

wm_Screenshot_2013-08-24-14-20-14 wm_Screenshot_2013-08-21-15-06-45 wm_Screenshot_2013-08-24-14-20-31 wm_Screenshot_2013-08-22-15-07-35

New Loyalty Programs card?

There is a new Google Now card called Loyalty Programs. Ron found the upcoming Loyalty card functionality in a previous teardown of Search v2.6, and now the card is here. But what does it do? Especially since gift and loyalty cards were cut from Wallet on August 21.

wm_Screenshot_2013-08-22-04-26-15

Next Appointment card now lets you select the calendars you want

Yay, you can now hand-pick only the calendars you want for the Next appointment card and notifications. Awesome:

wm_Screenshot_2013-08-22-04-28-57 wm_Screenshot_2013-08-22-04-28-50

Reminders now have a Remind me in 10 minutes/1 hour button

When a reminder card pops up, you now have the option to snooze it for 10 minutes. Pressing 10 minutes changes the prompt to 1 hour. Handy:

wm_Screenshot_2013-08-22-04-48-07 wm_Screenshot_2013-08-22-04-47-27 wm_Screenshot_2013-08-22-04-48-23

Left: old Search; Middle, Right: new Search

Sound search will no longer hang if you have no connection

If your connection is shaky and you try to identify a song that's playing on the radio around you, the old Search would listen and then hang indefinitely at the end. The new Search will error out right away to avoid the frustration. Here's a test I ran using Airplane mode:

wm_Screenshot_2013-08-22-03-54-52 wm_Screenshot_2013-08-22-03-54-44

Left: old Search; Right: new Search

Translate button changed to Open in Google Translate

The Translate card that pops up when you travel now says Open in Google Translate instead of just Translate. Here's what the old card looked like:

Translate

<string name="open_in_google_translate">Open in Google Translate</string>

(NEW) You can now edit upcoming reminders

Previously, upcoming reminders could only be deleted, whereas now you can both edit and delete them.

(Thanks, Barry!)

wm_Screenshot_2013-08-24-19-24-07 wm_Screenshot_2013-08-24-19-24-26

Left: old Search; Right: new Search

Stuff that may be coming at some point

Custom hotwords

Right now, Google Search can be activated using voice by saying the hotword "Google." It looks like custom hotwords are coming and can even be controlled by adding a file called hotword_prompt.txt somewhere in the language model. I'm not sure what format the file needs to be in, and where it needs to be placed exactly though - I tried a few things but the hotword didn't change. There is also going to be a hotword setting so you can change it directly from the app.

wm_Screenshot_2013-08-24-13-37-07

The current Voice settings in Search 2.7

In Search 2.6, the hotword prompt had Google hardcoded into the string:

<string name="type_or_say_google">Search, or say Google</string>

<string name="prefSummary_hotwordDetector">Say Google to launch voice search.</string>

In Search 2.7, it's now a variable:

<string name="type_or_say_hotword">Search, or say %1$s</string>

<string name="prefSummary_hotwordDetector">Say <xliff id="hotword_prompt" example="OK Google">%1$s</xliff> to launch voice search.</string>

Here are related new functions:

getHotwordPrompt()

addHotwordPrompt()

And the hotword_prompt.txt-related code snippet:

else if ("hotword_prompt.txt".equals(localFile.getName()))
        localLocaleResourcesImpl.addHotwordPrompt(localFile);

Auto-updating voice recognition language packs

Right now, you can download offline language packs, and they'll sit on your device in the same state, without any updates. Obviously, Google is improving language processing all the time, so it's only natural that they'll want to keep offline recognition updated as well. Auto-updates are coming, and there will even be a separate tab to configure the auto-update settings.

<string name="auto_update_language_packs">Auto-update</string>
<string name="auto_update_never">Do not auto-update languages</string>
<string name="auto_update_any_time">"Auto-update languages at any time. Data charges may apply."</string>
<string name="auto_update_wifi_only">Auto-update languages over Wi-Fi only</string>
<string name="disable_auto_update_prompt_title">Disable auto-update?</string>
<string name="disable_auto_update_prompt_content">Prevent future downloads by disabling automatic updates of all languages</string>

This code will enable the extra settings tab:

if (Feature.LANGUAGE_PACK_AUTO_DOWNLOAD.isEnabled())
     this.mTabsAdapter.addTab(localActionBar.newTab().setText(2131363178), VoiceAutoUpdateRadioButtonFragment.class, new Bundle());

wm_Screenshot_2013-08-24-13-55-39

Multiple choice training questions?

The new Google Search has a lot of new files related to training and asking the user various questions, possibly on the back of Now cards. Some questions are multiple choice and some are yes/no:

  • trainingMultipleChoiceQuestionView
  • trainingQuestionKey
  • trainingTraining
  • trainingTrainingBackOfCardAdapter
  • trainingTrainingQuestion
  • trainingTrainingQuestionManagerImpl
  • trainingTrainingQuestionViewHelper
  • trainingYesNoQuestionView

These puzzle me - some questions are answered locally and some remotely?

  • addServerAnsweredQuestion()
  • addClientAnsweredQuestion()

There are also a bunch of new training-related icons and buttons:

  • btn_training_next, btn_training_no, btn_training_prev, btn_training_yes
  • ic_action_info_training
  • ic_training_add, ic_training_biking, ic_training_driving, ic_training_edit, ic_training_hide, ic_training_people, ic_training_public_transit, ic_training_show, ic_training_tempunits, ic_training_walking
  • training_vertical_divider

image

New features being tested

Remember that Feature.LANGUAGE_PACK_AUTO_DOWNLOAD flag I showed you earlier in the auto-update section? There are a whole lot more of these secret flags that enable various hidden things around the app:

FOLLOW_ON = new Feature("FOLLOW_ON", 3, false);
FORCE_EYES_FREE = new Feature("FORCE_EYES_FREE", 4, false);
FORCE_CAR_MODE = new Feature("FORCE_CAR_MODE", 5, false);
LANGUAGE_PACK_AUTO_DOWNLOAD = new Feature("LANGUAGE_PACK_AUTO_DOWNLOAD", 6, false);
LOG_CONTACT_DATA = new Feature("LOG_CONTACT_DATA", 7, false);
REMINDERS_LEAVING_TRIGGER = new Feature("REMINDERS_LEAVING_TRIGGER", 8, false);
REMINDERS_WEEKEND = new Feature("REMINDERS_WEEKEND", 9, true);
SEARCH_HISTORY_IN_APP = new Feature("SEARCH_HISTORY_IN_APP", 10, false);
TEST_FEATURE = new Feature("TEST_FEATURE", 11, false);
TTS_NOVICE_MODE = new Feature("TTS_NOVICE_MODE", 12, false);
TTS_PREFIX_USERNAME = new Feature("TTS_PREFIX_USERNAME", 13, false);
TWO_STEP_DISAMBIG = new Feature("TWO_STEP_DISAMBIG", 14, false);
SHOW_LOGGING_TOASTS = new Feature("SHOW_LOGGING_TOASTS", 15, false);

Some are self-explanatory, some aren't, so I don't know what all of them do. But it's exciting that there's a way to see what's cooking by looking in this area of searchcommon/Feature.java.

I'm especially interested in TWO_STEP_DISAMBIG, which seems to enable a different UI for figuring out which contact you're trying to select when multiple ones match as well as FOLLOW_ON, FORCE_* - hell, I'm interested in all of them.

Debug options

With some help from my new friend Paul Price, we managed to enable some debug options, just for fun. Here are some screenshots:

debug1 debug2 debug3

This is all I have for you today. As you can see, since Ron's no longer with us, I've taken over the teardowns (at least until we find Ron 2.0), and it's my goal to not only continue them here at AP where they started, but make them better, more detailed, and more in-depth than ever before.

Artem Russakovskii
Artem is a die-hard Android fan, passionate tech blogger, obsessive-compulsive editor, bug hunting programmer, and the founder of Android Police.
Most of the time, you will find Artem either hacking away at code or thinking of the next 15 blog posts.

  • Danny365

    Excuse me for the noob question, but is this a Jelly Bean only thing?
    Great post anyway!

    • tylerbrainerd

      Should be an anything that has google now thing

      • akshay7394

        Which is an only-jellybean thing :p

        • tylerbrainerd

          my mistake. I thought some custom roms were technically 4.0 but had google now

    • Danny Holyoake

      It's a Google Now thing. Google Now is a Jelly Bean thing. So, yes. :)

    • Danny365

      Bummer. Thanks for the heads up, guys!

  • http://www.androidpolice.com/ Artem Russakovskii

    Phew.

    • Danny Holyoake

      We really appreciate the work and effort you put into this site, man. Thanks.

      • Chris

        get laid.

        • Metroview

          I'm sure you get all the ladies with that peak there.

          • Chris

            right because looks are soooooo important....

            and FYI that picture is almost 4 months old and i just got a buzz cut. so nice try.

          • King of the Zafferties

            Wow Chris - You got owned. I have been on the interwebs for years and I think this is the first time I have seen someone get so owned in a comment section.

          • Chris

            Na I didn't. even then so does it matter? this isn't middle school kid

          • lem1winks

            Yet your the guy who says get laid like a child... admit it. You got owned

          • george m

            yet you come on here and act like you are in middle school
            you were owned and owned hard. Want some aloe for that burn?

          • george m

            Chris go trolling someplace else. You are a sad sad person

        • Banana mana

          Chris, you need to disappear, just like your hairline has.

    • PhineasJW

      Well done Artem! Much appreciated.

    • http://mavi222.deviantart.com/gallery/ Mavi

      ...

      • http://google.com/+derekross Derek Ross

        No, just a Templar.

    • Zargh

      I like how you made it distinctly your own style. Good work.

    • tyguy829

      I can't believe you found all of this! Ron missed like 75% of it...

    • Trent Callahan

      I have a quick question mate!

      First off, I was literally just hoping for an APK Teardown and I GOT IT and it was totally nerdgasmic! So THANKS. SMILEY FACE TO YOU!(:

      Secondly, my question, ahem.. I entered the giveaway (I know, you're probably thinking something negative) BUT I commented first and then signed up with my email. Does this invalidate my first comment or like, disqualify me or anything?

      Probably a stupid question, but thanks!(:

  • Felipe Pimenta

    Wait, what happened to Ron? I guess I missed something...

    • dextersgenius

      He got a job at Ars!

    • Sam Hollis

      They really should have made a post on the site for folks who don't follow on G+.

      • http://www.androidpolice.com/ Artem Russakovskii

        We should have made a post about someone leaving? I don't see any use in that.

        What does make sense is welcome posts, not farewell ones, and Ron's done one at Ars: arstechnica.com/staff/2013/08/ars-does-android-welcome-ron-amadeo/.

        • Jasonc07

          A farewell post makes sense to me. He was a well loved part of the team and saying goodbye and good luck seems like the nice respectful thing to do. I understand you don't want readers to follow him but still.. Saying there is no use is weird. Really nice job with the tear down by the way. I'm impressed.

          • Chris

            meanwhile some of us have a life

          • Pascal

            It doesn't look like it, you are commenting here all day.

      • Chris

        Theres much more to life then a guy leaving a tech blog....

        • Alex

          Says the guy who wastes his time trolling (miserably) on tech blogs.

          You're telling us to get a life, but dude, look at yourself.

  • Andrew

    That was one nice teardown! Great work!

  • foosion

    Google says I can search my google calendar for things like my next flight or my hotel reservation. Any idea how to turn that on? All the current version searches is gmail. If I ask about a flight and have UA100 in my calendar, it does nothing, but will find a flight if I got a receipt in gmail. http://googleblog.blogspot.com/2013/08/just-ask-google-for-your-flights.html

  • CMM

    I thing this "Ongoing reminder" thing is something locked to the US since I don't have it here in Germany, like most other features...

    • Konrad Koscielniak

      It's not. All you have to do to unlock most of Google Now features is ... set your phone to English and use it in that language.

  • mapsave10

    sad that ron is no longer writing for AP but you definitely did a good job with this article.

    I would say you should try writing "stock android isnt perfect 4.3 edition" these are one of the reason why i read Ap regularly

    • Pierre Gardin

      "Android, please fix this or I'll buy an iPhone"

      • Tony

        Don't worry, he's not serious... even an Amex Black doesn't have a high enough credit limit to pay Apple's extortionate prices...

      • Pierre Gardin

        6 persons don't understand irony.

  • cabbiebot

    Excellent work, Artem! Custom hotword could be fun.

  • Zargh

    "example="OK Google"

    Good to see they're standardizing around "OK [hotword]". Now they just need to decide between themselves whether they want "Google", "Google Now" or the device itself to be the assistant. Depending on who you ask (Search/Android team, Motorola, Glass team) you get three different answers.

    • DJ SPY

      Custom hot word would be nice. I would name my phone KITT. OK KITT, how old is Lebron James?

  • Taco Monster

    Woo! Car mode ! Reminders while leaving!

  • Kris

    Is TV reminders US only? I do not see an option to add reminder when I search Breaking Bad. I'm in Canada.

    • wade_county

      I'm in the US most TV shows worked except for 2. Nurse Jackie and Orange Is The New Black were the only shows that didn't let me set reminders. What's weird House of Cards (another Netflix show) did. =/

    • Luís Fernando

      I'm not in US, I've tried Breaking Bad and The Mentalist and both allow me to add reminders.

  • Barry

    Another change is the Upcoming Reminders in Search Settings can now be edited in all fields - the text of the reminder itself, the time reminder, and the location reminder. Previously, once a Reminder was set up it could only be deleted from Search Settings.

    • http://www.androidpolice.com/ Artem Russakovskii

      Great spot!

  • Wayne Randall

    Judging by this post, we don't need a Ron 2.0; we did lose an Artem 1.1 though.

    Nice work good sir. Keep showin em who's the boss.

  • PamelaLibrarian

    Wow, very thorough!
    So, with this future "hotword" possibility...Should we start dreaming up nicknames for our phones? We should be able to come up with something better than, "Hey, Google," right?

    • akshay7394

      I really really want a hotword to turn my phone off... Saying "Mischief Managed" to turn it off would be so awesome that I don't have the brain capacity to contemplate the device that will do it

      • Jeff Weatherup

        Oh, my...so much this, yes!! Could you imagine trying to decide where to eat or go with your friends, and then all of the sudden saying "I solemnly swear that I am up to no good!" and your phone lights up, ready to search?! I want to live in that world!

        • akshay7394

          ME TOO.

          Thank god, i thought i was the only one. :D It should totally open Google Maps (fade in from plain white :P) when you say that hahahaha.
          And and 'Lumos' to turn the torch off, 'Nox' to turn it off.

          Sigh.

  • mgamerz

    Have you noticed the huge Google Play Services battery usage related to Google Now/Location usage?

    • Siva G

      I am seeing the same in last 2 days. Tried many setting changes, nothing seem to help. Anyone else?

    • Jeff Weatherup

      Oh, then I'm not the only one...!

  • Chris

    Given most android users are nerds in their mothers basements, do they really need reminders? I guess to take showers

    • Tarun Pemmaraju

      wtf man?

      • Chris

        Truth hurts I guess?

  • Banana mana

    I just wish there was a built in browser when you clicked on links.....you know, like the iphone version of google search!!...so strange that it isn't on the android version

    • Chris

      android phones should have chrome installed.

      • akshay7394

        That's a pathetic resolution, when the iPhone app browses the search query itself without needing chrome. It's good for a really quick search, especially.

      • Banana mana

        That's pathetic....

  • Sarath Chandra Gullapalli

    That "Custom Hot-word" feature gets me excited about "Custom phrases as voice commands". More like "Text Dad saying Hello" instead of "Send a text message to Dad Hello"

    • miri

      That would be more of an issue with natural language recognition than with the command.

  • miri

    Strange, I don't have "This weekend" for reminders, but I do have "All day".

    • http://www.androidpolice.com/ Artem Russakovskii

      You have to tell it something with "this weekend" in it, then it'll show up in the dropdown.

  • Martin Thierer

    The whole "training" stuff might be for training the activity detection. You might be able to go through a list of various activities the phone detected - similar to location history in the 6.x maps - and tell google what kind of transport or activity that was.

    That could help the monthly activity summary card which is off by far for me.

  • James Rooney

    Custom hotwords may help with those of us not using English (US) in Google Search. I have to use English (UK) for it to generally understand me, but testing shows that it will at least recognise me saying Google when set to English (US).

  • simeon

    Still cant set reminder for tv show , ( change anguage to english us) still not working.. ?

    • simeon

      I live in Bulgaria , please answer can i use this option ?

  • Aaron Jaeger

    The loyalty program card will be for the new version of Google Wallet. Go look up Google Wallet Objects for more information.

    • http://www.androidpolice.com/ Artem Russakovskii

      Interesting, I've never heard of it until now. So Google pulled support for loyalty cards in Wallet just to re-introduce it again in the future as a more flexible API? Without communicating this to anyone in the cancellation announcement or at all after? Yup, typical Google.

      • Aaron Jaeger

        Actually, I think they did say something about it being improved in the future. In fact, here it is from the email they sent out:

        We're working with retailers on other options for gift and loyalty card redemption within GoogleWallet, and are excited to share them with you soon.

  • boeder

    Can't set a reminder for TV shows, I'm in Saudi Arabia..

  • Jan Mikolajczak

    Hey,

    I don't acutally see the hotword option. i checked and I have the 2,7,9 version of the search up, yet the option is not there in the settings. Could this be due to a national restriction? Or perhaps phone configuration?

    Cheers,
    Jan

    • http://www.androidpolice.com/ Artem Russakovskii

      I believe it's only for the U.S. language model.

      • Jan Mikolajczak

        Well, that's a shame. I could understand it omitting Polish, but UK English? Strange. Hopefully will get expanded soon :)

  • http://www.androidpolice.com/ Artem Russakovskii
Quantcast