19
Dec
ISS029-E-12564

One of the most powerful, albeit underused, features of Android is the ability to get search results directly from within the apps installed on our devices. While there has been a bit of conflict over the so-called Unified Search patent, the fact is, that functionality is alive and well. Ok, it's actually not doing all that great on Android 4.4 - which is to say, it's only working with a few of the many apps that should be searchable.

1148-38795-s6o6DG7F4zEWJyD-upload

If you're new to Android or only ever used an OEM skinned phone, you might not be familiar with what the Android calls Global Search. It's a feature that allows a user to search for keywords and get back results from both the Internet and locally stored content. While it isn't very obvious unless you are looking, it is present and accessible on virtually every device, even Samsung devices where it had once been disabled.

The quickest way to see results is to open Google Now and start typing the name of an app or contact into the search box without hitting enter (you might need to hide the keyboard to see very much below the suggestions). If you look all the way to the bottom of the list, there should be a link called Search Phone (or Tablet) which takes you to the full set of results. Alternatively, you can run your search, drag the bottom bar to the left (yes, it actually slides), tap the More button, and drag the bar again and tap on Phone or Tablet at the farthest right. Like I said, this feature is less visible than it should be. Take a look at these screenshots to get a better idea of what to tap.

Screenshot_2013-12-19-05-46-54Screenshot_2013-12-19-06-45-04Screenshot_2013-12-19-06-45-37
Left: Results are below suggestions, Center+Right: Buttons to press for full results

Symptoms

Most of the apps that include support for returning search results to the operating system are not being detected. A list of those apps can be found at Google Search -> Menu -> Settings -> Phone Search. From that screen, you can choose which apps should be queried in a search. The problem is that almost all of the searchable apps are absent from the list in KitKat. So far, it appears the list of compatible apps is limited to some built-in providers and a few of Google's apps: Chrome (regular and beta), Play Books, Play Movies & TV, and Play Music. However, many of Google's own apps aren't showing up, including Drive and QuickOffice, two that stand to be very useful with this feature.

2013-12-19 12.32.07Screenshot_2013-12-19-04-31-30
Left: Android 4.3, Right: Android 4.4.2, Same apps installed on both

Possible Causes

Unfortunately, there haven't been any indicators for what might cause so many apps to be incompatible. A few theories have turned up, including some suggestions this is a bug introduced while adding support for deep linking. Others have speculated Google may be enforcing a stricter policy about which apps can provide data, but this seems unlikely given that so many of Google's own apps are also not working.

The most telling detail is that some apps like Chrome and Play Music were not on the list until they recently received updates. After doing a teardown of the different versions, I haven't found anything that could explain why the newer versions worked correctly. This does hint that a more complex change may be required for supporting global search.

Workarounds, Solutions, and Fixes?

This is one of those rare instances where I simply have nothing to suggest for end users. I hate to say that, but since nobody has come forward with an explanation, there's not a lot to go on for proposing a cure. Based on the limited evidence, it seems likely Google will have to fix this issue with an update to Android or the Search app. All I can really suggest is visiting the AOSP Issue Tracker and staring this issue so it can gain attention. Remember, don't leave comments there unless they are actually helpful for identifying or solving the problem.

If this turns out to be a change developers will be responsible for fixing on their own, Google is a bit late to releasing updated instructions. Even the sample code from the SDK, SearchableDictionary, suffers from this issue. If you are a developer with an affected app, try experimenting with any ideas you might have, and please post your results.

Wrap-up

Global search is an awesome feature, the kind of thing that should really be easier to spot. For those that use global search extensively, this bug (or intentional change?) is pretty crippling to an otherwise powerful tool. Hopefully this can be quickly resolved with a simple update and won't require the re-jiggering of every app that offers such easy access to data.

Sources: AOSP Issue Tracker, Stack Overflow, XDA

Cody Toombs
Cody is a Software Engineer and Writer with a mildly overwhelming obsession with smartphones and the mobile world. If he’s been pulled away from the computer for any length of time, you might find him talking about cocktails and movies, sometimes resulting in the consumption of both.

  • lbrfabio

    I'm not really sure it's a kitkat bug. I think it's a Google Search bug of some sort.
    I say this because on my HTC One S (cm10.2, jelly bean 4.2.2) if I reset the data of the search app this bug will present even without kitkat.
    Reverting to Google Search 2.x (in /system) the list fill be full of apps even after I update to Google Search 3.x.

    I noticed this first on my Nexus 7 (before kitkat) when I tried the first release of the Search 3.x at the beginning of November

    • XellossMetallium

      I agree. On 4.3 (i9300) since the last updates the phone search has only app, chrome, contacts and play music (play music was not here last time I checked).

  • Iwan

    Is there a reason why the link "Search Phone" (or Tablet) doesn't always show up? Is it because the suggestions are all that there is in the phone?
    Doesn't this make Google's own app "Gesture Search" obsolete, btw? Seems like much easier, faster, and comprehensive than Gesture Search.

  • http://twitter.com/anishbhalerao Anish Bhalerao

    I don't know about the global search thing for sure, but THIS "exchange services" bug has not gone anywhere ever since 4.4 came into the picture.
    Claimed to be fixed in 4.4.1 / 4.4.2, that shit is still here, to keep the phone awake for hours on end, doing NOTHING really.

    • PhineasJW

      I've got the same issue. The battery meltdown is infrequent, but it's still there post 4.2.2, and I get sync errors all the time.

      • http://twitter.com/anishbhalerao Anish Bhalerao

        So do many people I know.
        TBH, I didn't have this issue BEFORE Android 4.4; everything was smooth on Android 4.2, 4.3... No sync issues ever. And then this.

        AP and other websites claimed this issue to be solved by 4.4.1 / 4.4.2, but NOPE.

    • The Motto

      There are known issues with this still yes.. one solution that Moto X users have used is to remove the exchange account, clearing data of the exchange services and rebooting before setting it up again..

      • http://twitter.com/anishbhalerao Anish Bhalerao

        Yeah tried that. Doesn't give.

  • http://www.bordersweather.co.uk/ Andy J

    is it at all possible that this has something to do with the new setting that recently appeared and was most definitely not there approx 3 - 6 months ago. Google Now > Settings > Accounts & Privacy > Search Engine Storage, which lists the same apps that appear in the "Phone Search" section of Google Now (that allow to select and deselect which apps are searchable) - it's like every applicable app now maintains a datastore that Google Now has the ability to sift through, I don't know how the system used to work - but it appears to work differently now suggesting maybe apps need to be updated to make their data available for Google Now? *Disclaimer: Pure speculation on my part.

    • Josh Nickerson

      I think you hit the nail on the head here. Seems awfully strange that those apps would disappear from one place and reappear in another AFTER 4.4, which is the update that introduced that feature.

    • Serge

      It could be related. Universal phone search was part of the Apple vs. Samsung lawsuit that Samsung lost. Apple's patent describes an implementation without an index storage, while the new Google search seems like using some index storage.

  • http://about.me/jovanphilip Jovan Philip

    Seeing as Google Search/Now isn't a part of AOSP, I don't think it has anything to do with Android. This is an app issue.

    • http://www.androidpolice.com/author/cody-toombs/ Cody Toombs

      Google Search just provides the interface, but the background architecture is part of AOSP. Since it's done like this, apps can still provide the same searchable functionality even if OEMs replace the interface and modify how it's accessed.

      That's not to say the issue isn't in the Google Search app as opposed to Android itself, but it's still related to the version of Android.

  • jamesfuston

    Definitely looking forward to the bugs getting flattened on this. Spotlight for my phone? Want.

  • rtreffer

    It's not a bug. It was knowingly "added" by google. There is a commit message removing all the providers. I'm not kidding. Here are the commit

    commit ecf356c15143ab0583c64682de16d94a57f7dd1c
    Author: Mathew Inwood
    Date: Fri Sep 20 13:56:14 2013 +0100

    Remove content provider querying from the search app.

    The global search API that is used for this is being deprecated, since it
    has long been beset by performance problems. Remove all related code from
    the search app.

    Bug: 10487397

    Change-Id: Ifa91b50d784cb469cb39d6008284aa44ff54e62b