Tuesday, November 30, 2010

Contact Search v1.1.0



Contact Search

Contact search works with the standard Google search facility on your Android handset to do a complete search of your contacts.

Whilst the Android OS includes a native contacts search it is, surprisingly for a search company, very limited. If you try search for part of a phone number or address it will not find it.

Contact search, however, will find it. It will search through all the contact fields to find a match for the entry you input.

Be sure to read the following, as there is useful information on getting the best out of the search process.


Install Contact Search as you would any other application from the Android market.

As of v1.1.0 it will prompt you to configure the global search settings, and direct you straight to step 3), below.  If you decide not to set the settings at installation, then you can still follow these instructions to add contact search as a global search provider.

To use contact search, you need to enable it from the search menu. Follow these steps:

1. From the home screen, press the 'search' button.

2. From the search screen, press the 'menu' button and select the 'Search Settings' menu.

3. From the search settings, select the 'Searchable Items' option.

4. From the searchable items, ensure that 'Contact Search' is selected.

5. You can now enter contact search information, and find it!

Search modes

There are two search modes:

Simple search

The phrase entered is searched for in each of the contacts field exactly as written.  For example, if you search for 'Curly Wurly' then it will only find contacts that have 'Curly Wurly' in them.  (Probably not many, unless you work at Cadburys.)

Multi-word search (OR)

This search mode will look for contacts that have any of the phrases in them.  For eample, if you search for 'Curly Wurly' if will find all contacts that have 'Curly' OR 'Wurly'  in them.  (Now you'll find Cadburys and hairdressers.)

Search tips

The search ranking that Google uses on the Android handset means that Contact Searches may not show up in a basic search. See the end of this page for details on the ranking process .

To ensure that contact details are searched for follow the tips below:

  • Search only on contact details by clicking the search icon and selecting the Contact Search icon.
  • Reduce the number of contacts found by searching on full names or numbers
  • (v1.1.0) Simple search is slightly quicker than the multi-word search.
  • (v1.1.0) Reduce the number of search categories.  If you have not notes, then exclude this from the search.  you can always add it back again later.


Here are some things I intend to implement to improve the search process:
  • Ability to have multiple search items, such as name and postcode.  Sort of done in v1.1.0 in that you can enter multiple search terms (currently OR based, but will be AND based too, later).
  • Use the pictures from contacts as icons in the search list, where applicable
  • Regular expression searching
  • Multi-word AND search, so it will find contacts with all phrases in a particular contact field
  • Multi-word searches that work across contact fields.  For example, a contact name and part of a number.  These are in different fields and could help narrow the search even more.
  • Searching for specific words across fields.  Might be implemented as an advanced search form.
  • Search within results to narrow down a search.

Search Performance

On an HTC Desire with Android OS2.2 I can search 250+ contacts in around 1.5 0.6 seconds.  The application now writes a small log file to the system log, so you can see and report this if you think it takes too long.

There is a free application called 'aLogCat' by Jefrey Blattman that can read the log files.  To check the log file, run a search, open aLogCat, press Menu->More->Bottom and look for a FullSearch log message like:

Found 34 records out of 2799 raw entries in 665ms

(Yikes, my 250 contacts are stored as 3K records!)


  • 20101214 v1.1.0 New menu options to control the search more.  Can be used as a stand alone application.
  • 20101206 v1.0.3 Performance improvements to reduce number of records searched.
  • 20101205 v1.0.2 Added stats to logging.
  • 20101130 v1.0.1 Case insensitive search, thanks to Gint for the suggestion
  • 20101130 v1.0 Initial version

No comments:

Post a Comment