US 12,107,816 B2
Interactive components for user collaboration
Yan Zhong Leigh, Kirkland, WA (US); Kyle Patrick Curlett, Seattle, WA (US); Ankur Lal, Seattle, WA (US); Zohaib Rauf, Seattle, WA (US); Sathish Kumar Venkat Rangam, Kirkland, WA (US); Cosmin Catrinescu, Kirkland, WA (US); Jonathan Seth Kaufthal, Seattle, WA (US); Brian Daniel Meersma, Redmond, WA (US); Maya Rodrig, Seattle, WA (US); Humberto Lezama Guadarrama, Redmond, WA (US); Betsy Yu-pui McIntyre, Redmond, WA (US); William Dean Saulnier, Seattle, WA (US); Jiuqing Song, Sammamish, WA (US); Arnavi Mahendra Chheda, Kirkland, WA (US); Yue Ma, Bellevue, WA (US); Leeviana Peng Gray, Bellevue, WA (US); Barnabas James Whitfield, Seattle, WA (US); and Andrei Valentinovich Zenkovitch, Sammamish, WA (US)
Assigned to Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed by Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed on Oct. 7, 2020, as Appl. No. 17/065,416.
Prior Publication US 2022/0109651 A1, Apr. 7, 2022
Int. Cl. H04L 51/42 (2022.01); G06F 3/0482 (2013.01)
CPC H04L 51/42 (2022.05) [G06F 3/0482 (2013.01)] 17 Claims
OG exemplary drawing
 
1. A system comprising:
one or more computer readable storage media; and
program instructions stored on the one or more computer readable storage media that, when executed by at least one processor, cause the at least one processor to:
cause a user interface of a first application to be rendered on a display of a first device;
determine that an interactive component is to be rendered in the user interface of the first application for user interaction with a first user, wherein the user interface comprises static content;
in response to determining that the interactive component is to be rendered in the user interface of the first application:
determine at least one linking parameter for linking the interactive component with interactive content stored in a shared storage;
generate a placeholder of the interactive component to render the placeholder according to the at least one linking parameter by inserting a code indicating the placeholder in-line with the static content in the user interface of the first application according to a selection of a location of the placeholder by the first user;
cause the interactive component to be rendered at the location of the placeholder in the user interface of the first application based on the at least one linking parameter, wherein rendering the interactive component causes display of the interactive content with the static content of the user interface and an edit of the interactive content by the first user prior to sharing the static content with a second user to enable a collaborative interaction with the second user;
update the interactive content within the interactive component with a change to the interactive content made by the second user of a second application in real-time within the interactive component rendered in the user interface of the first application, wherein the second user is distinct from the first user;
cause the at least one processor to provide, to the shared storage, an indication of the change to the interactive content made in the user interface of the second application, wherein the interactive content stored in the shared storage is updated to reflect the change to the interactive content:
display an in-line indicator in the interactive content identifying the second user as changing the interactive content, in real-time;
receive an indication of a further change to the interactive content of the interactive component by the first user;
update the interactive content of the interactive component with the further change in the shared storage; and
cause the at least one processor to, in connection with updating the interactive content of the interactive component in the shared storage, cause the further change to the interactive content to be displayed to the second user by the second application.