A non-transitory computer-readable storage medium having software instructions stored therein, which, when executed by a processor, cause the processor to receive, from a first electronic device, an annotation of content on a webpage or a software product displayed on a display of the first electronic device, associate the annotation with metadata of the content on the webpage or the software product, and transmit a signal configured to display, on a display of a second electronic device, the annotation and the content of the webpage or the software product based on the metadata associated between the annotation and the content of the webpage or the software product.