29. The computer-readable medium of claim 25 , further comprising: receiving from the first user an annotation for the particular resource; storing for the first user, in the bookmark database, the annotation associated with the particular resource identifier; and storing for the second user, in the bookmark database, the annotation associated with the particular resource identifier.
25. A computer-readable non-transitory storage medium encoded with a computer program, the program comprising instructions that when executed by data processing apparatus cause the data processing apparatus to perform operations comprising: storing, in a bookmark database, resource identifiers for a first user; receiving a request by the first user to expose, to a second user, a particular resource identifier that is stored for the first user in the bookmark database; exposing the particular resource identifier to the second user; storing the particular resource identifier for the second user in the bookmark database; receiving a search query from the second user; generating a result set based on searching a global index and resource identifiers that are stored for the second user in the bookmark database, wherein the result set includes the particular resource identifier; and outputting the result set.