1. A computer-implemented method, comprising: identifying, by one or more computing devices, a plurality of content component identifiers for an application running on a user computing device, each of the plurality of content component identifiers identifying a respective one of a plurality of separate content components presented by the application, wherein the plurality of separate content components include at least two different types of content including portions of text, media, images, or chat interfaces that are simultaneously presented within the application; receiving, by the one or more computing devices and through a first user interface of the application, an indication that a user recommended the application that is running on the user computing device and that presents the plurality of separate content components simultaneously; in response to receiving the indication that the user recommended the application: generating, by the one or more computing devices and in response to receiving the indication, a recommendation intent query in a second user interface, wherein the generated recommendation intent query: presents a list of the plurality of content component identifiers of the plurality of separate content components that were simultaneously presented by the application when the user recommended the application; and enables the user to choose, from the list of the plurality of content component identifiers, a given content component identifier that identifies a given content component that contributed to the user recommendation of the application; and transmitting the recommendation intent query for presentation at the user computing device; receiving, in response to presentation of the recommendation intent query and from the user computing device that presents the second user interface, an indication of user selection of at least one of the plurality of content component identifiers from the list of the plurality of content component identifiers that were presented by the recommendation intent query; generating, by the one or more computing devices and based on the user recommendation of the application by the user and the user selection of the at least one of the plurality of content component identifiers, a social annotation that communicates the recommendation of the application and any of the plurality of separate content components of the application that the user selected, from the list of the plurality of content component identifiers, as having contributed to the user recommendation of the application; and serving, by the one or more computing devices and via a network, the at least one social annotation to a second user computing device in a format suitable for presentation on the second user computing device.
1. A computer-implemented method, comprising: identifying, by one or more computing devices, a plurality of content component identifiers for an application running on a user computing device, each of the plurality of content component identifiers identifying a respective one of a plurality of separate content components presented by the application, wherein the plurality of separate content components include at least two different types of content including portions of text, media, images, or chat interfaces that are simultaneously presented within the application; receiving, by the one or more computing devices and through a first user interface of the application, an indication that a user recommended the application that is running on the user computing device and that presents the plurality of separate content components simultaneously; in response to receiving the indication that the user recommended the application: generating, by the one or more computing devices and in response to receiving the indication, a recommendation intent query in a second user interface, wherein the generated recommendation intent query: presents a list of the plurality of content component identifiers of the plurality of separate content components that were simultaneously presented by the application when the user recommended the application; and enables the user to choose, from the list of the plurality of content component identifiers, a given content component identifier that identifies a given content component that contributed to the user recommendation of the application; and transmitting the recommendation intent query for presentation at the user computing device; receiving, in response to presentation of the recommendation intent query and from the user computing device that presents the second user interface, an indication of user selection of at least one of the plurality of content component identifiers from the list of the plurality of content component identifiers that were presented by the recommendation intent query; generating, by the one or more computing devices and based on the user recommendation of the application by the user and the user selection of the at least one of the plurality of content component identifiers, a social annotation that communicates the recommendation of the application and any of the plurality of separate content components of the application that the user selected, from the list of the plurality of content component identifiers, as having contributed to the user recommendation of the application; and serving, by the one or more computing devices and via a network, the at least one social annotation to a second user computing device in a format suitable for presentation on the second user computing device. 3. The method of claim 1 , further comprising: generating, by the one or more computing devices, at least one component reference table based on the plurality of content component identifiers, the at least one component reference table including, for each of the plurality of content component identifiers, which of the plurality of separate content components of the application is identified by the content component identifier; storing, by the one or more computing devices, the at least one component reference table for the application; and mapping, by the one or more computing devices, each of the plurality of separate content components to a respective one of the plurality of content component identifiers included in the at least one component reference table to the application.