Contextual space and focus mode

By using workspaces to store and restore application status and location information in a 3D extended real environment, the configuration time-consuming problem of users when switching between different uses is solved, automated application positioning and environment adaptation are achieved, and user experience is improved.

CN120233872APending Publication Date: 2025-07-01APPLE INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411943516.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2024-12-03
Filing Date
2024-12-27
Publication Date
2025-07-01

AI Technical Summary

Technical Problem

In a 3D extended reality environment, users need to spend a lot of time manually laying out content to suit different uses, resulting in a time-consuming and cumbersome configuration process.

Method used

By configuring the XR environment using workspace, storing and restoring application status and location information related to previous activities, automatically locate and restore application interfaces, and support manual, date/time/position or focus triggered automatic configuration.

Benefits of technology

It reduces the configuration time when users switch between different uses, improves the user experience, and realizes rapid application recovery and intelligent environment adaptation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120233872A_ABST
    Figure CN120233872A_ABST
Patent Text Reader

Abstract

The invention relates to a contextual space and focus mode. Methods, devices, and systems configure an XR environment using a workspace that stores information from previous activities associated with the workspace. The workspace stores information identifying applications, application states, and application space location / size from the previous activity. The workspaces are not limited to storing information about occupational work uses, for example, they may store information about work, education, entertainment, fitness, and other types of uses. The previous activity may be a user session in which the user manually or semi-manually configures and saves the workspace, or a user session in which the user only uses a workspace that has been created, such as relocating an application, pulling content in the application, etc. Use of the workspace may: (a) be initiated manually; (b) automatically initiating based on date, time, location or other context; or (c) automatically initiate based on the focus being triggered.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure generally relates to a user experience of content within a three-dimensional (3D) environment, such as a 3D extended reality (XR) environment provided by a head-mounted device (HMD). Background Art

[0002] Users of devices that provide a 3D environment (e.g., an XR environment provided by an HMD) may use many different types of content and various combinations of content for different purposes (e.g., daily office work, preparing a work budget report, writing a work presentation, meditation, gaming, fitness, etc.). For a given purpose, a user may spend a significant amount of time arranging the content within the 3D environment (e.g., a specific spatial arrangement for a given type of purpose based on preferences), and may need to repeat such arrangements whenever they use the device for this purpose. Summary of the Invention

[0003] Various specific embodiments disclosed herein include devices, systems, and methods for configuring an XR environment using one or more workspaces that store information from previous activities associated with each workspace. The previous activity may be an initial workspace setup or a change made to the content of the workspace during a previous usage session. The workspace may store information identifying applications, application states, and application spatial locations / sizes from the previous activity. It should be noted that workspaces are not limited to storing information about professional work purposes. For example, they may store information about work, education, entertainment, fitness, and other types of purposes. The previous activity may be a user session in which the user manually or semi-manually configures and saves the workspace, or a user session in which the user only uses a workspace that has already been created, e.g., relocates an application, pulls content within the application, etc. The use of a workspace (e.g., automatically setting up the user's environment for use) may be initiated, for example: (a) manually; (b) automatically based on date, time, location, or other context; or (c) automatically based on a focus being triggered.

[0004] In some embodiments, a processor performs a method by executing instructions stored on a computer-readable medium of an electronic device (e.g., an HMD) having one or more sensors. The method involves determining to use a workspace to configure a 3D XR environment, the workspace storing information based on a previous activity associated with the workspace. The workspace may identify the state of one or more applications associated with the previous activity or 3D spatial positioning information of the user interfaces of the one or more applications during the previous activity. In one example, the previous activity is workspace creation. In this case, the state and 3D position may be based on the state and 3D position of the one or more applications at a moment (e.g., at the end) during the workspace creation activity. In another example, the previous activity is a subsequent use of an already created workspace. In this case, the state and 3D position may be based on the state and 3D position of the one or more applications at a moment (e.g., at the end) during the session. Based on the determination to use the workspace to configure the XR environment, the method involves: positioning the user interfaces of the one or more applications in the XR environment based on the 3D spatial positioning information, restoring the one or more applications to the state of the one or more applications associated with the previous use, or both. In some embodiments, the workspace is triggered (e.g., to configure the user's environment) by an activity such as the user entering a particular physical environment or location or the user switching to a particular type of focused mode (e.g., work, sleep, relax, etc.) on their device.

[0005] According to some embodiments, a device includes one or more processors, non-transitory memory, and one or more programs; the one or more programs are stored in the non-transitory memory and configured to be executed by the one or more processors, and the one or more programs include instructions for performing or causing to perform any of the methods described herein. According to some embodiments, a non-transitory computer-readable storage medium stores instructions that, when executed by one or more processors of a device, cause the device to perform or cause to perform any of the methods described herein. According to some embodiments, a device includes: one or more processors, non-transitory memory, and means for performing or causing to perform any of the methods described herein. BRIEF DESCRIPTION OF THE DRAWINGS

[0006] Thus, the present disclosure can be understood by those of ordinary skill in the art, and a more detailed description can be referred to in aspects of some illustrative embodiments, some of which are shown in the drawings.

[0007] Figure 1 An exemplary electronic device operating in a physical environment is illustrated in accordance with some embodiments.

[0008] Figure 2 According to some specific implementations, Figure 1 A view of an XR environment provided by a device in which a user is positioned and using an application.

[0009] Figure 3 exemplifies that according to some specific implementations, the user later returns to Figure 1 physical environment.

[0010] Figure 4 According to some specific implementations, Figure 3 A view of an XR environment provided by a device in which application locations and content are provided based on application locations and content from previous activities associated with a workspace.

[0011] Figure 5 is a flow chart illustrating a method for locating an application and restoring application content based on a workspace associated with a previous activity, according to some implementations.

[0012] Figure 6 is a block diagram of an electronic device according to some specific implementations.

[0013] As is common practice, the various features shown in the drawings may not be drawn to scale. Therefore, the sizes of the various features may be arbitrarily expanded or reduced for clarity. In addition, some drawings may not depict all components of a given system, method, or device. Finally, throughout the specification and drawings, similar reference numerals may be used to represent similar features. DETAILED DESCRIPTION

[0014] Many details are described in order to provide a thorough understanding of the example implementations shown in the accompanying drawings. However, the accompanying drawings only illustrate some example aspects of the present disclosure and should not be considered limiting. One of ordinary skill in the art will appreciate that other effective aspects and / or variations do not include all of the specific details described herein. In addition, well-known systems, methods, components, devices, and circuits are not described in detail so as not to obscure more relevant aspects of the example implementations described herein.

[0015] Users of devices that provide a 3D environment (e.g., an XR environment provided by an HMD) can use many different types of content and various combinations of content for different purposes (e.g., daily office work, preparing a work budget report, studying, creating, writing a work presentation, meditation, gaming, fitness, etc.). A user can use multiple applications at a given time (or within a single session) to perform a given task or activity. The user can have a preferred spatial arrangement of applications for different tasks, especially in the context of mixed reality (MR) applications, in which the application content is positioned relative to the view of the physical environment around the user (e.g., via see-through video). Configuring such applications each time the user wants to perform the task can be time-consuming or burdensome for the user.

[0016] Some embodiments herein enable a user to configure one or more workspaces. Each workspace can include one or more applications selected by the user, the stored state of each application, the spatial arrangement of the application, or a combination of one or more of these features. For example, one workspace can include a web browser application located six feet directly in front of the user, a word processing application located at a forty-five degree angle to the left of the user and six feet away, and a spreadsheet application located at a forty-five degree angle to the right of the user and six feet away. When the user invokes a particular workspace associated with this spatial configuration (or when the workspace is automatically invoked), these three applications can be automatically opened and positioned at their respective distances and orientations from the user's current location. The workspace can specify how the applications are positioned, oriented, sized, shaped, or otherwise configured, etc. These applications can also be in the same state they were in the last time the workspace was used (e.g., when it was initially created or subsequently used). For example, if the user had a particular document open and scrolled to a particular page in a document editing application, the application can be executed, and the same document is automatically opened and scrolled to that page. In some embodiments, a user is enabled to have multiple workspaces and arrangements of applications for various tasks, and can further be enabled to switch between those workspaces based on activities and tasks during the day, week, etc.

[0017] In some embodiments, the workspace is not associated with a physical location or room. For example, the workspace can be presented in the same layout relative to the user's location (e.g., using a spatial arrangement relative to the user or another reference object). In other embodiments, the workspace is associated with a physical location or room, or the physical environment around the user is considered when spatially positioning an application based on stored spatial arrangement information for that workspace. When a user is in a particular physical location, they may have a preferred spatial arrangement for a given workspace. For example, when using a "work" workspace in the user's home office, they may want a web browser application placed against the back wall of the office, a document editor application to be displayed above their desk, and a spreadsheet application to be displayed on the side wall. When the system detects that the workspace is being invoked in a physical environment with a custom configuration, it can use a location-specific workspace configuration. For example, this can involve using a world-locked spatial arrangement and positioning of the application relative to the coordinate system of the physical environment, without involving a user-centric or reference-object-centric spatial arrangement when positioning the application. If the workspace does not have a custom (e.g., specified, world-locked) arrangement for the physical location, then when the workspace is invoked, the applications can use their distance / orientation offsets from the location of the user or other reference object for presentation.

[0018] In some embodiments, the workspace is associated with a system environment (e.g., a virtual environment), a particular system / virtual environment immersion level, an audio level, or a focus mode (e.g., by the user or automatically). For example, a workspace for a first-person gaming experience can be presented within a virtual environment that surrounds the user with a spatial view (e.g., stars, galaxies, etc.), and such virtual content (e.g., the virtual environment) can replace the user's surrounding environment in the user's current view when the user enters the workspace. The change can be gradual to reduce disorientation or otherwise provide a more comfortable transition into the workspace.

[0019] The various embodiments disclosed herein provide mechanisms for the system to learn and store the location where a user positions an application (e.g., relative to the user, relative to another reference object, or within a particular real or virtual 3D space). In one example, the user designates a workspace that defines the spatial arrangement of a set of one or more applications and turns off their device. When the user later reconnects the device and the workspace is invoked, the applications (e.g., their user interfaces) are restored to the spatial arrangement specified by the workspace, without requiring the user to reposition the applications.

[0020] In some specific implementations, the invocation of a workspace, the positioning of an application based on that workspace, or both are based on the system identifying the user's current environment. For example, in what building or room the user is, where the user is relative to certain types of furniture or objects, what activities the user is currently engaged in or interested in, etc. For example, positioning information from a Global Positioning System (GPS), computer vision, Simultaneous Localization and Mapping (SLAM), or other positioning technologies can be used to identify where the user is or what is in the user's proximity (e.g., in the same room). This information can be used to invoke or implement a workspace. For example, when the user enters their home office, the user's work workspace can be automatically invoked. As another example, if a table is in the user's physical environment, the user's work workspace can be implemented with the applications on the table, otherwise (e.g., if there is no table), when the workspace is invoked, the application can be positioned at a certain distance directly in front of the user's current location. Similarly, the type of environment (e.g., bedroom, office, kitchen, etc.) can be identified, and the invocation or implementation of the workspace can be based on determining that the user is in a specific type of environment, e.g., in any office, any bedroom, any kitchen, etc.

[0021] In some specific implementations, the user actively or intentionally creates a workspace. For example, the user can position, size, and otherwise configure a set of applications and then initiate saving the workspace characteristics to save the configuration as a workspace. In other specific implementations, for example, when certain conditions are identified, the system prompts the user to save the configuration as a workspace. As an example, when the user leaves a physical location after configuring an application, when the user performs another activity indicating the end of setup or configuration, or when the user starts using the application after having spent time configuring it, the system can prompt the user to save the workspace. As an additional example, when the user initiates device shutdown, switches to another task, changes focus, etc., the system can prompt the user to save the workspace. In some specific implementations, the system prompts the user to save the workspace based on detecting the type of application usage (e.g., based on detecting that the application is positioned on the surface of a physical environment). In some specific implementations, the user gives the system permission to automatically create a workspace in certain situations (such as one or more of the above situations).

[0022] In some specific implementations, a workspace is invoked and the application is subsequently positioned within the view of a virtual environment or extended reality (XR) environment having an immersion level at which some (but not necessarily all) portions of the view are virtual. In such instances, the system can provide warnings or other messages to the user that real-world objects may be between the user and the workspace application. For example, there may be a wall between the user and the word processing application user interface, and the user can be warned so that the user can avoid inadvertently contacting the wall.

[0023] The workspace can specify the system environment (e.g., the virtual environment or 3D objects to be included in the environment used by the workspace), the system environment immersion level (e.g., how much the system / virtual environment is shown compared to the real-world environment during the use of the workspace), the audio settings (e.g., what audio content is being played, how loud, from how many virtual speakers, the positions of the virtual speakers), the focus mode (e.g., work, personal, etc.), and other related settings.

[0024] The workspace can specify other settings associated with specific tasks and activities, such as music, sound, mute, distraction settings, lighting, etc. In one example, when writing an email, the user prefers to highly concentrate, and the workspace associated with writing an email may enable a distraction-limiting feature. For example, the feature eliminates ambient sounds or plays a type of music that helps the user concentrate.

[0025] The workspace can specify the use of peripheral devices and hardware devices. For example, when writing a document, the user may prefer to use a physical (e.g., Bluetooth hardware-based) keyboard, and the associated workspace can specify features. When the user enters the workspace, the path can show or highlight the physical keyboard and automatically trigger the keyboard connection, e.g., make a Bluetooth connection.

[0026] In some specific implementations, the workspace is configured to be invoked or implemented using timing criteria. In one example, a specific workspace can be invoked at a specific time of each workday or at a specific time relative to an event (e.g., 30 minutes before bedtime, 1 hour after breakfast). In another example, the workspace can be configured to change according to time requirements. For example, display the email application on the center display for 30 minutes, and then switch to display the spreadsheet application to open a specific spreadsheet in the next 45 minutes, etc.

[0027] In some specific implementations, the workspace is configured to be triggered by shortcuts or other relatively simple user actions (e.g., verbal commands to an AI assistant, etc.). In some specific implementations, the user's focus (e.g., general activity state) is associated with a specific workspace. For example, when the user (e.g., automatically or manually) enters an exercise focus, the associated workspace can be triggered. In some specific implementations, the workspace is invoked or implemented based on a combination of the user's focus and the current environment. For example, if the user enters a work focus state and is in a room with a table, the work workspace can be automatically triggered.

[0028] The workspace can be configured to encourage the user to obtain a desired experience, e.g., maintaining uninterrupted productivity or a flow state, and enabling simple transitions between tasks and activities. The system can be configured to create, invoke, and implement the workspace in a way that minimizes the time and effort required for the user (e.g., using applications in an ideal or custom configuration, appropriate content loaded into the application, etc.) to configure an ideal or custom environment, so that the user is free to spend more time engaging in their desired tasks and activities.

[0029] In some specific implementations, the user's state (e.g., associated with the current activity, current interest, current fatigue level, time of day, etc.) is associated with a focus mode (automatically or manually). The system can be configured to create, invoke, and implement the workspace in a way that takes into account the user's focus or focus change. For example, when the user's focus changes, a workspace change can be initiated, which changes the applications the user is viewing and / or how the applications are configured (e.g., positioned, sized, populated with content, etc.). In one example, as the user's focus changes, one application is emphasized (e.g., enlarged, positioned directly in front of the user, etc.) while another application is de-emphasized (e.g., shrunk, repositioned to the periphery of the user, etc.). In some specific implementations, the number of applications presented to the user depends on the user's workspace or associated focus mode, e.g., reducing the number of applications to a small number (e.g., 1, 2, 3, etc.) when the user enters a focused focus, research focus, etc. In a specific workspace or associated focus mode, applications can be closed or hidden from view.

[0030] Hardware or software input or output mechanisms can be associated with a specific workspace or an associated focus mode. In one example, a user switches to a work focus mode, and that switch triggers a word processing application with the last edited application to be presented in the user interface, and automatically triggers a connection to a Bluetooth keyboard below the user interface. Identifying the hardware keyboard to connect to (and determining the connection to that hardware keyboard) can be based on determining that the device was last used by the user in that workspace or in the associated focus mode and detecting that the keyboard (e.g., in that environment) is available and currently connectable. In some embodiments, the positioning of application content is related to hardware components. In the previous example, the user interface can be positioned to appear a predetermined distance above the keyboard. The user may have pre-set or used the workspace and manually positioned the user interface of the application in a spatial relationship with the hardware (e.g., 6 inches in front of and 10 inches away from the user above the keyboard). The relative spatial arrangement (e.g., relationship with the keyboard) can be stored for the workspace such that when the user later uses the workspace, the user interface can be automatically positioned based on the previous spatial relationship with the hardware (e.g., 6 inches in front of the current position of the keyboard and 10 inches away from the user above the keyboard). The workspace can also store preference information regarding the use of virtual input devices (e.g., virtual keyboards, etc.). For example, when the user has moved away from the hardware keyboard, the workspace can recognize that the user has pulled up the virtual keyboard. This information can be stored in the workspace and used to automatically initiate the display of the virtual keyboard when the user is away from the hardware keyboard in subsequent situations.

[0031] The workspace can store information regarding the expected level of immersion, such as identifying the percentage of the real environment that will be visible versus the virtual environment or specific physical objects that will be visible. For example, the workspace can specify an environment that is primarily virtual, but certain physical objects from the real world are visible in that environment. For example, the user's desk, physical keyboard, and physical mouse can be visible and surrounded by other virtual environments.

[0032] Some specific implementations facilitate the user to create or define a workspace in a way that is intuitive or otherwise easy for the user. In one example, the system recognizes that the user is in a particular environment for performing a particular type of activity. For example, the user is in a home office where notifications are turned off and using an application that the user has spent time or effort locating. Based on recognizing such a context, the system can prompt the user to save the workspace (or the focus associated with the workspace) for future use. It can prompt the user to provide a name for the workspace. The system can prompt the user to specify future context cues that will trigger automatic entry into the workspace, such as recognizing that the user is in the same room at a particular time of day, the user is sitting at a table in the room, etc. Emails, text messages, phone calls, and other communications can also provide context information for determining when to ask the user to save the workspace or automatically re-enter the workspace. For example, whenever the user receives an email or a phone call from their administrator during working hours, the workspace can be automatically triggered.

[0033] The user can specify a focus mode for a particular context (e.g., whenever the user is in their living room between 5 pm and 9 pm). The system can recognize certain application usage (e.g., the user's effort in configuring an application) and / or the repeated location or use of certain applications (e.g., pattern detection), and ask the user if a workspace should be created and associated with the focus mode so that the application or application configuration is automatically provided when the focus is active.

[0034] In some specific implementations, when the user participates in different activities, a given workspace can present applications differently for different scenarios (e.g., in different rooms, at different times of the day). For example, the art creation workspace can present applications at different locations when the user is in the living room (e.g., a color picker on the coffee table, an art canvas application on the wall) compared to when the user is in the basement (e.g., a color picker on the pool table, an art canvas application on an art table). In some specific implementations, the workspace defines the placement of applications based on object or surface type. For example, the art picker is positioned on a horizontal flat surface at least 1 foot above the floor and the art canvas application is positioned on a flat surface that is vertical or within a predetermined angular threshold of vertical. The workspace can configure applications based on the available space, thus balancing the spatial positioning specifications of the workspace with the physical environment in which the workspace is activated. The system can attempt to position applications on flat surfaces or open spaces according to the workspace whenever possible; otherwise, position the application in a way that is as similar as possible to the expected spatial relationship without violating certain constraints, e.g., no application is higher than the ceiling height, no application has a wall between the user and the application, etc. In some specific implementations, the workspace defines positioning rules for spatially positioning, sizing, or otherwise configuring applications.

[0035] Some specific implementations provide one or more user interface features or affordances that the user can select or activate to easily switch between different workspaces. Doing so enables the user to multitask more easily, e.g., switch between different tasks every few minutes or more frequently when necessary, without losing the current spatial layout, configuration, and last used state optimized for the user's different tasks. For example, each workspace can have applications configured for different tasks that the user can switch between. Similarly, if the system crashes or restarts, the user can quickly resume their previous activity by restoring the workspace (e.g., application configuration and related application content / state). User activity can be automatically persisted via the workspace so that the user does not lose application configuration, content, or state when interrupted.

[0036] Some specific implementations provide workspaces that specify audio configuration or content (e.g., 3D position of virtual speakers, volume level, audio content to be played, etc.). In some specific implementations, the 3D position of the virtual speakers is determined based on the audio positioning rules of the workspace (e.g., positioning the speakers in the corners of the room, on the ceiling 5 feet from the user). The user's audio configuration and content can be specified manually by the user or determined automatically based on previous user audio configuration activities.

[0037] The persistent characteristics of an application or content can alternatively be specified by a workspace. For example, a virtual keyboard may be displayed only when the user opens an application in which a text field is active, or may be displayed all the time. Such persistence (or lack thereof) can be specified by the workspace. Persistence can depend on the context. Thus, a given workspace can specify that the virtual keyboard is persistent (always displayed) if the user is in an office-type room, while in other types of rooms the virtual keyboard is not persistent (displayed only when the text field is active).

[0038] Figure 1 An exemplary electronic device 105 operating in a physical environment 100 is shown. In Figure 1 the example, the physical environment 100 is a room that includes a table 120. The electronic device 105 includes one or more cameras, microphones, depth sensors, or other sensors that can be used to capture and evaluate information about the physical environment 100 and the objects therein, as well as information about the user 102 of the electronic device 105. This information about the physical environment 100 or the user 102 can be used to provide visual and audio content or to identify the current location of the physical environment 100 or the location of the user or other objects within the physical environment 100.

[0039] In some specific implementations, a view of an extended reality (XR) environment can be provided to one or more participants (e.g., user 102 and / or other participants not shown) via the electronic device 105 (e.g., a wearable device such as an HMD, a handheld device such as a mobile device, a tablet computing device, a laptop computer, etc.). Such an XR environment can include a view of a 3D environment generated based on camera images and / or depth camera images of the physical environment 100 and a representation of the user 102 based on camera images and / or depth camera images of the user 102. Such an XR environment can include virtual content positioned at a 3D location relative to a 3D coordinate system (e.g., 3D space) associated with the XR environment, which can correspond to the 3D coordinate system of the physical environment 100. Such an XR environment can include virtual content positioned relative to the location of the user 102 or another object in the physical environment.

[0040] In some specific implementations, video (e.g., a pass-through video depicting a physical environment) is received from an image sensor of a device (e.g., device 105). In some specific implementations, a 3D representation of a virtual environment is aligned with a 3D coordinate system of the physical environment. The size of the 3D representation of the virtual environment can be generated based, in particular, on the scale of the physical environment or the positioning of open spaces, floors, walls, etc., such that the 3D representation is configured to be aligned with corresponding features of the physical environment. In some specific implementations, a viewpoint within the 3D coordinate system can be determined based on the position of the electronic device within the physical environment. The viewpoint can be determined based, in particular, on image data, depth sensor data, motion sensor data, etc., which can be retrieved via a virtual inertial odometry (VIO) system, a simultaneous localization and mapping (SLAM) system, etc.

[0041] Figure 2 An example of an XR environment provided by Figure 1 device 105 is illustrated, in which user 102 locates and uses an application. It should be noted that the term "application" generally refers to a content item (executable or non-executable) that can be provided within the XR environment.

[0042] The view 205 of the XR environment includes exemplary user interface elements 230 depicting a user interface of the application (e.g., an example of virtual content) and a drawing 220 of a table 120 (i.e., an example of real content). Providing such a view can involve determining 3D properties of the physical environment 100 and positioning the virtual content, e.g., user interface elements 230, within a 3D coordinate system corresponding to the physical environment 100.

[0043] In this example, the background portion 235 of the user interface element 230 is flat. In this example, the background portion 235 includes aspects of the user interface element 230 that are being displayed other than the feature icons 242, 244, 246, 248. Displaying the background portion of the user interface of an operating system or application as a flat surface can provide various advantages. Doing so can provide an easily understandable or otherwise accessible portion of the XR environment to access the user interface of the application. The user interface element 230 includes various user interface features, including the background portion 235, the icons 242, 244, 246, 248, and the window move icon 250. The icons 242, 244, 246, 248, 250 can be displayed on the flat front surface of the user interface 230. The user interface element 230 can provide the user interface of an application, as illustrated in this example. For illustrative purposes, the user interface element 230 is simplified, and the user interface can actually include any level of complexity, any number of content items, and / or a combination of 2D and / or 3D content. The user interface element can be provided by various types of operating systems and / or applications, including but not limited to messaging applications, web browser applications, content viewing applications, content creation and editing applications, or any other application that can display, present, or otherwise use visual and / or audio content.

[0044] In view 205a of this XR environment, the user interface element 230 is for an application management application (e.g., an application that includes the icons 242, 244, 246, 248 for launching other applications), and the application management application is positioned at a default 3D location relative to Figure 1 the 3D physical environment. In this example, the user uses hand 122 (shown as drawing 222 in Figure 2 views 205a - 205b) to perform various input gestures to reconfigure the user interface element 230 of the application management application and launch, position, and use other applications. As shown in view 205b, the user 102 has repositioned (e.g., to the left) and reduced the size of the user interface element 230 of the application management application such that only the icons 242 and 244 are visible within its boundaries. The user 102 has also launched a document editing application using the icon 246 and positioned the corresponding application user interface 255 above the drawing of the table 220. The user has also positioned the virtual keyboard 275 on the top surface of the drawing of the table 220 and the virtual speaker 265 on the wall of this XR environment (which corresponds to the wall of the physical environment 100). This configuration (e.g., spatial relationships, positioning, size, etc.) is stored in the user's workspace (e.g., a workspace named "Work").

[0045] In addition to configuring the application content as shown in View 205b, User 102 also launches an audio application to start playing music 295 from virtual speaker 265. Additionally, the user also starts using user interface 255 of the document editing application to create a document, for example, typing "English Essay" and "To be or not to be is that the question? The answer may". Information about the content and state of the applications in the workspace is also stored for that workspace, such as identifying the current music being played, the current volume of the music being played, the document opened in user interface 255 of the document editing application (and its current scroll position), including any content the user has added, such as the text mentioned above.

[0046] The workspace can store application configuration information for the applications, such as application location and size information. It can store information about such user interfaces at fixed positions and orientations within the 3D environment. In such a case, after the application is positioned and sized, user movement will not affect the position or orientation of the user interface within the 3D environment. In such a case, user movement will affect the initial position or orientation of the user interface within the 3D environment. User 102 can intentionally (or unintentionally) perform movements that cause the user interface to be repositioned within the 3D environment. For example, a given user interface of an application can maintain its position 3 feet in front of the user's torso and thus move as the user turns and moves around. The workspace can specify the configuration of the application relative to a fixed coordinate system of the environment or relative to another anchor point, such as the user or a specific object in the environment. In some embodiments, some applications are positioned relative to a fixed coordinate system, while other applications are positioned relative to a user or object that can move within the fixed coordinate system.

[0047] In some embodiments, the workspace specifies the orientation of the application relative to a fixed coordinate system or a reference object. For example, the user interface of an application can have a flat portion (e.g., background portion 235), and the workspace specifies that the flat portion will be positioned in a generally orthogonal orientation such that it always generally faces the user's torso, e.g., orthogonal to the direction (not shown) from the user to the user interface. For example, providing such an orientation can involve reorienting the user interface when the user moves and / or when the user provides an input that changes the positioning of the user interface such that the flat portion remains generally facing the user.

[0048] In some embodiments, the workspace designates an initial or default location of one or more applications within the 3D environment (e.g., when the workspace is first launched). This initial / default positioning can be based on the position and orientation of objects (relative to the environment, the user, or other objects) when the workspace was created, last used, or last saved. The workspace can designate positioning rules that consider various criteria, including but not limited to criteria that consider the following: application type, application functionality, content type, content / text size, environment type, environment size, environment complexity, environment lighting, the presence of other people in the environment, the presence of specific objects or object types in the environment, the use of the application by multiple users, user preferences, user input, and numerous other factors.

[0049] Figure 3 Illustrates that user 102 later returns to Figure 1 the physical environment. Figure 4 Illustrates a view 405 of the XR environment provided by Figure 3 device 105, in which the application positioning and content state are provided based on the application positioning and content state from the previous activity associated with the workspace. In view 405, the applications are configured and their content is presented to match Figure 2 the configuration and state of view 205b. This view 405 is provided without the need for user 102 to perform any new application configuration, open / scroll documents, turn on audio, set volume, etc.

[0050] Figure 5 Is a flowchart of a method 500 for configuring applications and restoring application content based on a workspace associated with a previous activity. In some embodiments, a device such as electronic device 105 executes method 500. In some embodiments, method 500 is executed on a mobile device, a desktop computer, a laptop computer, an HMD, or a server device. Method 500 is executed by processing logic (including hardware, firmware, software, or combinations thereof). In some embodiments, method 500 is executed on a processor that executes code stored in a non-transitory computer-readable medium (e.g., memory).

[0051] At block 502, method 500 involves: determining to use a workspace to configure a three-dimensional (3D) extended reality (XR) environment, the workspace storing information based on a previous activity associated with the workspace, the workspace identifying the state of one or more applications associated with the previous activity and 3D spatial positioning information of the user interfaces of the one or more applications during the previous activity. In some instances, the activity is workspace creation, and the state and 3D position can be based on the state and 3D position of the application at the end of the workspace creation activity. In some instances, the activity is a subsequent use of an already created workspace, and the state and 3D position can be based on the state and 3D position of the application at the end of the session.

[0052] At block 504, method 500 involves: performing blocks 506 and 508 according to the determination to use the workspace to configure the XR environment. In block 506, method 500 involves: positioning the user interfaces of the one or more applications in the XR environment based on the 3D spatial positioning information. In block 508, method 500 involves: restoring the one or more applications to the state of the one or more applications associated with the previous use.

[0053] Various types of alternative or additional information can be stored in the workspace. In some embodiments, the workspace stores application size information of the one or more applications based on the size of the one or more applications associated with the previous activity, wherein the size of the application is determined in the XR environment according to the application size information.

[0054] In some embodiments, the workspace stores environment information of the one or more applications based on a virtual 3D environment associated with the previous activity, wherein the XR environment is configured according to the environment information to immerse the one or more applications at least partially within the virtual 3D environment. Before automatically switching to immersion, a warning or other message may be presented or manual input may be required.

[0055] In some embodiments, the workspace stores audio information based on the previous activity, wherein the XR environment is configured to present audio based on the audio information. As an example, the audio information can include volume levels or identify the playback audio. The audio information can identify the 3D position of a spatial audio source, wherein the XR environment is configured to present the audio based on the 3D position of the spatial audio source.

[0056] In some embodiments, the workspace stores hardware attachment information based on the previous activity, wherein the XR environment is configured based on the hardware attachment information. For example, user interface elements can be positioned relative to a physical keyboard, mouse, etc., a virtual keyboard can be overlaid on a real keyboard, and so on.

[0057] The workspace can be triggered for use in various ways. In some specific implementations, the use of the workspace to configure the XR environment is triggered based on the current context meeting the workspace context trigger criteria. The workspace context trigger criteria can require that the HMD be in a specific geographical area; the HMD be in a specific building or campus; the HMD be in a specific room or a specific type of room; the HMD be in a room with one or more specific items (e.g., table, bed, refrigerator, etc.). In some specific implementations, the workspace context trigger criteria require that the current time or date be within a specific time or date range or occur on one or more specific dates. In some specific implementations, the use of the workspace is manually initiated based on user input to trigger the use of the workspace to configure the XR environment. In some specific implementations, the use of the workspace to configure the XR environment is triggered based on determining that a focus or type of focus has been initiated.

[0058] In some specific implementations, the spatial positioning specified by the workspace identifies the 3D position of one or more of the one or more applications relative to the user (e.g., the user's body, the HMD worn by the user, or another reference object). The spatial positioning can be based on the user or device / object when the workspace is launched and then remain fixed. Alternatively, the application can be positioned relative to the user / device / object and continuously change as the user / device / object changes position.

[0059] In some specific implementations, the spatial positioning specified by the workspace identifies the fixed 3D position of one or more of the one or more applications relative to an object (e.g., a table) or object type (e.g., any table).

[0060] In some specific implementations, when the workspace is triggered at a specific location, the positioning of the workspace content is world-locked, but when the workspace is triggered elsewhere or when the workspace does not have an associated physical location, the positioning of the workspace content can be positioned relative to the user. In some embodiments, when the user's position corresponds to a specific location, the spatial application is relative to an object or object type, and when the user's position does not correspond to the specific location, the spatial positioning identifies the 3D position of one or more of the one or more applications relative to the user's position.

[0061] The positioning of the user interface of one or more applications in the XR environment can also be based on scene understanding of the physical environment in which the HMD is operated. Such scene understanding can be based on sensor data obtained via one or more sensors on the HMD.

[0062] A workspace can be initially created and then updated or changed based on, for example, a user's use of the workspace. In some specific implementations, the workspace is created by the user manually specifying application configurations or states. In some specific implementations, the previous activity on which the workspace is based is the initial creation of the workspace, in which the user manually locates or changes the state of the one or more applications. In some specific implementations, the previous activity on which the workspace is based is the use of the workspace after the previous creation and storage of the workspace, where the workspace is changed based on the user manually locating or changing the state of the one or more applications during that use.

[0063] In some specific implementations, method 500 further involves: determining to use a second workspace to transform the XR environment, the second workspace storing information based on a second previous activity associated with the second workspace, the second workspace identifying a second state of one or more applications associated with the second previous activity and second 3D spatial positioning information of the user interfaces of the one or more applications during the second previous activity; and using the second workspace to configure the XR environment.

[0064] In some specific implementations, notifications provided when a user uses a given workspace are restricted based on the workspace, for example, based on notification settings specified by the workspace (such as notification settings that only enable notifications associated with certain applications, people, or sources).

[0065] Figure 6is a block diagram of an electronic device 2000. Device 2000 illustrates an exemplary device configuration of electronic device 105 (or any of the other electronic devices described herein). Although certain specific features are shown, those skilled in the art will recognize from this disclosure that various other features are not shown for the sake of brevity and to not obscure more relevant aspects of the specific implementations disclosed herein. To that end, as a non-limiting example, in some specific implementations, device 2000 includes one or more processing units 2002 (e.g., microprocessors, ASICs, FPGAs, GPUs, CPUs, processing cores, etc.), one or more input / output (I / O) devices and sensors 2006, one or more communication interfaces 2008 (e.g., USB, FIREWIRE, THUNDERBOLT, IEEE 802.3x, IEEE 802.11x, IEEE 802.16x, GSM, CDMA, TDMA, GPS, IR, BLUETOOTH, ZIGBEE, SPI, I2C, and / or similar types of interfaces), one or more programming (e.g., I / O) interfaces 2010, one or more output devices 2012, one or more internal and / or external-facing image sensor systems 2014, a memory 2020, and one or more communication buses 2004 for interconnecting these components and various other components.

[0066] In some specific implementations, one or more communication buses 2004 include circuitry for interconnecting system components and controlling communication between system components. In some specific implementations, one or more I / O devices and sensors 2006 include at least one of the following: an inertial measurement unit (IMU), an accelerometer, a magnetometer, a gyroscope, a thermometer, one or more physiological sensors (e.g., a blood pressure monitor, a heart rate monitor, a blood oxygen sensor, a blood glucose sensor, etc.), one or more microphones, one or more speakers, a haptic engine, or one or more depth sensors (e.g., structured light, time-of-flight, etc.).

[0067] In some specific implementations, one or more output devices 2012 include one or more displays configured to present a view of the 3D environment to a user. In some specific implementations, the one or more displays 2012 correspond to holographic, digital light processing (DLP), liquid crystal display (LCD), liquid crystal on silicon (LCoS), organic light-emitting field-effect transistor (OLET), organic light-emitting diode (OLED), surface-conduction electron-emitter display (SED), field-emission display (FED), quantum dot light-emitting diode (QD-LED), microelectromechanical systems (MEMS), and / or similar display types. In some specific implementations, the one or more displays correspond to diffractive, reflective, polarization, holographic, and other waveguide displays. In one example, device 2000 includes a single display. In another example, device 2000 includes a display for each eye of the user.

[0068] In some specific implementations, one or more output devices 2012 include one or more audio generation devices. In some specific implementations, one or more output devices 2012 include one or more speakers, surround sound speakers, speaker arrays, or headphones for generating spatialized sound (e.g., 3D audio effects). Such devices can virtually place sound sources in the 3D environment, including behind, above, or below one or more listeners. Generating spatialized sound can involve transforming sound waves (e.g., using head-related transfer functions (HRTFs), reverberation, or cancellation techniques) to simulate natural sound waves (including reflections from walls and floors) that emanate from one or more points in the 3D environment. The spatialized sound can induce the listener's brain to interpret the sound as if it were occurring at one or more points in the 3D environment (e.g., from one or more specific sound sources), even though the actual sound may be produced by speakers in other locations. One or more output devices 2012 can additionally or alternatively be configured to generate haptic sensations.

[0069] In some specific implementations, the one or more image sensor systems 2014 are configured to obtain image data corresponding to at least a portion of the physical environment. For example, the one or more image sensor systems 2014 can include one or more RGB cameras (e.g., having complementary metal-oxide semiconductor (CMOS) image sensors or charge-coupled device (CCD) image sensors), monochrome cameras, IR cameras, depth cameras, event-based cameras, etc. In various specific implementations, the one or more image sensor systems 2014 also include an illumination source that emits light, such as a flash. In various specific implementations, the one or more image sensor systems 2014 also include an on-camera image signal processor (ISP) configured to perform multiple processing operations on the image data.

[0070] The memory 2020 includes high-speed random access memory, such as DRAM, SRAM, DDR RAM, or other random access solid-state memory devices. In some specific embodiments, the memory 2020 includes non-volatile memory, such as one or more disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid-state storage devices. The memory 2020 optionally includes one or more storage devices that are remotely located from one or more processing units 2002. The memory 2020 includes non-transitory computer-readable storage media.

[0071] In some specific embodiments, the memory 2020 or the non-transitory computer-readable storage media of the memory 2020 stores an optional operating system 2030 and one or more instruction sets 2040. The operating system 2030 includes processes for handling various basic system services and for performing hardware-related tasks. In some specific embodiments, the instruction set 2040 includes executable software defined by binary information stored in the form of charge. In some specific embodiments, the instruction set 2040 is software that can be executed by one or more processing units 2002 to implement one or more of the techniques described herein.

[0072] The instruction set 2040 includes a workspace and a focus instruction set 2042, which are configured to create, store, modify, or use a workspace and a focus mode when executed, as described herein. The instruction set 2040 may be embodied as a single software executable file or multiple software executable files.

[0073] Although the instruction set 2040 is shown as residing on a single device, it should be understood that in other specific embodiments, any combination of elements may be located in separate computing devices. Additionally, the drawings are more used as a functional description of the various features present in a particular specific embodiment, as opposed to a structural schematic of the specific embodiment described herein. As will be recognized by those of ordinary skill in the art, items shown separately may be combined, and some items may be separated. The actual number of instruction sets and how the features are allocated therein will vary depending on the specific embodiment and may partially depend on the particular combination of hardware, software, and / or firmware selected for the particular specific embodiment.

[0074] It should be understood that the specific embodiments described above are cited by way of example, and the present disclosure is not limited to what has been particularly shown and described above. Instead, the scope includes both combinations and sub-combinations of the various features described above, as well as variations and modifications of the described features that will occur to those skilled in the art upon reading the foregoing description and that are not disclosed in the prior art.

[0075] As described above, one aspect of the present technology is to collect and use sensor data that may include user data to improve the user experience of an electronic device. The present disclosure contemplates that in some instances, the collected data may include personal information data that uniquely identifies a particular person or can be used to identify the interests, characteristics, or inclinations of a particular person. Such personal information data may include movement data, physiological data, demographic data, location-based data, phone numbers, email addresses, home addresses, device characteristics of personal devices, or any other personal information.

[0076] The present disclosure recognizes that the use of such personal information data in the technology of the present invention can be used to benefit users. For example, personal information data can be used to improve the content viewing experience. Therefore, the use of such personal information data may enable planned control of the electronic device. In addition, the present disclosure also anticipates other uses of personal information data that are beneficial to users.

[0077] The present disclosure also contemplates that entities responsible for the collection, analysis, disclosure, transmission, storage, or other uses of such personal information and / or physiological data will comply with established privacy policies and / or privacy practices. Specifically, such entities should implement and adhere to privacy policies and practices that are recognized as meeting or exceeding industry or government requirements for maintaining the privacy and security of personal information data. For example, personal information from users should be collected for legitimate and reasonable purposes of the entity and not shared or sold outside of these legitimate purposes. Additionally, such collection should only be carried out after the user's informed consent. Additionally, such entities should take any necessary steps to safeguard and protect access to such personal information data and ensure that others who have access to personal information data comply with their privacy policies and procedures. Additionally, such entities may subject themselves to third-party assessments to prove their compliance with widely accepted privacy policies and practices.

[0078] Regardless of the foregoing, the present disclosure also contemplates specific implementations where users can selectively block the use or access of personal information data. That is, the present disclosure anticipates that hardware elements or software elements may be provided to prevent or block access to such personal information data. For example, in the case of a content delivery service customized for users, the technology of the present invention can be configured to allow users to choose to "opt-in" or "opt-out" of participating in the collection of personal information data during the registration of the service. In another example, a user can choose not to provide personal information data for a targeted content delivery service. In yet another example, a user can choose not to provide personal information but allow the transmission of anonymous information for improving the functionality of the device.

[0079] Accordingly, while the present disclosure broadly covers using personal information data to implement one or more of the various disclosed embodiments, the present disclosure also contemplates that the various embodiments may be implemented without access to such personal information data. That is, the various embodiments of the present inventive technology will not fail to operate properly due to the lack of all or a portion of such personal information data. For example, preferences or settings may be inferred based on non-personal information data or minimal amounts of personal information such as the content requested by a user-associated device, other non-personal information available to a content delivery service, or publicly available information, and content may be selected and delivered to the user accordingly.

[0080] In some embodiments, a public key / private key system that allows only the owner of the data to decrypt the stored data is used to store the data. In some other specific implementations, the data may be stored anonymously (e.g., without identification and / or personal information about the user, such as legal name, username, time, and location data, etc.). In this way, other users, hackers, or third parties cannot determine the identity of the user associated with the stored data. In some specific implementations, a user may access their stored data from a user device different from the user device used to upload the stored data. In these instances, the user may be required to provide login credentials to access their stored data.

[0081] Numerous specific details are set forth herein to provide a thorough understanding of the claimed subject matter. However, those skilled in the art will understand that the claimed subject matter may be practiced without these specific details. In other instances, methods, devices, or systems known to those of ordinary skill in the art have not been described in detail so as not to obscure the claimed subject matter.

[0082] Unless otherwise specifically stated, it should be understood that throughout the specification, discussions using terms such as "processing," "computing," "computed," "determining," and "identifying" refer to actions or processes of a computing device, such as one or more computers or similar electronic computing devices, that manipulate or transform data represented as physical electronic or magnetic quantities within a memory, register, or other information storage device, transmission device, or display device of a computing platform.

[0083] One or more of the systems discussed herein are not limited to any particular hardware architecture or configuration. A computing device may include any suitable arrangement of components that provide results conditional on one or more inputs. Suitable computing devices include computer systems based on a multi-purpose microprocessor that access stored software that programs or configures the computing system from a general-purpose computing device into a special-purpose computing device that implements one or more specific implementations of the present inventive subject matter. Any suitable programming, scripting, or other type of language or combination of languages may be used to implement the teachings contained herein in the software used to program or configure the computing device.

[0084] Specific implementations of the methods disclosed herein may be performed in the operation of such computing devices. The order of the boxes presented in the above examples may vary; for example, the boxes may be reordered, combined, and / or broken into sub-blocks. Certain boxes or processes may be performed in parallel.

[0085] The use of "configured to" or "adapted to" in this document means open and inclusive language that does not exclude devices that are adapted to or configured to perform additional tasks or steps. Additionally, the use of "based on" is open and inclusive because a process, step, calculation, or other action "based on" one or more recited conditions or values may, in practice, be based on additional conditions or values beyond those recited. The headings, lists, and numbers included in this document are for ease of explanation only and are not intended to be restrictive.

[0086] It will also be understood that although terms such as "first," "second," etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first node may be referred to as a second node, and similarly, a second node may be referred to as a first node, changing the meaning of the description, so long as all occurrences of "first node" are consistently renamed and all occurrences of "second node" are consistently renamed. The first node and the second node are both nodes, but they are not the same node.

[0087] The terms used herein are for the purpose of describing particular implementations only and are not intended to limit the claims. As used in the description of this implementation and the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that the term "and / or" as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items. It will also be understood that the term "comprising," as used in this specification, specifies the presence of the stated features, integers, steps, operations, elements, and / or components, but does not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.

[0088] As used herein, the term "if" may be construed to mean "when the stated precondition is true" or "while the stated precondition is true" or "in response to determining" or "in accordance with determining" or "in response to detecting" the stated precondition is true, depending on the context. Similarly, the phrase "if it is determined that [the stated precondition is true]" or "if [the stated precondition is true]" or "when [the stated precondition is true]" is construed to mean "when it is determined that the stated precondition is true" or "in response to determining" or "in accordance with determining" the stated precondition is true or "when it is detected that the stated precondition is true" or "in response to detecting" the stated precondition is true, depending on the context.

[0089] The foregoing description and summary of the invention should be understood to be illustrative and exemplary in every respect and not restrictive, and the scope of the invention disclosed herein is determined not only by the detailed description of the exemplary embodiments, but by the full breadth permitted by patent law. It should be understood that the specific embodiments shown and described herein are merely illustrative of the principles of the invention and that various modifications may be made by those skilled in the art without departing from the scope and spirit of the invention.

Claims

1. A method comprising: At a head mounted device (HMD) having a processor: Determining to configure a three-dimensional (3D) extended reality (XR) environment using a workspace, the workspace storing information based on a previous activity associated with the workspace, the workspace identifying states of one or more applications associated with the previous activity and 3D spatial positioning information of user interfaces of the one or more applications during the previous activity; and configuring the XR environment using the workspace according to determining: positioning the user interface of the one or more applications in the XR environment based on the 3D spatial positioning information; and The one or more applications are restored to the state of the one or more applications associated with the previous use.

2. The method of claim 1, wherein the workspace further stores application size information of the one or more applications based on the size of the one or more applications associated with the previous activity, wherein the size of the application is determined in the XR environment based on the application size information.

3. A method according to claim 1, wherein the workspace also stores environmental information of the one or more applications based on the virtual 3D environment associated with the previous activity, wherein the XR environment is configured according to the environmental information to make the one or more applications at least partially immersed in the virtual 3D environment.

4. The method of claim 1, wherein the workspace further stores audio information including a volume level or identification of playback audio, wherein the audio information is based on the previous activity, and wherein the XR environment is configured to render audio based on the audio information. 5 . The method of claim 4 , wherein the audio information identifies a 3D position of a spatial audio source, wherein the XR environment is configured to render the audio based on the 3D position of the spatial audio source.

6. The method of claim 1, wherein the workspace further stores hardware accessory information based on the previous activity, wherein the XR environment is configured based on the hardware accessory information (e.g., positioning a UI relative to a physical keyboard, mouse, etc., overlaying a virtual keyboard on a real keyboard). The method of claim 1 , wherein determining to configure the XR environment using the workspace is triggered based on a current context satisfying a workspace context triggering criterion.

8. The method of claim 7, wherein the workspace context triggering criteria requires: The HMD is in a specific geographic area; The HMD is in a specific building or campus; The HMD is in a specific room or type of room; or The HMD is in a room with one or more specific items. 9 . The method of claim 7 , wherein the workspace context trigger criteria requires that the current time or date is within a specific time range or on one or more specific dates. 10 . The method of claim 1 , wherein determining to use the workspace to configure the XR environment is triggered based on user input manually initiating use of the workspace. 11 . The method of claim 1 , wherein determining to configure the XR environment using the workspace is triggered based on determining that a type of focusing has been initiated.

12. The method of claim 1, wherein spatial positioning identifies a 3D position of one or more of the one or more applications relative to a position of a user.

13. The method of claim 1, wherein spatial positioning identifies a fixed 3D position of one or more of the one or more applications relative to an object or object type.

14. The method of claim 1, wherein: When the user's position corresponds to a particular location, the spatial positioning identifies a fixed 3D position of one or more of the one or more applications relative to an object or type of object; and When the location of the user does not correspond to the specific location, the spatial positioning identifies a 3D location of one or more of the one or more applications relative to the location of the user.

15. The method of claim 1, wherein positioning the user interface of the one or more applications in the XR environment is further based on scene understanding of a physical environment in which the HMD is operated, the scene understanding being based on sensor data obtained via one or more sensors on the HMD.

16. The method according to claim 1, further comprising: determining to use a second workspace to transition the XR environment, the second workspace storing information based on a second previous activity associated with the second workspace, the second workspace identifying a second state of one or more applications associated with the second previous activity and second 3D spatial positioning information of user interfaces of the one or more applications during the second previous activity; as well as The XR environment is configured using the second workspace.

17. The method of claim 1, wherein the previous activity is an initial creation of the workspace in which a user manually locates the one or more applications or changes a state of the one or more applications.

18. The method of claim 1, wherein the previous activity is use of the workspace subsequent to previous creation and storage of the workspace, wherein the workspace is changed based on a user manually locating the one or more applications or changing the state of the one or more applications during the use. The method of claim 1 , wherein notifications are limited based on the workspace.

20. A system comprising: Memory; and one or more processors coupled to the memory, wherein the memory includes program instructions that, when executed by the one or more processors, cause the system to perform operations including: Determining to configure a three-dimensional (3D) extended reality (XR) environment using a workspace, the workspace storing information based on a previous activity associated with the workspace, the workspace identifying states of one or more applications associated with the previous activity and 3D spatial positioning information of user interfaces of the one or more applications during the previous activity; and configuring the XR environment using the workspace according to determining: positioning the user interface of the one or more applications in the XR environment based on the 3D spatial positioning information; and The one or more applications are restored to the state of the one or more applications associated with the previous use.

21. A non-transitory computer-readable storage medium storing program instructions executable by one or more processors to perform operations comprising: Determining to configure a three-dimensional (3D) extended reality (XR) environment using a workspace, the workspace storing information based on a previous activity associated with the workspace, the workspace identifying states of one or more applications associated with the previous activity and 3D spatial positioning information of user interfaces of the one or more applications during the previous activity; and configuring the XR environment using the workspace according to determining: positioning the user interface of the one or more applications in the XR environment based on the 3D spatial positioning information; and The one or more applications are restored to the state of the one or more applications associated with the previous use.