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.
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.
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.
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.
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.