18. A system comprising: at least one processor; and a non-transitory computer-readable medium coupled to the at least one processor having instructions stored thereon which, when executed by the at least one processor, causes the at least one processor to: receive an indication that a user selected a user recommendation control in an application running on a user device, the application including a plurality of components; traverse a view hierarchy of the application to determine a view of the application containing the selected user recommendation control; determine that the user recommended at least one of the plurality of components of the application based on the view of the application containing the selected user recommendation control; identify a group of components of the application based on the view of the application containing the selected user recommendation control; query the user to select at least one of the group of components applicable to the recommendation; receive from the user, in response to the query, a selection corresponding to at least one of the group of components; generate at least one social annotation based on the selection received from the user; and serve, via a network, the at least one social annotation to a second user device in a format suitable for presentation on the second user device.
18. A system comprising: at least one processor; and a non-transitory computer-readable medium coupled to the at least one processor having instructions stored thereon which, when executed by the at least one processor, causes the at least one processor to: receive an indication that a user selected a user recommendation control in an application running on a user device, the application including a plurality of components; traverse a view hierarchy of the application to determine a view of the application containing the selected user recommendation control; determine that the user recommended at least one of the plurality of components of the application based on the view of the application containing the selected user recommendation control; identify a group of components of the application based on the view of the application containing the selected user recommendation control; query the user to select at least one of the group of components applicable to the recommendation; receive from the user, in response to the query, a selection corresponding to at least one of the group of components; generate at least one social annotation based on the selection received from the user; and serve, via a network, the at least one social annotation to a second user device in a format suitable for presentation on the second user device. 19. The system of claim 18 , wherein the at least one processor is further caused to: responsive to identifying the group of components based on the view of the application containing the selected user recommendation control, generate a user interface screen identifying the group of components; and provide the user interface screen for presentation to the user.