IP Library Granted Patent US 12,489,815
Granted Patent B1
US 12,489,815 · App. 18/470,077 · Granted Dec 2, 2025

Toolbox and context for user interactions

Inventors: Miao Ren (Sunnyvale, CA); Connor A. Smith (San Mateo, CA); Bruno M. Sommer (Sunnyvale, CA); Tucker B. Morgan (Sunnyvale, CA)
Assignee: Apple Inc.
H04L67/131G06T19/006H04L67/1095H04L67/30H04L67/535
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,489,815
App. No.
18/470,077
Granted
Dec 2, 2025
Kind
B1
Abstract

Facilitating collaboration in a multi-user communication session may include, at a first device, providing a toolkit of system-level tools for interacting within the session with a second device. A first user interaction with a first tool is detected which results in a virtual modification to an environment of the first device. In response to the first user interaction, the virtual modification is provided for presentation in a second environment representation of the session corresponding to the second device.

Claims (55)

1 . A method for facilitating collaboration in a multi-user communication session, comprising:

detecting, at a first electronic device, an inconsistent environment representation of a multi-user communication session in which a first user of the first electronic device and a second user of a second electronic device are active, wherein a first location of a shared virtual element in a first environment representation at the first electronic device differs from a second location of the shared virtual element in a second environment representation at the second electronic device;

in response to detecting the inconsistent environment representation, launching a system-level toolkit comprising a plurality of system-level tools for generating virtual modifications within the multi-user communication session, wherein the system-level toolkit is accessible to multiple applications executing on the first electronic device; and

in response to detecting a first user interaction between the shared virtual element and a first tool in the system-level toolkit by the first user, providing, to the second electronic device, an indication of a virtual modification corresponding to the first user interaction and the shared virtual element to the second electronic device, wherein virtual modification is presented at the second location at the second electronic device in accordance with the indication of the shared virtual element.

2 . The method of claim 1 , wherein the inconsistent environment representation occurs when spatial truth is lost between a first graphical representation of the multi-user communication session presented at the first electronic device and a second graphical representation of the multi-user communication session presented at the second electronic device.

3 . The method of claim 2 , wherein the first graphical representation of the multi-user communication session at the first electronic device corresponds to a different perspective of the multi-user communication session than the second graphical representation of the multi-user communication session.

4 . The method of claim 2 , wherein the first graphical representation of the multi-user communication session comprises a first spatial relationship between the first user, a representation of the second user, and the shared virtual element,

wherein the second graphical representation of the multi-user communication session comprises a second spatial relationship between a representation of the first user, the second user, and the shared virtual element, and

wherein the first spatial relationship is different than the second spatial relationship.

5 . The method of claim 4 , further comprising:

determining a transformation between the first spatial relationship and the second spatial relationship,

wherein the virtual modification is rendered at the second electronic device according to the determined transformation.

6 . The method of claim 1 , wherein providing the system-level toolkit further comprises:

determining, based on the detected inconsistent representations of the shared virtual element, one or more preferred system-level tools; and

presenting the system-level toolkit such that the preferred system-level tools are displayed first.

7 . The method of claim 1 , wherein providing the system-level toolkit comprises:

detecting a second user interaction with the first tool in the system-level toolkit in association with an application, wherein the second user interaction causes a second virtual modification within the multi-user communication session; and

in response to detecting the second user interaction, providing an indication of the second virtual modification to the second electronic device.

8 . A non-transitory computer readable medium comprising computer readable code executable by one or more processors to:

detect, at a first electronic device, an inconsistent environment representation of a multi-user communication session in which a first user of the first electronic device and a second user of a second electronic device are active, wherein a first location of a shared virtual element in a first environment representation at the first electronic device differs from a second location of the shared virtual element in a second environment representation at the second electronic device;

in response to detecting the inconsistent environment representation, launch a system-level toolkit comprising a plurality of system-level tools for generating virtual modifications within the multi-user communication session, wherein the system-level toolkit is accessible to multiple applications executing on the first electronic device; and

in response to detecting a first user interaction between the shared virtual element and a first tool in the system-level toolkit by the first user, provide, to the second electronic device, an indication of a virtual modification corresponding to the first user interaction and the shared virtual element to the second electronic device, wherein virtual modification is presented at the second location at the second electronic device in accordance with the indication of the shared virtual element.

9 . The non-transitory computer readable medium of claim 8 , wherein the inconsistent environment representation occurs when spatial truth is lost between a first graphical representation of the multi-user communication session presented at the first electronic device and a second graphical representation of the multi-user communication session presented at the second electronic device.

10 . The non-transitory computer readable medium of claim 9 , wherein the first graphical representation of the multi-user communication session at the first electronic device corresponds to a different perspective of the multi-user communication session than the second graphical representation of the multi-user communication session.

11 . The non-transitory computer readable medium of claim 9 , wherein the first graphical representation of the multi-user communication session comprises a first spatial relationship between the first user, a representation of the second user, and the shared virtual element,

wherein the second graphical representation of the multi-user communication session comprises a second spatial relationship between a representation of the first user, the second user, and the shared virtual element, and

wherein the first spatial relationship is different than the second spatial relationship.

12 . The non-transitory computer readable medium of claim 11 , further comprising computer readable code to:

determine a transformation between the first spatial relationship and the second spatial relationship,

wherein the virtual modification is rendered at the second electronic device according to the determined transformation.

13 . The non-transitory computer readable medium of claim 8 , wherein the computer readable code to provide the system-level toolkit further comprises computer readable code to:

determine, based on the detected inconsistent representations of the shared virtual element, one or more preferred system-level tools; and

present the system-level toolkit such that the preferred system-level tools are displayed first.

14 . The non-transitory computer readable medium of claim 8 , wherein the computer readable code to provide the system-level toolkit further comprises computer readable code to:

detect a second user interaction with the first tool in the system-level toolkit in association with an application, wherein the second user interaction causes a second virtual modification within the multi-user communication session; and

in response to detecting the second user interaction, provide an indication of the second virtual modification to the second electronic device.

15 . A system comprising:

one or more processors; and

one or more computer readable media comprising computer readable code executable by the one or more processors to:

detect, at a first electronic device, an inconsistent environment representation of a multi-user communication session in which a first user of the first electronic device and a second user of a second electronic device are active, wherein a first location of a shared virtual element in a first environment representation at the first electronic device differs from a second location of the shared virtual element in a second environment representation at the second electronic device;

in response to detecting the inconsistent environment representation, launch a system-level toolkit comprising a plurality of system-level tools for generating virtual modifications within the multi-user communication session, wherein the system-level toolkit is accessible to multiple applications executing on the first electronic device; and

in response to detecting a first user interaction between the shared virtual element and a first tool in the system-level toolkit by the first user, provide, to the second electronic device, an indication of a virtual modification corresponding to the first user interaction and the shared virtual element to the second electronic device, wherein the virtual modification is presented at the second location at the second electronic device in accordance with the indication of the shared virtual element.

16 . The system of claim 15 , wherein the inconsistent environment representation occurs when spatial truth is lost between a first graphical representation of the multi-user communication session presented at the first electronic device and a second graphical representation of the multi-user communication session presented at the second electronic device.

17 . The system of claim 16 , wherein the first graphical representation of the multi-user communication session comprises a first spatial relationship between the first user, a representation of the second user, and the shared virtual element,

wherein the second graphical representation of the multi-user communication session comprises a second spatial relationship between a representation of the first user, the second user, and the shared virtual element, and

wherein the first spatial relationship is different than the second spatial relationship.

18 . The system of claim 17 , further comprising computer readable code to:

determine a transformation between the first spatial relationship and the second spatial relationship,

wherein the virtual modification is rendered at the second electronic device according to the determined transformation.

19 . The system of claim 15 , wherein the computer readable code to provide the system-level toolkit further comprises computer readable code to:

determine, based on the detected inconsistent representations of the shared virtual element, one or more preferred system-level tools; and

present the system-level toolkit such that the preferred system-level tools are displayed first.

20 . The system of claim 14 , wherein the computer readable code to provide the system-level toolkit further comprises computer readable code to:

detect a second user interaction with the first tool in the system-level toolkit in association with an application, wherein the second user interaction causes a second virtual modification within the multi-user communication session; and

in response to detecting the second user interaction, provide an indication of the second virtual modification to the second electronic device.

Continuity (2)
Continuation 17317205 · May 11, 2021
Provisional Application 63022943 · May 11, 2020
References Cited (65)
US 5689669A · Lynch · 1997 [cited by examiner]
US 6002853A · de Hond · 1999 [cited by examiner]
US 6119147A · Toomey · 2000 [cited by examiner]
US 6219045B1 · Leahy · 2001 [cited by examiner]
US 6243091B1 · Berstis · 2001 [cited by examiner]
US 6271843B1 · Lection · 2001 [cited by examiner]
US 6362817B1 · Powers · 2002 [cited by examiner]
US 6396522B1 · Vu · 2002 [cited by examiner]
US 6414679B1 · Miodonski · 2002 [cited by examiner]
US 6570563B1 · Honda · 2003 [cited by examiner]
US 6573903B2 · Gantt · 2003 [cited by examiner]
US 6590593B1 · Robertson · 2003 [cited by examiner]
US 6621508B1 · Shiraishi · 2003 [cited by examiner]
US 6690393B2 · Heron · 2004 [cited by examiner]
US 6784901B1 · Harvey · 2004 [cited by examiner]
US 6961055B2 · Doak · 2005 [cited by examiner]
US 7382288B1 · Wilson · 2008 [cited by examiner]
US 7414629B2 · Santodomingo · 2008 [cited by examiner]
US 7467356B2 · Gettman · 2008 [cited by examiner]
US 7653877B2 · Matsuda · 2010 [cited by examiner]
US 7663625B2 · Chartier · 2010 [cited by examiner]
US 7746343B1 · Charaniya · 2010 [cited by examiner]
US 7788323B2 · Greenstein · 2010 [cited by examiner]
US 7814429B2 · Buffet · 2010 [cited by examiner]
US 7817150B2 · Reichard · 2010 [cited by examiner]
US 7844724B2 · Van Wie · 2010 [cited by examiner]
US 9740293B2 · Kramer · 2017 [cited by applicant]
US 10242501B1 · Pusch · 2019 [cited by applicant]
US 10389766B2 · Zhou · 2019 [cited by examiner]
US 10403050B1 · Beall · 2019 [cited by applicant]
US 10721280B1 · Heppner · 2020 [cited by examiner]
US 10780349B2 · Hrinčár · 2020 [cited by examiner]
US 20010018667A1 · Kim · 2001 [cited by examiner]
US 20020095463A1 · Matsuda · 2002 [cited by examiner]
US 20020113820A1 · Robinson · 2002 [cited by examiner]
US 20030177187A1 · Levine · 2003 [cited by applicant]
US 20050093719A1 · Okamoto · 2005 [cited by examiner]
US 20050128212A1 · Edecker · 2005 [cited by examiner]
US 20080235570A1 · Sawada · 2008 [cited by examiner]
US 20120056992A1 · Kuroda · 2012 [cited by examiner]
US 20120233555A1 · Psistakis · 2012 [cited by examiner]
US 20130290233A1 · Ferren · 2013 [cited by applicant]
US 20140002443A1 · Cunningham · 2014 [cited by examiner]
US 20160030835A1 · Argiro · 2016 [cited by applicant]
US 20160071320A1 · Smith · 2016 [cited by applicant]
US 20160093108A1 · Mao · 2016 [cited by applicant]
US 20160378861A1 · Eledath · 2016 [cited by applicant]
US 20170064214A1 · Zhang · 2017 [cited by examiner]
US 20180005443A1 · Poulos · 2018 [cited by applicant]
US 20180061132A1 · Lanier · 2018 [cited by applicant]
US 20180095617A1 · Valdivia · 2018 [cited by examiner]
US 20180300433A1 · Maxam · 2018 [cited by applicant]
US 20190019022A1 · Marda · 2019 [cited by applicant]
US 20190057529A1 · Diverdi · 2019 [cited by applicant]
US 20190066387A1 · Grossmann · 2019 [cited by applicant]
US 20190098255A1 · Bergmann · 2019 [cited by applicant]
US 20190297155A1 · Baumgarten · 2019 [cited by applicant]
US 20190310761A1 · Agarawala · 2019 [cited by applicant]
US 20190313059A1 · Agarawala · 2019 [cited by examiner]
US 20190378333A1 · Castaneda · 2019 [cited by examiner]
US 20200066049A1 · Sun · 2020 [cited by applicant]
US 20200103843A1 · Stump · 2020 [cited by examiner]
US 20210125409A1 · Mirza · 2021 [cited by examiner]
Feick, et al., “Mixed-Reality for Object-Focused Remote Collaboration,” UIST '18 Adjunct, Oct. 14-17, 2018. [cited by applicant]
Teo, et al., “Investigating the use of Different Visual Cues to Improve Social Presence within a 360 Mixed Reality Remote Collaboration,” The 17th International Conference on Virtual-Reality Continuum and its Applicatio… [cited by applicant]