Define "irrelevant entries". The search function searches substrings. Your approach would mean, if "Jon" is searched, and "Jon Doe" is in local addressbook, then "Jon Postel" in the LDAP doesn't need to be searched. Or I misunderstood you. Also, the search traffic is the same. One LDAP query returns all data in one big stream. The LDAP server filters due to a search specification, of course. But still, the decision "matches my search, but irrelevant" can only be made locally (and thus needs the traffic). Thanks for your thoughts (also the part I didn't quote). Ideas are welcome! J.
Correct, but timing and acknowledgment can also be included as part of the lookup. For example, if I type in "Jon" it could instantly autocomplete to "Jon Doe" if "Jon Doe" is the only Jon in my local addressbook. But, if I wait a second or two without pressing enter (without acknowledging that Jon Doe is the correct person) it could then do an LDAP search and provide a list of other Jons to choose from via LDAP. I'm not sure if that's technically how Mozilla/Thunderbird actually work, but on the surface that's how it appears to work. It might just be that the local addressbook is a quicker query so those entries show up first. In any case I believe it's a pretty good design and found that it's very easy for non-technical users to quickly figure out. -Brian