1. A machine implemented method comprising: receiving a first user input comprising a search query; displaying, by a data processing system, in a search interface accessible across a plurality of computer application programs, a plurality of results matching the search query, wherein the plurality of results are categorized into a plurality of categories, only a first subset of the plurality of results are displayed for each of the plurality of categories, and each first subset is displayed grouped together in proximity to a displayed representation of a corresponding category; receiving a second user input comprising a selection of one of the displayed representations of the plurality of categories; and in response to the second user input, displaying, in the search interface, a second subset of the plurality of results, wherein the second subset matches the search query and is categorized under the selected category, the second subset is categorized into one or more subcategories of the selected category, and one or more of the results categorized into each subcategory is displayed grouped together in proximity to a displayed representation of a corresponding subcategory.