User interface and techniques for mobile computer systems

By introducing the collaborative work of mobile components and input devices into the computer system, and automatically adjusting the user interface and language communication, the inefficiency problem in the prior art is solved, resulting in more efficient user operation and extended battery life.

CN121957355APending Publication Date: 2026-05-01APPLE INC
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
APPLE INC
Filing Date
2024-09-25
Publication Date
2026-05-01

AI Technical Summary

Technical Problem

Existing technologies for user interfaces and communication methods in mobile computing systems are inefficient, resulting in wasted user time and device energy, especially in battery-powered devices.

Method used

By introducing the collaborative work of mobile components and input devices into a computer system, and utilizing a series of standards to detect the user's location and behavior, the computer system's movement and display operations are automatically adjusted to achieve a more efficient user interface and language communication.

Benefits of technology

It reduces the cognitive burden on users, improves the operating efficiency of mobile computing systems, saves power consumption of battery-powered devices, and extends battery life.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121957355A_ABST
    Figure CN121957355A_ABST
Patent Text Reader

Abstract

The present disclosure generally relates to a user interface for a computer system. A method includes, at a computer system in communication with a mobile component and a sensor: detecting an input corresponding to a request to register a user with the computer system while a portion of the computer system is in a first location in an environment; and in response to detecting the input corresponding to the request to register a user with the computer system: in accordance with a determination that a new user is in a second location different from the first location in the environment, moving, via the moving component, the portion of the computer system to direct to the second location; in accordance with a determination that the new user is in a third location in the environment different from the first location and the second location, moving, via the moving component, the portion of the computer system to direct to the third location; and capturing data corresponding to the new user via the sensor in conjunction with moving the portion of the computer system.
Need to check novelty before this filing date? Find Prior Art

Description

User interface and technology for mobile computing systems

[0001] This application is a divisional application of patent application No. 202480049761.8, filed on September 25, 2024, entitled "User Interface and Technology for Mobile Computer Systems". Cross-reference to related applications

[0002] This application claims priority to U.S. Provisional Patent Application Serial No. 63 / 541,834, filed September 30, 2023; U.S. Provisional Patent Application Serial No. 63 / 541,842, filed September 30, 2023; and U.S. Provisional Patent Application Serial No. 63 / 541,835, filed September 30, 2023, which are incorporated herein by reference in their entirety for all purposes. Background Technology

[0003] Users frequently move the computer system to various locations. This movement requires the user to manually pick up and move the computer system. The computer system performs various operations in the user's presence. These operations may include turning on the screen or turning off the lights when the user is detected. Users often communicate in various languages ​​while using the computer system. Summary of the Invention

[0004] Existing technologies for using electronic devices to move computer systems are often cumbersome and inefficient. For example, some existing technologies use complex and time-consuming user interfaces that may include multiple keys or keystrokes. Some existing technologies require more time than necessary, resulting in wasted user time and device power. This latter consideration is particularly important in battery-powered devices.

[0005] Therefore, this technology provides electronic devices with faster and more efficient methods and interfaces for mobile computing systems and / or communication in different dialects. Such methods and interfaces optionally complement or replace other methods for mobile computing systems and / or communication in different dialects. These methods and interfaces reduce the cognitive burden on users and result in more efficient human-machine interfaces. For battery-powered computing devices, such methods and interfaces save power and increase the time interval between battery charging.

[0006] In some embodiments, a method is described that is performed at a computer system communicating with a mobile component and one or more input devices. In some embodiments, the method includes: detecting a first event via one or more input devices; in response to detecting the first event: moving a portion of the computer system via the mobile component based on the determination of a first set of one or more criteria, wherein the first set of one or more criteria includes criteria satisfied when a portion of a user is not within a first predefined distance from the computer system; and abandoning the movement of that portion of the computer system via the mobile component based on the determination of a second set of one or more criteria, wherein the second set of one or more criteria includes criteria satisfied when that portion of the user is within a first predefined distance from the computer system; detecting a second set of one or more criteria satisfied while moving that portion of the computer system via the mobile component; and stopping the movement of that portion of the computer system via the mobile component in response to detecting a second set of one or more criteria satisfied while moving that portion of the computer system.

[0007] In some embodiments, a non-transitory computer-readable storage medium is described, which stores one or more programs configured to be executed by one or more processors of a computer system communicating with a mobile component and one or more input devices. In some embodiments, the one or more programs include instructions for: detecting a first event via one or more input devices; in response to detecting the first event: moving a portion of the computer system via the mobile component according to the determination of a first set of one or more criteria, wherein the first set of one or more criteria includes criteria satisfied when a portion of a user is not within a first predefined distance from the computer system; and abandoning the movement of that portion of the computer system via the mobile component according to the determination of a second set of one or more criteria, wherein the second set of one or more criteria includes criteria satisfied when that portion of the user is within a first predefined distance from the computer system; detecting a second set of one or more criteria satisfied while moving that portion of the computer system via the mobile component; and stopping the movement of that portion of the computer system via the mobile component in response to detecting a second set of one or more criteria satisfied while moving that portion of the computer system.

[0008] In some embodiments, a transient computer-readable storage medium is described that stores one or more programs configured to be executed by one or more processors of a computer system communicating with a mobile component and one or more input devices. In some embodiments, the one or more programs include instructions for: detecting a first event via one or more input devices; in response to detecting the first event: moving a portion of the computer system via the mobile component based on the determination of a first set of one or more criteria, wherein the first set of one or more criteria includes criteria satisfied when a portion of a user is not within a first predefined distance from the computer system; and abandoning the movement of that portion of the computer system via the mobile component based on the determination of a second set of one or more criteria, wherein the second set of one or more criteria includes criteria satisfied when that portion of the user is within a first predefined distance from the computer system; detecting a second set of one or more criteria satisfied while moving that portion of the computer system via the mobile component; and stopping the movement of that portion of the computer system via the mobile component in response to detecting a second set of one or more criteria satisfied while moving that portion of the computer system.

[0009] In some embodiments, a computer system communicating with a mobile component and one or more input devices is described. In some embodiments, the computer system includes: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors. In some embodiments, the one or more programs include instructions for: detecting a first event via one or more input devices; in response to detecting the first event: moving a portion of the computer system via the mobile component according to the determination of a first set of one or more criteria, wherein the first set of one or more criteria includes criteria satisfied when a portion of a user is not within a first predefined distance from the computer system; and abandoning the movement of that portion of the computer system via the mobile component according to the determination of a second set of one or more criteria, wherein the second set of one or more criteria includes criteria satisfied when that portion of the user is within a first predefined distance from the computer system; detecting a second set of one or more criteria satisfied while moving that portion of the computer system via the mobile component; and stopping the movement of that portion of the computer system via the mobile component in response to detecting a second set of one or more criteria satisfied while moving that portion of the computer system.

[0010] In some embodiments, a computer system communicating with a mobile component and one or more input devices is described. In some embodiments, the computer system includes components for performing each of the following steps: detecting a first event via one or more input devices; in response to detecting the first event: moving a portion of the computer system via the mobile component based on the determination of a first set of one or more criteria, wherein the first set of one or more criteria includes criteria satisfied when a portion of a user is not within a first predefined distance from the computer system; and abandoning the movement of that portion of the computer system via the mobile component based on the determination of a second set of one or more criteria, wherein the second set of one or more criteria includes criteria satisfied when that portion of the user is within a first predefined distance from the computer system; detecting the second set of one or more criteria satisfied while moving that portion of the computer system via the mobile component; and stopping the movement of that portion of the computer system via the mobile component in response to detecting the second set of one or more criteria satisfied while moving that portion of the computer system.

[0011] In some embodiments, a computer program product is described. In some embodiments, the computer program product includes one or more programs configured to execute by one or more processors of a computer system communicating with a mobile component and one or more input devices. In some embodiments, the one or more programs include instructions for: detecting a first event via one or more input devices; in response to detecting the first event: moving a portion of the computer system via the mobile component based on the determination of a first set of one or more criteria, wherein the first set of one or more criteria includes criteria satisfied when a portion of a user is not within a first predefined distance from the computer system; and abandoning the movement of that portion of the computer system via the mobile component based on the determination of a second set of one or more criteria, wherein the second set of one or more criteria includes criteria satisfied when that portion of the user is within a first predefined distance from the computer system; detecting a second set of one or more criteria satisfied while moving that portion of the computer system via the mobile component; and stopping the movement of that portion of the computer system via the mobile component in response to detecting a second set of one or more criteria satisfied while moving that portion of the computer system.

[0012] In some embodiments, a method is described that is performed at a computer system communicating with a mobile component, one or more input devices, and a display component. In some embodiments, the method includes: detecting a first event via one or more input devices; in response to detecting the first event: moving a portion of the computer system via the mobile component based on the determination of a first set of one or more criteria, wherein the first set of one or more criteria includes criteria satisfied when a first object is not in a path; and abandoning the movement of that portion of the computer system via the mobile component based on the determination of a second set of one or more criteria, wherein the second set of one or more criteria includes criteria satisfied when the first object is in a path; detecting a second set of one or more criteria satisfied while the portion of the computer system is being moved via the mobile component; and stopping the movement of that portion of the computer system via the mobile component in response to detecting a second set of one or more criteria satisfied while the portion of the computer system is being moved; and displaying a first representation of the first object via the display component.

[0013] In some embodiments, a non-transitory computer-readable storage medium is described, which stores one or more programs configured to be executed by one or more processors of a computer system in communication with a mobile component, one or more input devices, and a display component. In some embodiments, the one or more programs include instructions for: detecting a first event via one or more input devices; in response to detecting the first event: moving a portion of the computer system via the mobile component based on the determination of a first set of one or more criteria, wherein the first set of one or more criteria includes criteria satisfied when a first object is not in a path; and abandoning the movement of that portion of the computer system via the mobile component based on the determination of a second set of one or more criteria, wherein the second set of one or more criteria includes criteria satisfied when the first object is in a path; detecting a second set of one or more criteria satisfied while moving that portion of the computer system via the mobile component; and stopping the movement of that portion of the computer system via the mobile component in response to detecting a second set of one or more criteria satisfied while moving that portion of the computer system; and displaying a first representation of the first object via the display component.

[0014] In some embodiments, a transient computer-readable storage medium is described that stores one or more programs configured to be executed by one or more processors of a computer system in communication with a mobile component, one or more input devices, and a display component. In some embodiments, the one or more programs include instructions for: detecting a first event via one or more input devices; in response to detecting the first event: moving a portion of the computer system via the mobile component based on the determination of a first set of one or more criteria, wherein the first set of one or more criteria includes criteria satisfied when a first object is not in a path; and abandoning the movement of that portion of the computer system via the mobile component based on the determination of a second set of one or more criteria, wherein the second set of one or more criteria includes criteria satisfied when the first object is in a path; detecting a second set of one or more criteria satisfied while moving that portion of the computer system via the mobile component; and stopping the movement of that portion of the computer system via the mobile component in response to detecting a second set of one or more criteria satisfied while moving that portion of the computer system; and displaying a first representation of the first object via the display component.

[0015] In some embodiments, a computer system communicating with a mobile component, one or more input devices, and a display component is described. In some embodiments, the computer system includes: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors. In some embodiments, the one or more programs include instructions for: detecting a first event via one or more input devices; in response to detecting the first event: moving a portion of the computer system via the mobile component based on the determination of a first set of one or more criteria, wherein the first set of one or more criteria includes criteria satisfied when a first object is not in a path; and abandoning the movement of that portion of the computer system via the mobile component based on the determination of a second set of one or more criteria, wherein the second set of one or more criteria includes criteria satisfied when the first object is in a path; detecting a second set of one or more criteria satisfied while moving that portion of the computer system via the mobile component; and stopping the movement of that portion of the computer system via the mobile component in response to detecting a second set of one or more criteria satisfied while moving that portion of the computer system; and displaying a first representation of the first object via the display component.

[0016] In some embodiments, a computer system communicating with a mobile component, one or more input devices, and a display component is described. In some embodiments, the computer system includes components for performing each of the following steps: detecting a first event via one or more input devices; in response to detecting the first event: moving a portion of the computer system via the mobile component based on the determination of a first set of one or more criteria, wherein the first set of one or more criteria includes criteria satisfied when a first object is not in a path; and abandoning the movement of that portion of the computer system via the mobile component based on the determination of a second set of one or more criteria, wherein the second set of one or more criteria includes criteria satisfied when the first object is in a path; detecting a second set of one or more criteria satisfied while moving that portion of the computer system via the mobile component; and stopping the movement of that portion of the computer system via the mobile component in response to detecting a second set of one or more criteria satisfied while moving that portion of the computer system; and displaying a first representation of the first object via the display component.

[0017] In some embodiments, a computer program product is described. In some embodiments, the computer program product includes one or more programs configured to execute by one or more processors of a computer system communicating with a mobile component, one or more input devices, and a display component. In some embodiments, the one or more programs include instructions for: detecting a first event via one or more input devices; in response to detecting the first event: moving a portion of the computer system via the mobile component based on the determination of a first set of one or more criteria, wherein the first set of one or more criteria includes criteria satisfied when a first object is not in a path; and abandoning the movement of that portion of the computer system via the mobile component based on the determination of a second set of one or more criteria, wherein the second set of one or more criteria includes criteria satisfied when the first object is in a path; detecting a second set of one or more criteria satisfied while moving that portion of the computer system via the mobile component; and stopping the movement of that portion of the computer system via the mobile component in response to detecting a second set of one or more criteria satisfied while moving that portion of the computer system; and displaying a first representation of the first object via the display component.

[0018] In some embodiments, a method is described that is performed at a computer system communicating with a mobile component, one or more input devices, and a display component. In some embodiments, the method includes: detecting a first user in an environment via one or more input devices; and in response to detecting the first user in the environment: moving a portion of the computer system via the mobile component to direct the first user; and displaying a first predefined instruction for the first user.

[0019] In some embodiments, a non-transitory computer-readable storage medium is described that stores one or more programs configured to be executed by one or more processors of a computer system in communication with a mobile component, one or more input devices, and a display component. In some embodiments, the one or more programs include instructions for: detecting a first user in an environment via one or more input devices; and in response to detecting the first user in the environment: moving a portion of the computer system via the mobile component to direct the first user; and displaying a first predefined instruction for the first user.

[0020] In some embodiments, a transient computer-readable storage medium is described that stores one or more programs configured to be executed by one or more processors of a computer system in communication with a mobile component, one or more input devices, and a display component. In some embodiments, the one or more programs include instructions for: detecting a first user in an environment via one or more input devices; and in response to detecting the first user in the environment: moving a portion of the computer system via the mobile component to direct the first user; and displaying a first predefined instruction for the first user.

[0021] In some embodiments, a computer system communicating with a mobile component, one or more input devices, and a display component is described. In some embodiments, the computer system includes: one or more processors; and memory storing one or more programs configured to be executed by the one or more processors. In some embodiments, the one or more programs include instructions for: detecting a first user in an environment via one or more input devices; and in response to detecting the first user in the environment: moving a portion of the computer system via the mobile component to direct the first user; and displaying a first predefined instruction for the first user.

[0022] In some embodiments, a computer system is described that communicates with a mobile component, one or more input devices, and a display component. In some embodiments, the computer system includes components for performing each of the following steps: detecting a first user in the environment via one or more input devices; and in response to detecting the first user in the environment: moving a portion of the computer system via the mobile component to direct the first user; and displaying a first predefined instruction for the first user.

[0023] In some embodiments, a computer program product is described. In some embodiments, the computer program product includes one or more programs configured to execute by one or more processors of a computer system in communication with a mobile component, one or more input devices, and a display component. In some embodiments, the one or more programs include instructions for: detecting a first user in an environment via one or more input devices; and in response to detecting the first user in the environment: moving a portion of the computer system via the mobile component to direct the first user; and displaying a first predefined instruction for the first user.

[0024] In some embodiments, a method is described that is performed at a computer system communicating with a first mobile component, a second mobile component, and one or more input devices. In some embodiments, the method includes: detecting a first user in an environment via one or more input devices; and in response to detecting the first user in the environment: moving a portion of the computer system via the first mobile component to direct the first user; and, in conjunction with moving the portion of the computer system to direct the first user, performing a first physical movement via the second mobile component, the first physical movement removing the location of the portion of the computer system from directing the first user.

[0025] In some embodiments, a non-transitory computer-readable storage medium is described that stores one or more programs configured to be executed by one or more processors of a computer system in communication with a first mobile component, a second mobile component, and one or more input devices. In some embodiments, the one or more programs include instructions for: detecting a first user in an environment via one or more input devices; and in response to detecting the first user in the environment: moving a portion of the computer system via the first mobile component to direct it to the first user; and, in conjunction with moving the portion of the computer system to direct it to the first user, performing a first physical movement via the second mobile component, the first physical movement removing the location of the portion of the computer system from directing it to the first user.

[0026] In some embodiments, a transient computer-readable storage medium is described that stores one or more programs configured to be executed by one or more processors of a computer system in communication with a first mobile component, a second mobile component, and one or more input devices. In some embodiments, the one or more programs include instructions for: detecting a first user in an environment via one or more input devices; and in response to detecting the first user in the environment: moving a portion of the computer system via the first mobile component to direct it to the first user; and, in conjunction with moving the portion of the computer system to direct it to the first user, performing a first physical movement via the second mobile component, the first physical movement removing the location of the portion of the computer system from directing it to the first user.

[0027] In some embodiments, a computer system communicating with a first mobile component, a second mobile component, and one or more input devices is described. In some embodiments, the computer system includes: one or more processors; and memory storing one or more programs configured to be executed by the one or more processors. In some embodiments, the one or more programs include instructions for: detecting a first user in an environment via one or more input devices; and in response to detecting the first user in the environment: moving a portion of the computer system via the first mobile component to direct the first user; and, in conjunction with moving the portion of the computer system to direct the first user, performing a first physical movement via the second mobile component, the first physical movement removing the location of the portion of the computer system from directing the first user.

[0028] In some embodiments, a computer system communicating with a first mobile component, a second mobile component, and one or more input devices is described. In some embodiments, the computer system includes components for performing each of the following steps: detecting a first user in an environment via one or more input devices; and in response to detecting the first user in the environment: moving a portion of the computer system via the first mobile component to direct it to the first user; and, in conjunction with moving that portion of the computer system to direct it to the first user, performing a first physical movement via the second mobile component, the first physical movement removing the location of that portion of the computer system from directing it to the first user.

[0029] In some embodiments, a computer program product is described. In some embodiments, the computer program product includes one or more programs configured to execute by one or more processors of a computer system communicating with a first mobile component, a second mobile component, and one or more input devices. In some embodiments, the one or more programs include instructions for: detecting a first user in an environment via one or more input devices; and in response to detecting the first user in the environment: moving a portion of the computer system via the first mobile component to direct it to the first user; and, in conjunction with moving that portion of the computer system to direct it to the first user, performing a first physical movement via the second mobile component, the first physical movement causing the location of that portion of the computer system to be removed from directing it to the first user.

[0030] In some embodiments, a method is described that is performed at a computer system communicating with mobile components and sensors. In some embodiments, the method includes: detecting input corresponding to a request to register a user with the computer system when a portion of the computer system is in a first location in an environment; and in response to detecting the input corresponding to the request to register a user with the computer system: moving the portion of the computer system via the mobile component to guide it to the second location based on a determination that the new user is in a second location in the environment different from the first location; moving the portion of the computer system via the mobile component to guide it to a third location based on a determination that the new user is in a third location in the environment different from the first and second locations; and capturing data corresponding to the new user via sensors in conjunction with the portion of the mobile computer system.

[0031] In some embodiments, a non-transitory computer-readable storage medium is described, which stores one or more programs configured to be executed by one or more processors of a computer system in communication with mobile components and sensors. In some embodiments, the one or more programs include instructions for: detecting input corresponding to a request to register a user with the computer system when a portion of the computer system is in a first location in the environment; and in response to detecting the input corresponding to the request to register a user with the computer system: moving the portion of the computer system via the mobile component to guide it to the second location based on a determination that the new user is in a second location in the environment different from the first location; moving the portion of the computer system via the mobile component to guide it to the third location based on a determination that the new user is in a third location in the environment different from the first and second locations; and capturing data corresponding to the new user via sensors in conjunction with the portion of the mobile computer system.

[0032] In some embodiments, a transient computer-readable storage medium is described that stores one or more programs configured to be executed by one or more processors of a computer system in communication with mobile components and sensors. In some embodiments, the one or more programs include instructions for: detecting input corresponding to a request to register a user with the computer system when a portion of the computer system is in a first location in the environment; and in response to detecting the input corresponding to the request to register a user with the computer system: moving the portion of the computer system via the mobile component to guide it to the second location based on a determination that the new user is in a second location in the environment different from the first location; moving the portion of the computer system via the mobile component to guide it to the third location based on a determination that the new user is in a third location in the environment different from the first and second locations; and capturing data corresponding to the new user via sensors in conjunction with the portion of the mobile computer system.

[0033] In some embodiments, a computer system communicating with mobile components and sensors is described. In some embodiments, the computer system includes: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors. In some embodiments, the one or more programs include instructions for: detecting input corresponding to a request to register a user with the computer system when a portion of the computer system is in a first location in an environment; and in response to detecting the input corresponding to the request to register a user with the computer system: moving the portion of the computer system via the mobile component to guide it to the second location based on a determination that the new user is in a second location in the environment different from the first location; moving the portion of the computer system via the mobile component to guide it to the third location based on a determination that the new user is in a third location in the environment different from the first and second locations; and, in conjunction with the portion of the mobile computer system, capturing data corresponding to the new user via sensors.

[0034] In some embodiments, a computer system communicating with mobile components and sensors is described. In some embodiments, the computer system includes components for performing each of the following steps: when a portion of the computer system is in a first location in the environment, detecting input corresponding to a request to register a user with the computer system; and in response to detecting the input corresponding to the request to register a user with the computer system: based on a determination that the new user is in a second location in the environment different from the first location, moving the portion of the computer system via the mobile components to guide it to the second location; based on a determination that the new user is in a third location in the environment different from the first and second locations, moving the portion of the computer system via the mobile components to guide it to the third location; and in conjunction with the mobile computer system, capturing data corresponding to the new user via sensors.

[0035] In some embodiments, a computer program product is described. In some embodiments, the computer program product includes one or more programs configured to execute by one or more processors of a computer system communicating with mobile components and sensors. In some embodiments, the one or more programs include instructions for: detecting input corresponding to a request to register a user with the computer system when a portion of the computer system is in a first location in the environment; and in response to detecting the input corresponding to the request to register a user with the computer system: moving the portion of the computer system via the mobile component to guide it to the second location based on a determination that the new user is in a second location in the environment different from the first location; moving the portion of the computer system via the mobile component to guide it to the third location based on a determination that the new user is in a third location in the environment different from the first and second locations; and capturing data corresponding to the new user via sensors in conjunction with the portion of the mobile computer system.

[0036] In some embodiments, a method is described that is performed at a computer system communicating with one or more output devices and one or more input devices. In some embodiments, the method includes: in conjunction with outputting a first portion of content in a first dialect via one or more output devices, detecting speech input via one or more input devices; and in response to detecting the speech input and determining that the speech input includes a second dialect different from the first dialect, outputting a second portion of the content in a second dialect via one or more output devices, wherein the second portion of the content is different from the first portion of the content.

[0037] In some embodiments, a non-transitory computer-readable storage medium is described, which stores one or more programs configured to be executed by one or more processors of a computer system communicating with one or more output devices and one or more input devices. In some embodiments, the one or more programs include instructions for: in conjunction with outputting a first portion of content in a first dialect via one or more output devices, detecting speech input via one or more input devices; and in response to detecting speech input and determining that the speech input includes a second dialect different from the first dialect, outputting a second portion of the content in a second dialect via one or more output devices, wherein the second portion of the content is different from the first portion of the content.

[0038] In some embodiments, a transient computer-readable storage medium is described that stores one or more programs configured to be executed by one or more processors of a computer system communicating with one or more output devices and one or more input devices. In some embodiments, the one or more programs include instructions for: in conjunction with outputting a first portion of content in a first dialect via one or more output devices, detecting speech input via one or more input devices; and in response to detecting speech input and determining that the speech input includes a second dialect different from the first dialect, outputting a second portion of the content in a second dialect via one or more output devices, wherein the second portion of the content is different from the first portion of the content.

[0039] In some embodiments, a computer system communicating with one or more output devices and one or more input devices is described. In some embodiments, the computer system includes: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors. In some embodiments, the one or more programs include instructions for: outputting a first portion of content in a first dialect via the one or more output devices; detecting speech input via the one or more input devices; and, in response to detecting the speech input and determining that the speech input includes a second dialect different from the first dialect, outputting a second portion of the content in a second dialect via the one or more output devices, wherein the second portion of the content is different from the first portion of the content.

[0040] In some embodiments, a computer system communicating with one or more output devices and one or more input devices is described. In some embodiments, the computer system includes components for performing each of the following steps: combining a first portion of content output in a first dialect via one or more output devices; detecting speech input via one or more input devices; and in response to detecting speech input and determining that the speech input includes a second dialect different from the first dialect, outputting a second portion of content in a second dialect via one or more output devices, wherein the second portion of the content is different from the first portion of the content.

[0041] In some embodiments, a computer program product is described. In some embodiments, the computer program product includes one or more programs configured to execute by one or more processors of a computer system communicating with one or more output devices and one or more input devices. In some embodiments, the one or more programs include instructions for: in conjunction with outputting a first portion of content in a first dialect via one or more output devices, detecting speech input via one or more input devices; and in response to detecting speech input and determining that the speech input includes a second dialect different from the first dialect, outputting a second portion of the content in a second dialect via one or more output devices, wherein the second portion of the content is different from the first portion of the content.

[0042] In some embodiments, a method is described that is performed at a computer system communicating with a mobile component and one or more input devices. In some embodiments, the method includes: detecting a first voice input via one or more input devices; and in response to detecting the first voice input: configuring the computer system to perform a first set of one or more physical movements corresponding to the first dialect based on a determination that the first voice input includes a first dialect; and configuring the computer system to perform a second set of one or more physical movements corresponding to the second dialect based on a determination that the first voice input includes a second dialect different from the first dialect; and after the computer system is configured to perform the first set of one or more physical movements corresponding to the first dialect or the second set of one or more physical movements corresponding to the second dialect, providing an output corresponding to a first phrase with a corresponding interpretation, including: moving a portion of the computer system in a first manner via the mobile component based on a determination that the computer system is configured to perform the first set of one or more physical movements corresponding to the first dialect; and abandoning the first manner of moving that portion of the computer system via the mobile component based on a determination that the computer system is configured to perform the second set of one or more physical movements corresponding to the second dialect.

[0043] In some embodiments, a non-transitory computer-readable storage medium is described, which stores one or more programs configured to be executed by one or more processors of a computer system in communication with a mobile component and one or more input devices. In some embodiments, the one or more programs include instructions for: detecting a first voice input via one or more input devices; and in response to detecting the first voice input: configuring the computer system to perform a first set of one or more physical movements corresponding to the first dialect, based on a determination that the first voice input includes a first dialect; and configuring the computer system to perform a second set of one or more physical movements corresponding to the second dialect, based on a determination that the first voice input includes a second dialect different from the first dialect; and after the computer system is configured to perform the first set of one or more physical movements corresponding to the first dialect or the second set of one or more physical movements corresponding to the second dialect, providing output corresponding to a first phrase with a corresponding interpretation, including: moving a portion of the computer system in a first manner via the mobile component, based on a determination that the computer system is configured to perform the first set of one or more physical movements corresponding to the first dialect; and abandoning the first manner of moving that portion of the computer system via the mobile component, based on a determination that the computer system is configured to perform the second set of one or more physical movements corresponding to the second dialect.

[0044] In some embodiments, a transient computer-readable storage medium is described that stores one or more programs executed by one or more processors of a computer system configured to communicate with a mobile component and one or more input devices. In some embodiments, the one or more programs include instructions for: detecting a first voice input via one or more input devices; and in response to detecting the first voice input: configuring the computer system to perform a first set of one or more physical movements corresponding to the first dialect, based on a determination that the first voice input includes a first dialect; and configuring the computer system to perform a second set of one or more physical movements corresponding to the second dialect, based on a determination that the first voice input includes a second dialect different from the first dialect; and after the computer system is configured to perform the first set of one or more physical movements corresponding to the first dialect or the second set of one or more physical movements corresponding to the second dialect, providing output corresponding to a first phrase with a corresponding interpretation, including: moving a portion of the computer system in a first manner via the mobile component, based on a determination that the computer system is configured to perform the first set of one or more physical movements corresponding to the first dialect; and abandoning the first manner of moving that portion of the computer system via the mobile component, based on a determination that the computer system is configured to perform the second set of one or more physical movements corresponding to the second dialect.

[0045] In some embodiments, a computer system communicating with a mobile component and one or more input devices is described. In some embodiments, the computer system includes: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors. In some embodiments, the one or more programs include instructions for: detecting a first voice input via one or more input devices; and in response to detecting the first voice input: configuring the computer system to perform a first set of one or more physical movements corresponding to the first dialect, based on a determination that the first voice input includes a first dialect; and configuring the computer system to perform a second set of one or more physical movements corresponding to the second dialect, based on a determination that the first voice input includes a second dialect different from the first dialect; and after the computer system is configured to perform the first set of one or more physical movements corresponding to the first dialect or the second set of one or more physical movements corresponding to the second dialect, providing output corresponding to a first phrase with a corresponding interpretation, including: moving a portion of the computer system in a first manner via the mobile component, based on a determination that the computer system is configured to perform the first set of one or more physical movements corresponding to the first dialect; and abandoning the first manner of moving that portion of the computer system via the mobile component, based on a determination that the computer system is configured to perform the second set of one or more physical movements corresponding to the second dialect.

[0046] In some embodiments, a computer system communicating with a mobile component and one or more input devices is described. In some embodiments, the computer system includes components for performing each of the following steps: detecting a first voice input via one or more input devices; and in response to detecting the first voice input: configuring the computer system to perform a first set of one or more physical movements corresponding to the first dialect based on a determination that the first voice input includes a first dialect; and configuring the computer system to perform a second set of one or more physical movements corresponding to the second dialect based on a determination that the first voice input includes a second dialect different from the first dialect; and after the computer system is configured to perform the first set of one or more physical movements corresponding to the first dialect or the second set of one or more physical movements corresponding to the second dialect, providing an output corresponding to a first phrase with a corresponding interpretation, including: moving a portion of the computer system in a first manner via the mobile component based on a determination that the computer system is configured to perform the first set of one or more physical movements corresponding to the first dialect; and abandoning the first manner of moving that portion of the computer system via the mobile component based on a determination that the computer system is configured to perform the second set of one or more physical movements corresponding to the second dialect.

[0047] In some embodiments, a computer program product is described. In some embodiments, the computer program product includes one or more programs configured to be executed by one or more processors of a computer system in communication with a mobile component and one or more input devices. In some embodiments, the one or more programs include instructions for: detecting a first voice input via one or more input devices; and in response to detecting the first voice input: configuring the computer system to perform a first set of one or more physical movements corresponding to the first dialect based on a determination that the first voice input includes a first dialect; and configuring the computer system to perform a second set of one or more physical movements corresponding to the second dialect based on a determination that the first voice input includes a second dialect different from the first dialect; and after the computer system is configured to perform the first set of one or more physical movements corresponding to the first dialect or the second set of one or more physical movements corresponding to the second dialect, providing output corresponding to a first phrase with a corresponding interpretation, including: moving a portion of the computer system in a first manner via the mobile component based on a determination that the computer system is configured to perform the first set of one or more physical movements corresponding to the first dialect; and abandoning the first manner of moving that portion of the computer system via the mobile component based on a determination that the computer system is configured to perform the second set of one or more physical movements corresponding to the second dialect.

[0048] In some embodiments, a method executed at a computer system is described. In some embodiments, the method includes: detecting input from a first user including an instruction for a second user different from the first user; and in response to detecting the input including an instruction for the second user: initiating a process of adding the unknown user as the second user based on a determination that an unknown user is detected in the environment; and abandoning the process of adding the unknown user as the second user based on a determination that no unknown user is detected in the environment.

[0049] In some embodiments, a non-transitory computer-readable storage medium is described that stores one or more programs configured to be executed by one or more processors of a computer system. In some embodiments, the one or more programs include instructions for: detecting input from a first user including an instruction for a second user different from the first user; and in response to detecting the input including an instruction for the second user: initiating a process of adding the unknown user as the second user based on a determination that an unknown user is detected in the environment; and abandoning the process of adding the unknown user as the second user based on a determination that no unknown user is detected in the environment.

[0050] In some embodiments, a transient computer-readable storage medium is described that stores one or more programs configured to be executed by one or more processors of a computer system. In some embodiments, the one or more programs include instructions for: detecting input from a first user including an instruction for a second user different from the first user; and in response to detecting the input including an instruction for the second user: initiating a process of adding the unknown user as the second user based on a determination that an unknown user is detected in the environment; and abandoning the process of adding the unknown user as the second user based on a determination that no unknown user is detected in the environment.

[0051] In some embodiments, a computer system is described. In some embodiments, the computer system includes: one or more processors; and memory storing one or more programs configured to be executed by the one or more processors. In some embodiments, the one or more programs include instructions for: detecting input from a first user including an instruction for a second user different from the first user; and in response to detecting the input including an instruction for the second user: initiating a process of adding the unknown user as the second user based on a determination that an unknown user is detected in the environment; and abandoning the process of adding the unknown user as the second user based on a determination that no unknown user is detected in the environment.

[0052] In some embodiments, a computer system is described. In some embodiments, the computer system includes components for performing each of the following steps: detecting input from a first user including an instruction for a second user different from the first user; and in response to detecting the input including an instruction for the second user: initiating a process of adding the unknown user as the second user based on a determination that an unknown user is detected in the environment; and abandoning the process of adding the unknown user as the second user based on a determination that no unknown user is detected in the environment.

[0053] In some embodiments, a computer program product is described. In some embodiments, the computer program product includes one or more programs configured to be executed by one or more processors of a computer system. In some embodiments, the one or more programs include instructions for: detecting input from a first user including an instruction for a second user different from the first user; and in response to detecting the input including an instruction for the second user: initiating a process of adding the unknown user as the second user based on a determination that an unknown user is detected in the environment; and abandoning the process of adding the unknown user as the second user based on a determination that no unknown user is detected in the environment.

[0054] Executable instructions for performing these functions are optionally included in a non-transitory computer-readable storage medium or other computer program product configured for execution by one or more processors. Attached Figure Description

[0055] To better understand the various described embodiments, reference should be made to the following detailed description in conjunction with the accompanying drawings, in which similar reference numerals indicate corresponding parts throughout the drawings.

[0056] Figure 1 is a block diagram illustrating a computer system according to some implementation schemes.

[0057] Figures 2A to 2C are illustrations of exemplary components and user interfaces of an electronic device according to some embodiments.

[0058] Figure 3 is a block diagram illustrating exemplary components of a device according to some implementation schemes.

[0059] Figure 4 is a functional diagram of an exemplary actuator device according to some implementation schemes.

[0060] Figure 5 is a functional diagram of an exemplary agent system according to some implementation schemes.

[0061] Figures 6A and 6B illustrate exemplary user interfaces for physically adjusting the positioning of a portion of a computer system according to some implementation schemes.

[0062] Figure 7 is a flowchart illustrating a method for physically adjusting the location of a part of a computer system according to some implementation schemes.

[0063] Figures 8A to 8C illustrate exemplary user interfaces for mobile computer systems according to some implementation schemes.

[0064] Figure 9 is a flowchart illustrating a method for a portable computer system according to some implementation schemes.

[0065] Figures 10A to 10G illustrate exemplary user interfaces for confirming the presence of a user according to some implementation schemes.

[0066] Figure 11 is a flowchart illustrating a part of a method for a mobile computer system according to some implementation schemes.

[0067] Figure 12 is a flowchart illustrating a method for performing a movement according to some implementation schemes.

[0068] Figure 13 is a flowchart illustrating a method for introducing new users according to some implementation schemes.

[0069] Figures 14A to 14D illustrate exemplary user interfaces for communicating and registering users relative to dialects, according to some implementation schemes.

[0070] Figure 15 is a flowchart illustrating a method for automatically outputting in a specific dialect according to some implementation schemes.

[0071] Figure 16 is a flowchart illustrating a method for moving a computer system corresponding to a specific dialect according to some implementation schemes.

[0072] Figure 17 is a flowchart illustrating a method for initiating the process of adding an unknown user according to some implementation schemes. Detailed Implementation

[0073] The following description illustrates exemplary methods, components, parameters, etc. Although specific examples are described below, it should be understood that such implementations should not be construed as limiting the scope of this disclosure to the explicit description of the examples set forth herein, but should be understood as providing exemplary examples.

[0074] One or more steps of the method described herein may depend on satisfying one or more conditions. In some embodiments, the method is performed through multiple iterative processes. In some embodiments, incidental steps may be satisfied in different iterations of the same process and are still within the scope of the method described herein. For example, for a given method that includes two steps depending on different conditions, those skilled in the art will understand that the given method is considered performed even if the process is repeated multiple times until the incidental step is satisfied. In some embodiments, multiple iterations of the process are not required to practice the claims presented herein. For example, the claims of an electronic device, system, or computer-readable medium may be performed without iteratively repeating the process. In some embodiments, the claims of an electronic device, system, or computer-readable medium include instructions for performing one or more steps depending on satisfying one or more conditions. Because such instructions are stored in one or more processors and / or one or more memory locations, the claims of an electronic device, system, or computer-readable medium may include logic for determining whether one or more conditions have been satisfied without needing to repeat the process.

[0075] Although numerical descriptors such as “first” and / or “second” are used below to describe elements, these elements do not correspond to an order or different representation and should not be limited to the stated numerical terms. In some embodiments, these terms are used only as prefixes to distinguish references to one element from references to another. For example, “first” device and “second” device can be two separate references to the same device. In contrast, for example, “first” device and “second” device can be references to two different devices (e.g., not the same device and / or not the same type of device). For example, a first computer system and a second computer system do not correspond to first and second in time, but are merely used to distinguish two computer systems. Therefore, without departing from the scope of the various described embodiments, a first computer system may be referred to as a second computer system, and a second computer system may be referred to as a first computer system.

[0076] In the description of various elements and examples, the use of a particular term is for the purpose of providing a productive description of the subject matter below and should not be construed as restrictive. As used in describing the various examples herein, the singular forms “a,” “an,” and “the” should not be construed as excluding or precluding the plural forms unless the context clearly states otherwise. Similarly, “and / or” is used to cover any and all possible combinations of one or more associated listed items. For example, “x and / or y” should be interpreted as including “x” or “y” as well as “x and y” as a possible permutation. Furthermore, the use of 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 exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.

[0077] When describing choices and / or logical possibilities, the term "if" is optionally interpreted, depending on the context, as meaning "when," "in response to determination," "in response to detection," or "according to determination." Similarly, depending on the context, the phrases "if it is determined..." or "if [the stated condition or event] is optionally interpreted as meaning "in response to determination," "in response to determination," "in response to detection," or "according to determination."

[0078] The processes described below enhance device operability and make user-device and / or user-device interfaces more efficient through various technologies (e.g., by helping users provide appropriate input and reducing user errors when operating / interacting with the device), including by providing users with improved feedback (e.g., visual, tactile, acoustic, and / or haptic feedback), reducing the amount of input required to perform operations, providing additional control options without cluttering the user interface with additional displayed controls, performing operations when a set of conditions is met without requiring additional input (e.g., user input), and / or additional technologies (such as improving the security and / or privacy of the computer system and reducing the aging of one or more parts of the user interface on the display). These technologies also reduce power consumption and extend device battery life by enabling users to use the device more quickly and efficiently.

[0079] Figures 1, 2A-2C, and 3-5 below provide a description of exemplary devices for performing techniques for outputting content based on the context and characteristics of input. Figures 6A-6B illustrate exemplary user interfaces for physically adjusting the location of a portion of a computer system according to some embodiments. Figure 7 is a flowchart illustrating a method for physically adjusting the location of a portion of a computer system according to some embodiments. The user interfaces in Figures 6A-6B illustrate the process described below, including the process in Figure 7. Figures 8A-8C illustrate exemplary user interfaces for a portable computer system according to some embodiments. Figure 9 is a flowchart illustrating a method for a portable computer system according to some embodiments. The user interfaces in Figures 8A-8C illustrate the process described below, including the process in Figure 9. Figures 10A-10G illustrate exemplary user interfaces for confirming the presence of a user according to some embodiments. Figure 11 is a flowchart illustrating a method for moving a portion of a computer system according to some embodiments. Figure 12 is a flowchart illustrating a method for performing movement according to some embodiments. Figure 13 is a flowchart illustrating a method for introducing a new user according to some embodiments. Figures 10A to 10G illustrate the processes described below, including those in Figures 11 to 13. Figures 14A to 14D illustrate exemplary user interfaces for communicating and registering users relative to a dialect, according to some embodiments. Figure 15 is a flowchart illustrating a method for automatically outputting in a specific dialect, according to some embodiments. Figure 16 is a flowchart illustrating a method for moving a computer system corresponding to a specific dialect, according to some embodiments. Figure 17 is a flowchart illustrating a method for initiating a process for adding an unknown user, according to some embodiments. Figures 14A to 14D illustrate the processes described below, including those in Figures 15 to 17.

[0080] Figure 1 depicts a block diagram of a computer system 100 (e.g., an electronic device and / or electronic system) comprising a collection of electronic components that communicate with each other (e.g., are connected to each other) (e.g., wired or wireless). It should be understood that computer system 100 is merely one example of a computer system that can be used to perform the functions described below, and one or more other computer systems can be used to perform the functions described below. Additionally, while Figure 1 depicts the computer architecture of computer system 100, other computer architectures of computer systems (e.g., including more components, similar components, and / or fewer components) can be used to perform the functions described herein.

[0081] In some implementations, computer system 100 may correspond to (e.g., may be and / or may include) a system-on-a-chip, a server system, a personal computer system, a smartphone, a smartwatch, a wearable device, a tablet computer, a laptop computer, a fitness tracker, a head-mounted display (HMD) device, a desktop computer, public utilities (e.g., smart speakers, connected thermostats and / or additional home-based computer systems), accessories (e.g., switches, lights, speakers, air conditioners, heaters, curtains, fans, door locks, media playback devices, televisions, etc.), controllers, hubs and / or sensors.

[0082] In some embodiments, the sensor includes one or more hardware components capable of detecting (e.g., sensing, generating, and / or processing) information about the physical environment near the sensor. For example, the sensor may be configured to detect information around the sensor, detect information in one or more directions away from the sensor's projection, and / or detect information based on the sensor's contact with elements of the physical environment. In some embodiments, the sensor's hardware components include sensing components (e.g., temperature and / or image sensors), transmitting components (e.g., radio and / or laser transmitters), and / or receiving components (e.g., laser and / or radio receivers). In some implementations, the sensors include angle sensors, breakage sensors, flow sensors, force sensors, gas sensors, humidity or moisture sensors, glass breakage sensors, chemical sensors, contact sensors, non-contact sensors, image sensors (e.g., RGB cameras and / or infrared sensors), particle sensors, photoelectric sensors (e.g., ambient light and / or sunlight), positioning sensors (e.g., GPS), precipitation sensors, pressure sensors, proximity sensors, radiation sensors, inertial measurement units, leak sensors, level sensors, metal sensors, microphones, motion sensors, range or depth sensors (e.g., RADAR, LiDAR), speed sensors, temperature sensors, time-of-flight sensors, torque sensors, ultrasonic sensors, vacancy sensors, presence sensors, voltage and / or current sensors, conductivity sensors, resistivity sensors, capacitance sensors, and / or water sensors. While a single computer system is depicted in Figure 1, the functionality described below can also be implemented using two or more computer systems operating together. Additionally, in some embodiments, the computer system 100 includes one or more sensors as described above, and captures information about the physical environment by combining data from one sensor with data from one or more additional sensors (e.g., the one or more additional sensors are part of a computer and / or one or more additional computer systems).

[0083] As illustrated in Figure 1, computer system 100 comprises a processor subsystem 110, a memory 120, and an I / O interface 130. The memory 120 corresponds to system memory that communicates with the processor subsystem 110. Electronic components constituting computer system 100 are electrically connected via interconnects 150, which allow communication between components of computer system 100. For example, interconnect 150 may be a system bus, one or more memory locations, and / or additional electrical channels for connecting multiple components of computer system 100. Furthermore, I / O interface 130 is connected to I / O device 140 via wired and / or wireless connections. In some embodiments, computer system 100 includes a component comprising I / O interface 130 and I / O device 140, such that the functionality of each component is included within that component. Additionally, it should be understood that computer system 100 may include one or more I / O interfaces that communicate with one or more I / O devices. In some embodiments, computer system 100 comprises multiple processor subsystems 100, each electrically connected via interconnect 150.

[0084] In some embodiments, processor subsystem 110 includes one or more processors or various processing units capable of executing instructions (e.g., programs, system, and / or interrupts) to perform the functionality described herein. For example, operating system-level and / or application-level instructions are executed by processor subsystem 110. In some embodiments, processor subsystem 110 includes one or more components (e.g., implemented as hardware, software, and / or combinations thereof) capable of supporting, interpreting, and / or executing machine learning instructions and / or operations. For example, computer system 100 may perform operations locally based on a machine learning model. Alternatively or additionally, computer system 100 may communicate with a remote interactive knowledge base (e.g., processing resources implementing machine learning models, artificial intelligence models, and / or large language models) (e.g., performing computations on the remote interactive knowledge base and / or executing instructions corresponding to the remote interactive knowledge base) to perform operations that may otherwise be outside the set of capabilities of computer system 100. For example, computer system 100 may determine a set of inputs to the interactive knowledge base (e.g., instructions, data, and / or parameters) for performing desired machine learning operations.

[0085] The memory 120, which communicates with the processor subsystem 110, can be implemented using a variety of different physical, non-transitory memory media. In some embodiments, the computer system 100 includes multiple memory components and / or multiple types of memory components, each of which is directly and / or connected to the processor subsystem 110 via interconnect 150. For example, the memory 120 can be implemented using removable flash drives, storage arrays, storage area networks (e.g., SANs), flash memory, hard disk storage devices, optical drive storage devices, floppy disk storage devices, removable disk storage devices, random access memory (e.g., SDRAM, DDR SDRAM, RAM-SRAM, EDO RAM, and / or RAMBUS RAM), and / or read-only memory (e.g., PROM and / or EEPROM). Additionally, in some embodiments, the processor subsystem 110 and / or interconnect 150 are connected to a memory controller, which is electrically connected to the memory 120.

[0086] In some embodiments, the instructions may be executed by processor subsystem 110. In this example, memory 120 may include a computer-readable medium (e.g., a non-transitory or transient computer-readable medium) that can be used to store (e.g., configured to store, assigned to store, and / or store) instructions executable by processor subsystem 110. In some embodiments, each instruction stored by memory 120 and executed by processor subsystem 110 corresponds to an operation for performing the functionality described herein. For example, memory 120 may store program instructions to implement the functionality associated with method 300 described below.

[0087] As mentioned above, I / O interface 130 may be one or more types of interfaces that enable computer system 100 to communicate with other devices. In some embodiments, I / O interface 130 includes a bridge chip (e.g., a southbridge) connecting a front-side bus to one or more back-side buses. In some embodiments, I / O interface 130 enables communication with one or more I / O devices (exemplified as I / O device 140) via one or more corresponding buses or other interfaces. For example, I / O devices may include one or more of the following: physical user interface devices (e.g., physical keyboard, mouse, and / or joystick), storage devices (e.g., as described above with respect to memory 120), network interface devices (e.g., to a local area network or wide area network), sensor devices (e.g., as described above with respect to sensors), and / or auditory and / or visual output devices (e.g., screens, speakers, lamps, and / or projectors). In some embodiments, the visual output device is referred to as a display component. For example, a display component may be configured to provide visual output, such as displaying images on a physical visual medium via an LED display or image projection. As used herein, “display” content includes content that is visually generated by sending data (e.g., image data and / or video data) to an integrated or external display component via a wired or wireless connection to stop displaying content (e.g., video data rendered and / or decoded by a display controller).

[0088] In some embodiments, computer system 100 includes a component that integrates I / O device 140 with other components (e.g., a component including I / O interface 130 and I / O device 140). In some embodiments, I / O device 140 is separate from other components of computer system 100 (e.g., it is a discrete component). In some embodiments, I / O device 140 includes a network interface device that allows computer system 100 to connect to a network or other computer system (e.g., to communicate with the network or other computer system) via wired or wireless means. In some embodiments, the network interface device may include Wi-Fi, Bluetooth, NFC, USB, Thunderbolt, Ethernet, etc. For example, computer system 100 may utilize NFC connectivity to facilitate banking, credit, financial, token (e.g., fungible or non-fungible tokens) and / or cryptocurrency transactions between computer system 100 and another nearby computer system.

[0089] In some embodiments, I / O device 140 includes components for detecting users (e.g., users, people, animals, another computer system different from the computer system, and / or objects) and / or input from the detected users (e.g., tap input and / or non-tap input (e.g., verbal input, acoustic requests, acoustic commands, acoustic statements, swipe input, press and drag input, gaze input, air gestures, and / or mouse clicks)). In some embodiments, I / O device 140 enables computer system 100 to identify users associated with accounts within the environment and / or users who do not have accounts within the environment. For example, computer system 100 may detect known users (e.g., users corresponding to accounts) and access information about the users using the known users' accounts. In some embodiments, as part of computer system 100's user detection, computer system 100 detects that a user's account is associated with a group of users (e.g., included in and / or identified relative to that group of users). For example, computer system 100 may access information associated with accounts of a family defined as a group of accounts in response to detecting such a family member. In some implementations, the user's account may be connected to additional accounts and / or additional computer systems. For example, computer system 100 may detect such additional computer systems and / or detect such computer systems for the purpose of detecting users. In some implementations, computer system 100 detects unknown users and enables guest accounts of unknown users to utilize computer system 100.

[0090] In some embodiments, I / O device 140 includes one or more cameras. In some embodiments, the camera includes an image sensor (e.g., one or more optical sensors and / or one or more depth camera sensors) that provides computer system 100 with the ability to detect user and / or user gestures (e.g., hand gestures and / or air gestures) as input. In some embodiments, air gestures are gestures detected without the user touching an input element that is part of the device (or independently of an input element that is part of the device) and based on detected movement of a part of the user's body through the air (including movement of the user's body relative to an absolute reference (e.g., the angle of the user's arm relative to the ground or the distance of the user's hand relative to the ground), movement relative to another part of the user's body (e.g., movement of the user's hand relative to the user's shoulder, movement of one of the user's hands relative to the user's other hand, and / or movement of the user's fingers relative to another finger or part of the user's hand), and / or absolute movement of a part of the user's body (e.g., a tapping gesture that includes the hand moving a predetermined amount and / or speed in a predetermined pose, or a shaking gesture that includes a predetermined speed or amount of rotation of a part of the user's body)). In some implementations, one or more cameras enable computer system 100 to send image and / or video information to an application. For example, image data captured by a camera may enable computer system 100 to complete a video call by sending video data to an application used to make the video call.

[0091] In some embodiments, I / O device 140 includes one or more microphones. For example, the microphone may be used by 100 to obtain data and / or information from a user without contact input. In some embodiments, the microphone enables computer system 100 to detect speech and / or voice input from a user. In some embodiments, computer system 100 utilizes voice input to enable personal assistant functionality. For example, a user makes a request to computer system 100 to perform an action and / or obtain information from the user. In some embodiments, computer system 100 utilizes voice input (e.g., in conjunction with one or more other input and / or output technologies) to request and / or detect information from a user without requiring physical contact between the user and computer system 100.

[0092] In some embodiments, I / O device 140 includes a physical input medium for a user to interact directly with computer system 100. In some embodiments, the physical input medium includes one or more physical buttons (e.g., haptically pressable buttons and / or haptically non-pressable components) on and / or connected to computer system 100, mouse and keyboard input methods (e.g., connected to computer system 100 together with and / or separately from one or more I / O interfaces), and / or haptically sensitive display components.

[0093] In some embodiments, I / O device 140 includes one or more components for outputting information (e.g., display components, audio generation components, speakers, haptic output devices, displays, projectors, and / or touch-sensitive displays). In some embodiments, computer system 100 uses I / O device 140 to convey information and / or status of computer system 100. In some embodiments, I / O device 140 includes haptic output components. For example, the haptic output component may be a haptic generation component that enables computer system 100 to deliver information to a user who comes into contact with computer system 100 (e.g., holds, touches, and / or is nearby). In some embodiments, I / O device 140 includes one or more components for outputting visual output (e.g., video, images, animations, 3D rendering, augmented reality overlays, motion graphics, data visualizations, digital art, etc.). For example, displaying content from one or more applications and / or system applications, and / or displaying widgets corresponding to one or more applications (e.g., controls displaying real-time information and / or data).

[0094] In some implementations, I / O device 140 includes one or more components for outputting audio (e.g., smart speaker, home theater system, soundbar, headphones, earphones, earbuds, speaker, TV speaker, augmented reality headphone speaker, audio jack, optical audio output, Bluetooth audio output, HDMI audio output, audio sensor, etc.). In some implementations, computer system 100 is capable of outputting audio through one or more speakers. For example, computer system 100 outputs audio-based content and / or information to a user. In some implementations, one or more speakers enable spatial audio (e.g., audio output corresponding to the environment (e.g., computer system 100 detects materials and / or objects in the environment and / or computer system 100 changes audio modes, intensities, and / or waveforms to compensate for changing environmental characteristics)).

[0095] Figures 2 through 5 illustrate exemplary components and user interfaces of an electronic device 200 according to some embodiments. The electronic device 200 (sometimes referred to herein as device 200) may include one or more features of the computer system 100. In the example described with respect to Figures 2 through 5, device 200 is a laptop computer. In some embodiments, device 200 is not limited to a laptop computer, and those skilled in the art will recognize that device 200 may be one or more other devices (e.g., as described herein and / or including one or more of the components and / or functions described herein with respect to device 200). For example, device 200 may be a public device (such as a smart display, smart speaker, and / or television) and / or a personal device (such as a smartphone, smartwatch, tablet, desktop computer, fitness tracker, and / or head-mounted display). In some embodiments, the public device is configured to provide functionality to multiple users (e.g., simultaneously and / or at different times). In such embodiments, the public device may be managed and / or established by a single user. In some embodiments, the personal device is configured to provide functionality to a single user (e.g., at a certain time, such as when a single user logs into the personal device).

[0096] Figures 2A to 2C illustrate a device 200 in three different physical positions. As illustrated in Figure 2A, device 200 is a laptop computer (also referred to herein as a "laptop") comprising a base portion 200-2 (e.g., resting horizontally on a surface such as a table, as shown in Figure 2A) and a display portion 200-1 connected to the base portion 200-2 at a connection portion 200-3 (e.g., one or more connection points, motor arms, hinges, and / or joints) that allows the display portion 200-1 to pivot and / or change orientation relative to the base portion 200-2. For example, device 200 may pivot at connection portion 200-3 to rotate the display portion 200-1 and / or device 200 to one or more positions corresponding to an "off" internal state (e.g., as further described below with reference to Figure 2C). In some embodiments, the position corresponding to the "off" internal state is a position in which device 200 is in a predetermined pose. For example, the predetermined pose may include a display portion 200-1 positioned parallel to the base portion 200-2 or a display portion 200-1 forming a predetermined angle (e.g., 60 degrees) relative to the base portion 200-2. In some embodiments, in the "off" internal state, the area where the device 200 displays content is positioned in a manner corresponding to the "off" internal state (e.g., indicating the "off" internal state, associated with the "off" internal state, and / or configured to accompany the "off" internal state) (e.g., an area facing downwards, invisible, and / or obscuring the displayed content). In some embodiments, in the "off" internal state, the area where the device 200 displays content is not positioned in a manner corresponding to the "off" internal state (e.g., indicating the "off" internal state, associated with the "off" internal state, and / or configured to accompany the "off" internal state) (e.g., instead positioned in a manner corresponding to the "on" internal state). For example, when not in the "off" internal state, device 200 can be positioned within different open positions (e.g., where the display portion 200-1 is not parallel to the base portion 200-2, and where the area where the content displayed by device 200 is visible and / or unobstructed). It should be recognized that the display portion 200-1 being parallel to the base portion 200-2 is an example of positioning corresponding to the "off" internal state of device 200 (e.g., closed position). In some embodiments, another configuration may set another orientation of the display portion 200-1 relative to the base portion 200-2 as a closed position of device 200, as illustrated in Figure 2C.

[0097] Figure 2A illustrates display screen 200-4 (representing the area where content is displayed by device 200) on the left and device 200 in the corresponding pose on the right. As illustrated in Figure 2A, device 200 is in a first position (e.g., display portion 200-1 is perpendicular to base portion 200-2, forming a 90-degree angle). In Figure 2A, display screen 200-4 represents the content currently displayed (e.g., via display components) by device 200 when the first position is open. In Figure 2A, display screen 200-4 illustrates the internal state of device 200 being "on" (e.g., operational, powered, awake, a higher power and / or more resource-intensive state compared to the "off" state, and / or activated). In some embodiments, device 200 displays (e.g., via display screen 200-4) one or more user interfaces (e.g., user interface objects, windows, application user interfaces, system user interfaces, controls, and / or other visual content). In some embodiments, device 200 displays (e.g., via display screen 200-4) one or more user interfaces when it is in an "on" internal state. For example, in FIG2A, device 200 is in an "on" internal state, and display screen 200-4 displays a desktop user interface 200-5 including an application window. In some embodiments, the user interface includes (and / or) one or more user interface objects (e.g., windows, icons, and / or other graphical objects). For example, the user interface (e.g., 200-5) may include one or more graphical objects that are different from and / or the same as the application window.

[0098] Figure 2B illustrates a display screen 200-4 on the left and a device 200 in a corresponding pose on the right. As illustrated in Figure 2B, the device 200 is in a second position (e.g., the display portion 200-1 is angled relative to the base portion 200-2 (e.g., via the connecting portion 200-3), forming a 120-degree angle (e.g., a larger angle than in Figure 2A)). In Figure 2B, the display screen 200-4 represents the content displayed by the device 200 in the second position. The display screen 200-4 illustrates the internal state of the device 200 when it is "on" (e.g., the same internal state as shown in the top view of Figure 2A). In Figure 2B, the device 200 displays (e.g., via the display screen 200-4) a desktop user interface 200-5 (e.g., the same as shown in Figure 2A). In some embodiments, the device 200 displays a different user interface (e.g., in addition to the desktop user interface 200-5). For example, although Figure 2B illustrates that device 200 displays the same desktop user interface 200-5 as in Figure 2A when it is in a different location than in Figure 2A, device 200 may also display different user interfaces. In some embodiments, device 200 displays a user interface corresponding to a physical state (e.g., positioning, location, and / or orientation) (e.g., based on physical state, due to physical state, caused by physical state, related to physical state, and / or configured to accompany physical state), including content specific to a particular angle or specific to the current context.

[0099] Figure 2C illustrates a display screen 200-4 on the left and a device 200 in a corresponding pose on the right. As illustrated in Figure 2C, the device 200 is in a third position (e.g., the display portion 200-1 is angled relative to the base portion 200-2 (e.g., via the connecting portion 200-3), forming a 60-degree angle (e.g., a smaller angle compared to Figures 2A and 2B)). In Figure 2C, the display screen 200-4 represents the content displayed by the device 200 in the third position. In Figure 2C, the display screen 200-4 illustrates the internal state of the device 200 as "off" (e.g., inactive, not powered, not woken up, not activated, power off, asleep, hibernating, inactive, and / or disabled). In some embodiments, the device 200, when in the "off" internal state, does not (e.g., via the display screen 200-4) display (e.g., abandons display) one or more user interfaces (e.g., does not display any visual content). In some implementations, when device 200 is in an "off" internal state, it displays (e.g., via display screen 200-4) one or more user interfaces (e.g., the same and / or different from one or more user interfaces displayed when in an "on" internal state) (e.g., a user interface specific to the "off" state and / or a way of displaying a user interface not specific to the "off" internal state). In Figure 2C, display screen 200-4 is blank because nothing is displayed on the display of device 200 (e.g., display screen 200-4 is off and / or does not display a user interface) (e.g., desktop user interface 200-5 is not displayed on display screen 200-4).

[0100] In some embodiments, device 200 includes one or more components (also referred to herein as “moving components”) that enable device 200 to perform (e.g., cause and / or control) movement (and / or be moved). For example, performing movement may include a portion of mobile device 200 (e.g., movement of less or all components of the device), all of mobile device 200 (e.g., movement of the entire device (including all its components), such as by changing position), and / or movement (e.g., communication with device 200 and / or the moving components of device 200) of one or more other devices and / or components. For example, device 200 may move automatically (e.g., pivot), cause and / or control movement of display portion 200-1 relative to base portion 200-2, such as moving to any of the positions illustrated in Figures 2A through 2C. In some embodiments, device 200 performs movement based on the internal state of device 200. Performing movement based on internal state enables new (e.g., otherwise unavailable) interactions of device 200. For example, such novel interactions of device 200 can be configured using specific features, functions, modes, and / or procedures that leverage the ability of device 200 to perform movement. Examples of such interactions include using movement to (e.g., to a user) convey the internal state of the device (e.g., on, off, sleep, and / or hibernate) to assist user input (e.g., reduce distance to the user), and / or enhance the interactive behavior of the device (e.g., move in a specific manner during interaction with the user to convey information such as importance and / or direction of attention). In some embodiments, the movement performed corresponds to one or more of the following (e.g., caused by, responded to, and / or determined and / or performed based on one or more of the following): detected input, detected context (e.g., environmental context and / or user context), and / or the internal state of device 200 (e.g., internal state and / or a set of internal states). For example, device 200 may perform movement of a display portion, such that device 200 moves from a first position illustrated in FIG. 2A to a second position illustrated in FIG. 2B. In this example, device 200 may detect that the user has repositioned relative to device 200 (e.g., the user stands up), and in response, device 200 may perform a movement to a second position, such that the display is at an optimized viewing angle based on the height and / or angle of the user's eye relative to the repositioned display of device 200. As another example, device 200 may perform a movement such that device 200 moves from a first position illustrated in FIG. 2A to a third position illustrated in FIG. 2C. In this example, device 200 may perform the movement to the third position in response to detecting an internal state with reduced activity (e.g., an "off" internal state as described above). In this way, movement of device 200 to one or more positions can indicate the internal state of device 200.

[0101] Figures 2A to 2C illustrate a device 200 having a display portion capable of moving with one degree of freedom via a connection 200-3 (e.g., a hinge) connecting the display portion 200-1 to the base portion 200-2. In some embodiments, the device 200 includes one or more components having one or more degrees of freedom. For example, a moving component of the device 200 (e.g., an output component that causes and / or allows movement) (e.g., 200-26C of Figure 5) may include multiple degrees of freedom (e.g., six degrees of freedom including three translational components and three rotational components). For example, the device 200 may be implemented to move the display portion by telescopic forward or backward movement (e.g., the display portion 200-1 moves forward while the base portion 200-2 remains stationary in space relative to the base portion (e.g., to reduce and / or increase the user's viewing distance)). As yet another example, the device 200 may be implemented to move the display portion to rotate about an axis perpendicular to the hinge, such that the display portion can rotate to position the display to follow the user as the user walks around the device 200. While the examples shown in Figures 2A to 2C illustrate a hinge, other moving components may be included in device 200, such as actuators (e.g., pneumatic actuators, hydraulic actuators, and / or electric actuators), movable bases, rotatable components, and / or rotatable bases. In some embodiments, one or more moving components may enable device 200 to move in different ways, such as by rotation (e.g., 0-360 degrees), lateral movement (e.g., right, left, down, up, and / or any combination thereof), and / or tilting (e.g., 0-360 degrees).

[0102] Figure 3 illustrates an exemplary block diagram of device 200. In some embodiments, device 200 includes some or all of the components described relative to Figures 1A, 1B, 3, and 5B. As illustrated in Figure 3, device 200 has a bus 200-13 that operatively couples I / O segments 200-12 (also referred to as I / O subsegments and / or I / O interfaces) to processor 200-11 and memory 200-10. As illustrated in Figure 3, I / O segments 200-12 are connected to output devices 200-16 (also referred to herein as “output components”). In some embodiments, output device 200-16 includes one or more visual output devices (e.g., display components such as monitors, displays, projectors, and / or touch-sensitive displays), one or more tactile output devices (e.g., devices that cause vibration and / or other tactile outputs), one or more audio output devices (e.g., speakers), and / or one or more moving components (e.g., actuators, motors, mechanical linkages, devices that cause and / or allow movement, and / or one or more moving components as described above). As illustrated in Figure 3, output device 200-16 includes two exemplary moving components (e.g., a movement controller 200-17 and an actuator 200-18). Actuator 200-18 can be any component that performs (e.g., partial and / or overall) physical movement of a device (e.g., device 200 and / or devices coupled to and / or in contact with the device). Movement controller 200-17 can be any component (e.g., a control device) that controls actuator 200-18 (e.g., provides control signals to the actuator). For example, the motion controller 200-17 can provide control signals to actuate the actuator 200-18 (e.g., cause physical movement). In some embodiments, the motion controller 200-17 includes one or more logic components (e.g., a processor), one or more feedback components (e.g., sensors), and / or one or more control components (e.g., for applying control signals, such as relays, switches, and / or control lines). In some embodiments, the motion controller 200-17 and the actuator 200-18 are embodied in the same device and / or component (e.g., a dedicated onboard motion controller 200-17 attached to the actuator 200-18). In some embodiments, the motion controller 200-17 and the actuator 200-18 are embodied in different devices and / or components (e.g., one or more processors 200-11 may act as the motion controller 200-17 for the actuator 200-18).In some implementations, the motion controller 200-17 and / or actuator 200-18 are embodied in a device (or one or more devices) other than device 200 (e.g., device 200 is coupled to (e.g., temporarily and / or removably) another device and can instruct the motion controller 200-17 and / or the actuator 200-18 to control the other device). The actuator 200-18 can be used to induce one or more types of mechanical movement (e.g., linear and / or rotary) in one or more ways (e.g., using electrical, magnetic, hydraulic, and / or pneumatic power). Examples of actuators 200-18 may include electromechanical actuators, linear actuators, and / or rotary actuators.

[0103] As illustrated in Figure 3, I / O section 200-12 is connected to input device 200-14. In some embodiments, input device 200-14 includes one or more visual input devices (e.g., cameras and / or light sensors), one or more physical input devices (e.g., buttons, sliders, switches, touch-sensitive surfaces, and / or rotatable input mechanisms), one or more audio input devices (e.g., microphones), and / or other input devices (e.g., accelerometers, pressure sensors (e.g., contact strength sensors), distance sensors, temperature sensors, GPS sensors, accelerometers, orientation sensors (e.g., compasses), gyroscopes, motion sensors, and / or biometric sensors). Additionally, I / O section 200-12 may be connected to communication unit 200-15 for receiving application and operating system data using Wi-Fi, Bluetooth, Near Field Communication (NFC), cellular, and / or other wireless (and / or wired) communication technologies.

[0104] The memory 200-10 of the personal electronic device 200 may include one or more non-transitory computer-readable storage media for storing computer-executable instructions that, when executed by one or more computer processors 200-11, cause those computer processors to perform, for example, the techniques described below, including processes 700, 900, 1100, 1200, 1300, 1500, 1600, and 1700 (Figures 7, 9, 11, 12, 13, 15, 16, and 17). The computer-readable storage medium can be any medium that can tangibly contain or store computer-executable instructions for use by or in connection with an instruction execution system, apparatus, or device. In some embodiments, the storage medium is a transient computer-readable storage medium. In some embodiments, the storage medium is a non-transitory computer-readable storage medium. Non-transitory computer-readable storage media may include, but are not limited to, magnetic storage devices, optical storage devices, and / or semiconductor storage devices. Examples of such storage devices include magnetic disks, optical discs based on CD, DVD, and Blu-ray technologies, and persistent solid-state storage such as flash memory and solid-state drives. The electronic device 200 is not limited to the components and configurations of FIG3, but may include other and / or additional components in a variety of possible configurations, all of which are intended to be within the scope of this disclosure.

[0105] Figure 4 illustrates a functional diagram of actuator 200-18B according to some embodiments. As described above, actuator 200-18B can be any component that performs physical movement. In some embodiments, actuator 200-18B is operated using inputs including control signal 200-18A and / or energy source 200-18B. For example, actuator 200-18B can be a rotary actuator that converts electrical energy into rotational movement. This rotational movement can cause movement of the display portion of device 200 described above relative to Figures 2A to 2C (e.g., counterclockwise rotational movement of the actuator moves device 200 to a position with a larger angle (e.g., the second position illustrated in Figure 2B), and clockwise (e.g., opposite) rotational movement of the actuator moves device 200 to a position with a smaller angle (e.g., the third position illustrated in Figure 2C)). Control signal 200-18A may indicate one or more start and / or stop commands, direction of movement and / or actuation, speed of movement and / or actuation, duration of movement and / or actuation, target positioning (e.g., pose and / or position) for movement and / or actuation, and / or one or more other characteristics of movement and / or actuation. In some embodiments, the control signal and the power source are the same signal and / or input. In some embodiments, one or more additional components (e.g., mechanical and / or electrical) (e.g., removably or permanently) are coupled to actuator 200-18B to influence movement and / or actuation (e.g., mechanical linkages, such as lead screws, gears, and / or other components for altering (e.g., switching) the characteristics of movement and / or actuation). In some embodiments, actuator 200-18B includes one or more feedback components (e.g., a positioning sensor, an encoder, an overcurrent sensor, and / or a force sensor) that form part of a feedback loop for modifying and / or stopping movement and / or actuation (e.g., slowing down actuation upon reaching a target position and / or stopping actuation when physical resistance to actuation is detected via a sensor). In some embodiments, one or more feedback components are included (e.g., partially and / or completely) in a motion controller (e.g., motion controller 200-13) operatively coupled to the actuator.

[0106] Now turn attention to the functionality (e.g., features and / or capabilities) of one or more devices (e.g., computer system 100 and / or electronic device 200). One such functionality is the implementation of an “agent,” which may alternatively be referred to as a software agent, intelligent agent, interactive agent, virtual assistant, intelligent virtual assistant, interactive virtual assistant, personal assistant, intelligent personal assistant, interactive personal assistant, intelligent interactive personal assistant, and / or artificial intelligence (AI) assistant. In some implementations, an agent refers to a collection of one or more functions implemented in hardware and / or software (e.g., locally and / or remotely) on an agent system (e.g., a single device and / or multiple devices). In some implementations, the agent performs operations to perceive the environment, acquire knowledge, retrieve knowledge, learn skills, interact with users, and / or perform tasks. The agent may perform these (and / or other) operations, for example, in response to user input and / or automatically (e.g., at an appropriate time determined based on the perceived context). A non-exhaustive list of exemplary operations that the agent may use and / or be used with includes: tracking a user's eyes, face, and / or body (e.g., to move with the user and / or identify the user's intentions and / or activities); detecting, identifying, and / or classifying users in an environment; detecting and / or responding to input (e.g., verbal input, air gestures, and / or physical input, such as touch input and / or force input to physical hardware components (e.g., buttons, knobs, and / or sliders)); detecting context (e.g., user context, operational context, and / or environmental context); moving (e.g., changing pose, orientation, orientation, and / or location); performing one or more operations in response to input, context, and / or stimuli (e.g., objects or events (e.g., external and / or internal to the device) that elicit one or more responsive operations on the device); providing intelligent interaction capabilities (e.g., in part due to one or more machine learning (“ML”) models, such as large language models (“LLM”)) for responding to and / or enabling operations to be performed; and / or (e.g., automatically and / or intelligently) performing tasks (e.g., a set of operations for achieving a specific goal). In some implementations, the agent performs actions in response to contactless input (e.g., air gestures and / or natural language commands). The foregoing list is intended to illustrate the operations that can be performed by the agent, but is not intended to be an exhaustive list. Other operations fall within the expected scope of the agent's capabilities. Additionally, for the purposes of this disclosure, the agent need not include all the functionalities mentioned herein, but may include fewer or more functionalities (e.g., the agent may be implemented on an agent system that does not have mobile functionality but otherwise includes an intelligent personal assistant capable of interacting with the user).

[0107] In some implementations, a user is one or more of the following (e.g., representing one or more of the following, including one or more of the following, and / or being included in one or more of the following): (e.g., a user, person, object, and / or animal) in the device's environment (e.g., physical and / or virtual environment). In some implementations, a user is an entity that is perceived (e.g., detected by the device, one or more other devices, and / or one or more components thereof) (e.g., representing the entity, including the entity, and / or being included in the entity). In some implementations, an entity is something that is distinguished from surrounding entities (e.g., environmental fragments and / or other users) and / or something that is considered to be a discrete logical construct via one or more components (e.g., a sensing component and / or other components). In some implementations, a user is physical and / or virtual. For example, a physical user may represent a user standing in front of the device and perceived by the device. As another example, a virtual user may represent an avatar perceived by the device in a virtual scene (e.g., an avatar detected in a media stream received by the device and / or captured by the device's camera). Although presented above as an example of “user,” the terms and / or concepts referred to as “person,” “object,” and / or “animal” are used interchangeably with “user” throughout this disclosure unless otherwise expressly indicated. For example, the use of the term “user” can also be understood to mean “user” unless otherwise expressly indicated.

[0108] As an example, and referring again to Figures 2A to 2C, an agent implemented at least partially on device 200 can perform operations that cause the display portion 200-1 of device 200 to move relative to the base portion 200-2. For example, the agent (e.g., based on face detection and tracking) detects a situation including a user standing up (e.g., perceiving the situation and determining that the situation has occurred); and in response, the agent causes device 200 to open and / or device 200 to open the display portion 200-1 to a greater angle. As another example, the agent can detect verbal input corresponding to a request to move the display (e.g., the verbal input is interpreted as the request and / or refers to an operation including the request) (e.g., “Please move my display” or “Please enter sleep mode”); and in response, the agent causes device 200 to move and / or device 200 to move the display portion 200-1.

[0109] Figure 5 illustrates a functional diagram of an exemplary agent system 200-20A. As illustrated in Figure 5, agent system 200-20A has a dashed box boundary surrounding input component 200-22, agent component 200-24, and output component 200-26. In some embodiments, agent system 200-20A includes fewer, more, and / or different components compared to those illustrated in Figure 5. In some embodiments, agent system 200-20 is implemented on a single device (e.g., computer system 100 and / or electronic device 200). In some embodiments, agent system 200-20 is implemented on multiple devices. In some embodiments, one or more components of agent system 200-20 illustrated in and / or described in Figure 5 are external to but operatively coupled to agent system 200-20 (e.g., accessories, external devices, external sensors, external actuators, external display components, external speakers, and / or external databases). In some implementations, one or more components of agent system 200-20 are located at a local location relative to one or more other components of agent system 200-20. In some implementations, one or more components of agent system 200-20 are located at a remote location relative to one or more other components of agent system 200-20.

[0110] In some implementations, input components 200-22 include components for performing the sensing and / or communication functions of agent system 200-20. As illustrated in Figure 5, input components 200-22 include one or more sensors 200-22A. The one or more sensors 200-22A may include any components for detecting data corresponding to the physical environment. Examples of one or more sensors 200-22A may include: cameras, light sensors, microphones, accelerometers, positioning sensors, pressure sensors, temperature sensors, olfactory sensors, and / or contact sensors. This list is not intended to be exhaustive, and one or more sensors 200-22A may include other sensors not explicitly identified herein that detect, generate, and / or otherwise provide data that can be used (e.g., processed, stored, and / or transformed) for detecting data corresponding to the physical environment. As illustrated in Figure 5, input components 200-22 include one or more communication components 200-22B. One or more communication components 200-22B may include any components (e.g., antenna, modem, network interface component, encoder, decoder, and / or communication protocol stack) for transmitting and / or receiving communications within and / or outside the agent system 200-20. Communication components 200-22B may be between different devices and / or between components on the same device. Communication may include control signals and / or data (e.g., messages, instructions, files, application data, and / or media streams). In some embodiments, input components 200-22 include fewer, more, and / or different components compared to those illustrated in FIG. 5. In some embodiments, input components 200-22 are implemented in hardware and / or software.

[0111] In some implementations, agent components 200-24 include components that manage and / or implement the agency functions of agent system 200-20. As illustrated in Figure 5, agent components 200-24 include the following functional components: task flow, coordination and / or orchestration component 200-24A, management component 200-24B, perception component 200-24C, evaluation component 200-24D, interaction component 200-24E, strategy and decision-making component 200-24F, knowledge component 200-24G, learning component 200-24H, model component 200-24I, and API component 200-24J. Each of these components is briefly described below. It is important to note that this list of agent components 200-24 is not intended to be exhaustive, and agent components 200-24 may include other functional components not explicitly identified herein, which may be used (e.g., processed, stored, and / or transformed) to perform any functions of the agent, such as those described herein. In some implementations, agent components 200-24 include fewer, more, and / or different components compared to those illustrated in Figure 5. In some implementations, agent components 200-24 are implemented in hardware and / or software.

[0112] In some embodiments, task flow, coordination, and / or orchestration components 200-24A perform operations that enable the agent to handle coordination between various components. For example, operations may include handling data processing task flows to move from perception components 200-24C (e.g., those detecting speech input) to model components 200-24I (e.g., for processing the detected speech input using a large language model to determine the content and / or intent of the speech input). In some embodiments, task flow, coordination, and / or orchestration components 200-24A perform operations that enable the agent to handle coordination between one or more external components (e.g., resources). For example, Figure 5 illustrates examples of external components, such as external databases 200-30. In some embodiments, management components 200-24B include functionality performed by the operating system of the device implementing agent system 200-20. In some embodiments, management components 200-24B include functionality performed by one or more applications of the device implementing agent system 200-20.

[0113] In some implementations, management component 200-24B performs operations that enable the agent system to handle administrative tasks, such as managing system and / or component updates, managing user accounts, and managing system settings and / or component settings. In some implementations, management component 200-24B includes functionality performed by the operating system of the device implementing agent system 200-20. In some implementations, management component 200-24B includes functionality performed by one or more applications of the device implementing agent system 200-20.

[0114] In some embodiments, the sensing components 200-24C perform operations that enable the agent to sense environmental input. For example, operations may include detecting an existing context and / or environmental conditions, detecting the presence of a user (e.g., a user, person, object, and / or animal in the environment), detecting input including voice, detecting input including air gestures, detecting facial expressions, detecting user characteristics (e.g., visible and / or invisible), and / or detecting verbal and / or physical cues. In some embodiments, the sensing components 200-24C include functionality performed by the operating system of the device implementing the agent system 200-20. In some embodiments, the sensing components 200-24C include functionality performed by one or more applications of the device implementing the agent system 200-20.

[0115] In some embodiments, the evaluation component 200-24D performs operations that enable the agent to process evaluation data (e.g., to determine contexts such as user context, environmental context, and / or operational context). For example, the operations may include evaluating data collected from the perception component 200-24C, the knowledge component 200-24G, the external database 200-30, and / or the remote processing resource 200-32. In some embodiments, the evaluation component 200-24D includes functionality performed by the operating system of the device implementing the agent system 200-20. In some embodiments, the evaluation component 200-24D includes functionality performed by one or more applications of the device implementing the agent system 200-20.

[0116] This document refers to environmental context (also referred to herein as "context of the environment" and / or "context corresponding to the environment"). In some embodiments, environmental context is a context based on one or more characteristics of the environment (e.g., user, location, time, weather, and / or lighting). For example, environmental context may include it is raining outside, it is daytime, and / or the device is currently located in a park. In some embodiments, the device (e.g., using an agent) determines the environmental context (e.g., currently true, happening, and / or applicable) using one or more of the following: detection input (e.g., via one or more input components) and / or data received from one or more other devices and / or components communicating with the device.

[0117] This document refers to user context (also referred to herein as "user context" and / or "corresponding to user context") (and / or user situation). In some embodiments, a user context is a context based on one or more characteristics of a user (and / or user-based). For example, a user context may include a user's appearance and / or clothing, personality, actions, behaviors, movement, location, and / or pose. In some embodiments, a device (e.g., using an agent) determines a user context (e.g., currently true, happening, and / or applicable) using one or more of the following: detected input (e.g., via one or more input components) and / or data received (e.g., from one or more other devices and / or components communicating with the device). In some embodiments, a device determines a user context based on historical context and / or learned characteristics of the user, wherein one or more characteristics of the user are learned and / or stored by the device over a period of time.

[0118] This document refers to an operational context (also referred to herein as the "context of operation" and / or "operational context"). In some embodiments, an operational context is a context based on one or more characteristics of the operation of a device (e.g., a device that determines and / or accesses the operational context and / or one or more other devices). For example, an operational context may include the internal state of the device (and / or one or more components of the device), the device's internal dialogue (e.g., the device's understanding of the context), the operations performed by the device, and applications and / or processes executed on the device (e.g., running and / or opening). In some embodiments, the device (e.g., using an agent) determines the operational context (e.g., currently true, occurring, and / or applicable) using one or more of the following: detected input (e.g., via one or more input components) and / or received data (e.g., from one or more other devices and / or components communicating with the device). In some embodiments, the device (e.g., using an agent) determines the operational context (e.g., currently true, occurring, and / or applicable) using one or more internal states (e.g., accessed, retrieved, and / or queried by the device's processes).

[0119] In some implementations, interaction components 200-24E perform operations that enable the agent to manage and / or perform interactions with the user. For example, operations may include determining an appropriate interaction model for a specific context and / or in response to specific inputs. In some implementations, interaction components 200-24E include functionality performed by the operating system of the device implementing agent system 200-20. In some implementations, interaction components 200-24E include functionality performed by one or more applications of the device implementing agent system 200-20.

[0120] In some implementations, the policy and decision components 200-24F perform operations that enable the agent to take actions based on available data. For example, operations may include determining which actions to perform and / or which functional components to utilize in response to a detected context. In some implementations, the policy and decision components 200-24F include functionality performed by the operating system of the device implementing the agent system 200-20. In some implementations, the policy and decision components 200-24F include functionality performed by one or more applications of the device implementing the agent system 200-20.

[0121] In some implementations, the knowledge component 200-24G performs operations that enable the agent to access and use stored knowledge. For example, operations may include indexing, storing, and / or retrieving data from data storage areas, databases, and / or other resources. In some implementations, the knowledge component 200-24G includes functionality performed by the operating system of the device implementing the agent system 200-20. In some implementations, the knowledge component 200-24G includes functionality performed by one or more applications of the device implementing the agent system 200-20.

[0122] In some implementations, the learning component 200-24H performs actions that enable the agent to learn through experience. For example, actions may include observing and / or tracking data including preferences, daily habits, user characteristics, and / or environmental characteristics in a way that allows such data to be used to inform future actions performed by the agent and / or its components (e.g., when performing tasks and / or interacting with users). In some implementations, the learning component 200-24H includes functionality performed by the operating system of the device implementing the agent system 200-20. In some implementations, the learning component 200-24H includes functionality performed by one or more applications of the device implementing the agent system 200-20.

[0123] In some implementations, model components 200-24I perform operations that enable the agent to apply ML models (e.g., large language models (LLMs)) to process data. For example, operations may include storing the ML model, executing the ML model, training and / or retraining the ML model, and / or otherwise managing aspects of implementing the ML model. In some implementations, model components 200-24I include functionality performed by the operating system of the device implementing agent system 200-20. In some implementations, model components 200-24I include functionality performed by one or more applications of the device implementing agent system 200-20.

[0124] In some implementations, agent system 200 responds to natural language input. For example, agent system 200 responds to natural language input in the form of statements, questions, commands, and / or requests. In some implementations, agent system 200 outputs text and / or speech output provided in natural language or simulating the style of natural language. For example, agent system 200 may use a speech response indicating the current temperature outside the user's location (e.g., "18 degrees outside") to handle the natural language question "How hot is it outside?". In some implementations, agent system 200 responds to natural language input by providing information (e.g., weather, travel, and / or schedule information) and / or performing tasks (e.g., opening a document, searching a database, and / or opening an application).

[0125] In some implementations, agent system 200 includes and / or relies on one or more data models to process inputs (e.g., natural language input, gesture input, visual input, and / or other data input) and / or provide outputs (e.g., information output via natural language output, visual output, audio output, and / or text output). Such data models may include user data (e.g., data based on a specific interaction and / or from the user with whom the interaction takes place) and / or global data (e.g., general data based on the interaction and / or data from many users) and / or be trained using this user data and / or this global data. For example, user data (e.g., preferences, prior use of language and / or phrases, calendar entries, contact lists, and / or activity data) can be used to better infer user intent and / or provide responses more likely to address the user's requests. In some implementations, the data model used by agent system 200 includes one or more machine learning components (e.g., hardware and / or software) (e.g., one or more neural networks), which are used by and / or implemented using these one or more machine learning components. Such machine learning components can be used to process speech input to determine words and / or phrases therein, one or more contexts corresponding to the words, user intent corresponding to the words, one or more confidence scores, and / or a set of one or more actions to be taken in response to the speech input. Similar operations can be performed to process other types of input, such as visual input, data input, and / or text input. Such data models may include machine learning and / or data processing models, including but not limited to natural language processing models, language models, speech recognition models, object recognition models, visual processing models, ontology, task flow models, and / or intent recognition models (e.g., for determining user intent).

[0126] In some implementations, the Application Programming Interface (API) components 200-24J perform operations that enable the agent to interface with services, devices, and / or components. For example, operations may include relaying data (e.g., requests, responses, and / or other messages) between data interfaces (e.g., between software programs, between system processes and application processes, between system processes, between application processes, between communication protocols, between clients and servers, between file systems, and / or between components on different sides of a trust boundary). In some implementations, the data interfaces served by the API components 200-24J are local (e.g., located at a local location on the device, such as two application processes exchanging data) and / or remote (e.g., located at a remote location on the device, such as interfacing with a web service via a remote server). In some implementations, the API components 200-24J include functionality performed by the operating system of the device implementing the agent system 200-20. In some implementations, the API components 200-24J include functionality performed by one or more applications of the device implementing the agent system 200-20.

[0127] In some embodiments, output components 200-26 include components for performing the output functions of agent system 200-20. The exemplary output components illustrated in FIG5 are briefly described below. In some embodiments, output components 200-26 include fewer, more, and / or different components compared to those illustrated in FIG5. In some embodiments, input components are implemented in hardware and / or software.

[0128] As illustrated in Figure 5, output components 200-26 include one or more visual output components 200-26A. One or more visual output components 200-26A may include any component used to output (e.g., generate, create, and / or display) visual output (e.g., visually perceptible output, such as a graphical user interface, playback of visual media content, and / or lighting) and / or the output that causes such visual output. Examples of one or more visual output components 200-26A may include: display components, projectors, head-mounted displays (HMDs), light-emitting diodes (“LEDs”), and / or components that create visually perceptible effects (e.g., motion). This list is not intended to be exhaustive, and one or more visual output components 200-26A may include other visual output components not explicitly identified herein that detect, generate, and / or otherwise provide data that can be used (e.g., processed, stored, and / or transformed) for outputting visual output.

[0129] As illustrated in Figure 5, output components 200-26 include one or more audio output components 200-26B. One or more audio output components 200-26B may include any component for outputting (e.g., generating and / or creating) audio output (e.g., audibly perceptible output, such as sound, music, speech, and / or audio media content) and / or causing such audio output. Examples of one or more audio output components 200-26B may include: speakers, audio amplifiers, tone generators, and / or components that produce audibly perceptible effects (e.g., the movement of vibrations). This list is not intended to be exhaustive, and one or more audio output components 200-26B may include other audio output components not explicitly identified herein that detect, generate, and / or otherwise provide data that can be used (e.g., processed, stored, and / or transformed) for outputting audio output.

[0130] As illustrated in Figure 5, output components 200-26 include one or more motion output components 200-26C (also referred to herein as "motion components"). One or more motion output components 200-26C may include any component used to output (e.g., generate and / or create) a motion output (e.g., an output including physical movement of a device and / or another device / component) and / or an output that causes such motion output. Examples of one or more motion output components 200-26C may include: motion controllers, actuators, mechanical linkages, electromechanical devices, and / or components that generate physical movement. This list is not intended to be exhaustive, and one or more motion output components 200-26C may include other motion output components not explicitly identified herein that detect, generate, and / or otherwise provide data that can be used (e.g., processed, stored, and / or transformed) for outputting a motion output. As illustrated in Figure 5, output components 200-26 include one or more haptic output components 200-26D. One or more haptic output components 200-26D may include any component for outputting (e.g., generating, creating, and / or displaying) haptic output (e.g., physically perceptible output using tactile sensation, such as vibration, pressure, texture, and / or shape) and / or the output that causes such haptic output. Examples of one or more haptic output components 200-26D may include: a speaker, a component that generates vibration, a component that generates texture changes, a component that generates pressure changes, and / or a component that creates perceptible haptic effects. This list is not intended to be exhaustive, and one or more haptic output components 200-26D may include other haptic output components not explicitly identified herein that detect, generate, and / or otherwise provide data that can be used (e.g., processed, stored, and / or transformed) for outputting haptic output.

[0131] As illustrated in Figure 5, output components 200-26 include one or more communication components 200-26E. The one or more communication components 200-26E may include any components (e.g., antennas, modems, network interface components, encoders, decoders, and / or communication protocol stacks) used for transmitting and / or receiving communications internal and / or external to the agent system 200-20. In some embodiments, communication may be between different devices and / or between components within the same device. In some embodiments, communication may include control signals and / or data (e.g., messages, instructions, files, application data, and / or media streams). In some embodiments, the one or more communication components 200-26E include one or more features of one or more communication components 200-22B (e.g., as described above). In some embodiments, the one or more communication components 200-26E are identical to one or more communication components 200-22B (e.g., handling communication inputs and outputs and therefore considered as one or more components of either and / or both of input and output components).

[0132] Throughout this disclosure, reference may be made to motion outputs (e.g., referred to in various forms such as: movement, device movement, motion output, device motion, motion output, and / or motion output). In some embodiments, output movement (e.g., the output that causes the movement) refers to movement of an electronic device (e.g., a portion or component thereof relative to another portion and / or the entire electronic device). For example, referring again to FIG. 2B, a motion output may refer to device 200 actuating motion component 200-3 to move display portion 200-1 (e.g., from the position in FIG. 2A) to the position illustrated in FIG. 2B. In some embodiments, the motion output is not (e.g., does not include and / or not only includes) a tactile output (e.g., a tactile motion output). In some embodiments, the motion output is not (e.g., does not include and / or not only includes) a vibration output. In some embodiments, the motion output is not (e.g., does not include and / or not only includes) an oscillating movement (e.g., movement of an actuator that causes vibration solely by repeatedly moving the component along a path within the device). In some embodiments, the motion output includes (e.g., requiring and / or causing) a change in the position and / or pose of at least a portion (and / or the whole) of a component or electronic device. In some embodiments, the motion output includes an output that moves at least a portion (and / or the whole) of a component or electronic device from a first position and / or a first pose to a second position and / or a second pose. For example, relative to Figures 2A through 2C, in each of Figures 2A, 2B, and 2C, display portion 200-1 is shown in a different position (e.g., in space) and pose (e.g., relative to base portion 200-2). In some embodiments, the motion output includes an output that moves at least a portion (and / or the whole) of a component or electronic device (e.g., from a first position and / or a first pose and / or from a second position and / or a second pose) to a third position and / or a third pose. In some embodiments, the third position and / or the third pose is the same as the first position and / or the first pose and / or the second position and / or the second pose. For example, a movement output could include the device 200 in FIG2A starting from a first position illustrated in FIG2A, moving to a second position illustrated in FIG2B, and moving back to the first position illustrated in FIG2A. Alternatively, a movement output could include the device 200 in FIG2A starting from a first position illustrated in FIG2A, moving to a second position illustrated in FIG2B, and continuing to move to a third position illustrated in FIG2C.

[0133] Throughout this disclosure, electronic devices may be illustrated (and / or described as being in different positions and / or poses) at different times. For example, Figure 2A illustrates a device 200 in a first position, Figure 2B illustrates a device 200 in a second position, and Figure 2A illustrates a device 200 in a third position. In some embodiments, the electronic device moves itself between such positions and / or poses (e.g., using a movement output). For example, device 200 moves from a first position to a second position under its own power (e.g., using a power supply and one or more actuators to induce movement). Specifically, any examples of electronic devices illustrated and / or described herein in different positions and / or poses (e.g., at different times) should be understood to cover scenarios where the device moves itself between such positions and / or poses (e.g., unless otherwise explicitly indicated).

[0134] Throughout this disclosure, reference may be made to “performing output,” “causing output,” and / or “output” (e.g., via one or more output generating devices and / or via one or more output generating components) (and / or similar phrases). In some embodiments, the output (e.g., or variations thereof) includes (and / or) output movement (e.g., moving the output as described above).

[0135] Throughout this disclosure, reference may be made to “display,” “cause a display,” and / or “output visual content” (e.g., via one or more display components) (and / or similar phrases). In some embodiments, a display (e.g., or a variation thereof) includes displaying visual content in conjunction with output movement (e.g., moving output as described above).

[0136] Throughout this disclosure, reference may be made to "output audio," "output that causes audio," and / or "provide audio output" (e.g., via one or more audio generation components and / or one or more audio output devices) (and / or similar phrases). In some embodiments, outputting audio (e.g., or variations thereof) includes outputting audio content in conjunction with output movement (e.g., movement output as described above).

[0137] Throughout this disclosure, reference may be made to the movement of avatars (e.g., or other representations of displayed users, agents, and / or roles) (e.g., via one or more display components) (and / or similar phrases). In some embodiments, moving an avatar (e.g., or a variant thereof) includes movement in conjunction with output movement (e.g., movement output as described above) to display visual content. For example, displaying an avatar “nodding yes” may include movement of an electronic device in a manner similar to avatar movement (e.g., simulating a nod). In some embodiments, moving an avatar (e.g., or a variant thereof) includes movement with output movement (e.g., movement output as described above) without displaying visual content. For example, a device may perform a movement output simulating a nod without moving the displayed avatar (e.g., the avatar does not move relative to the display). As illustrated in Figure 5, agent system 200-20 may optionally interface with external components (such as external database 200-30, remote processing component 200-32, and / or remote management component 200-34). In some embodiments, external database 200-30 represents one or more functions that provide data storage resources accessible to agent system 200-20. In some embodiments, access to data in external database 200-30 is provided directly to agent system 200-20 (e.g., the agent system manages the database) and / or indirectly to agent system 200-20 (e.g., the database is managed by a different system, but the data stored therein may be provided and / or stored for use by agent system 200-20). In some embodiments, external database 200-30 is dedicated to agent system 200-20 (e.g., for use only by that agent system), not dedicated to agent system 200-20 (e.g., a database of a web service accessible to a different agent system), and / or a combination of dedicated and non-dedicated database resources. In some embodiments, remote processing component 200-32 represents one or more components that act as data processing resources accessible to agent system 200-20. In some implementations, access to the remote processing component 200-32 is provided directly to the agent system 200-20 (e.g., the agent system manages processing resources) and / or indirectly to the agent system 200-20 (e.g., the processing resources are managed by a different system but can provide data processing beneficial to the agent system 200-20). In some implementations, the remote processing component 200-32 is dedicated to the agent system 200-20 (e.g., for use only by that agent system), not dedicated to the agent system 200-20 (e.g., is a processing resource of a web service accessible to a different agent system), and / or a combination of dedicated and non-dedicated processing resources. Examples of data processing include processing image data (e.g., for feature extraction and / or object detection), processing audio data (e.g., for processing natural language speech input via a large language model), and / or training machine learning algorithms and / or models.In some implementations, remote management component 200-34 represents functions including management functions and / or functions related to management functions. For example, such management functions may include providing component updates (e.g., software and / or firmware updates) to agent system 200-30, managing accounts (e.g., licenses, access controls, and / or preferences associated with accounts), synchronizing between different agent systems and / or their components (e.g., enabling agents accessible via multiple devices of a user to provide a consistent user experience across such devices), managing collaboration with other services and / or agent systems, error reporting, managing backup resources to maintain agent system reliability and / or agent availability, and / or other functions required for agent system 200-20 to perform operations, such as those described herein.

[0138] The various components of the agent system 200-20 described above relative to Figure 5 represent functional blocks, which represent functionality. This functionality may be implemented on the same and / or different hardware (e.g., physical components) and / or by the same and / or different software. For example, a functional block may be implemented using one or more physical components, devices (e.g., computer system 100 and / or electronic device 200), and / or software programs. In other words, each functional block does not necessarily represent a single, discrete physical component, device, and / or software program, but may be implemented using one or more of these. Furthermore, agent system 200-20 may include multiple specific implementations of the functionality represented by the respective functional blocks. For example, agent system 200-20 may include multiple different model components representing ML models used in different contexts, multiple different API components representing different APIs for different services, and / or multiple different visual output components for outputting different types of visual output.

[0139] Now let’s turn our attention to a discussion of the concepts that may arise from operations relative to agents.

[0140] As discussed throughout, the agent may be able to interact with the user. In some implementations, this capability includes the ability to process explicit requests, commands, and / or statements. In some implementations, explicit requests, commands, and / or statements include and / or are interpreted as instructions relating to completing a task (e.g., displaying X, completing task Y, and / or performing operation Z). In some implementations, the agent includes the ability to process implicit requests, commands, and / or statements. In some implementations, implicit requests, commands, and / or statements do not include explicit requests, commands, and / or statements. For example, “I like to go to Europe” could be interpreted as an implicit request, command, and / or statement, and in response to detecting such an implicit request, command, and / or statement, device 200 displays a trip in response to the statement. As another example, “This picture is for my grandmother” could be interpreted as an implicit request, command, and / or statement, and in response to detecting such an implicit request, command, and / or statement, device 200 displays suggestions for modifying the picture. As another example, “I’m tired” can be interpreted as an implicit request, command, and / or statement, and in response to detecting such an implicit request, command, and / or statement, device 200 causes the sleep meditation application to begin a meditation session. As yet another example, “I miss my grandfather” can be interpreted as an implicit request, command, and / or statement, and when such an implicit request, command, and / or statement is detected, device 200 can initiate a real-time communication session with the grandfather (e.g., a phone call, video call, and / or text messaging session). In some implementations, implicit requests are more likely to be processed based on one or more current context, operational context, and / or user context, while explicit requests are less likely to be processed based on one or more current context, operational context, and / or user context. For example, the phrase “call my grandfather” could be an explicit request, and in response to detecting such a request, device 200 will initiate a real-time communication session with the grandfather, regardless of one or more current context, operational context, and / or user context. However, the phrase "I miss my grandfather" can be an implicit request, and in response to detecting such a request, device 200 can display a list of gifts to buy for the grandfather if the user has recently discussed buying gifts, or it can call out to the grandfather in another context where the user has not recently discussed buying gifts. In some implementations, the request may include one or more explicit requests and one or more implicit requests. In some implementations, the implicit request is responded to independently of the explicit request; and in other implementations, the response to the implicit request depends on the explicit request.

[0141] This document may refer to responses made by an agent as output by a device. In some embodiments, the response includes an audio component (e.g., audio output, acoustic output, sound and / or speech) (also referred to herein as a “speech response,” “audio response,” and / or “acoustic response”) and / or a visual component (e.g., a display and / or movement of a representation and / or avatar). In some embodiments, the response includes a motion component (e.g., movement of the device). In some embodiments, the response includes a tactile component (e.g., touch and / or vibration).

[0142] This document refers to internal dialogues, internal contexts, and / or operational contexts, which can refer to the dynamic context or dynamic decision-making process of a device, the internal state of device 200, and / or internal data of the device based in part on its decisions. In some embodiments, internal dialogues include a set of one or more rules, characteristics, detections, and / or observations used by a computer system to generate responses to one or more commands, questions, and / or statements. In some embodiments, one or more sets of rules, characteristics, detections, and / or observations are learned and / or generated via deep learning and / or one or more machine learning algorithms and / or using one or more machine learning and / or system agents. In some embodiments, internal dialogues are generated in real time. In some embodiments, internal dialogues are stored locally and / or via cloud storage. In some embodiments, internal dialogues can be modified, updated, and / or deleted. In some embodiments, internal dialogues are generated based on other internal dialogues.

[0143] This document may refer to (e.g., the personality and / or behavior of an agent, user, and / or role) (or a representation of personality / behavior). In some embodiments, personality and / or behavior refers to a set of one or more characteristics that a device detects, understands, conforms to, applies, and / or tracks. In some embodiments, personality or behavior serves as the basis for performing operations. For example, an agent may detect a user's personality and respond in a personality-based manner (e.g., outputting different responses in response to different user personalities). As another example, an agent may output responses having characteristics corresponding to one or more characteristics corresponding to personality and / or behavior (e.g., outputting responses in different ways depending on the agent's personality). In some embodiments, such characteristics represent and / or simulate a user's personality, such as how a user acts and / or speaks. In some embodiments, such characteristics approximate a user's personality.

[0144] In some implementations, the agent is a system agent. In some implementations, a system agent is an agent corresponding to the operating system originating from the device (e.g., the device implementing the agent) and / or a process controlled by the device's operating system. In some implementations, the agent is an application agent. In some implementations, an application agent is an agent corresponding to an application originating from the device (e.g., the device implementing the agent) (e.g., installed on the device and / or executed by the device) and / or a process controlled by the device's application.

[0145] This document may refer to the representation (e.g., avatar and / or avatar representation) of an agent (e.g., and / or user (e.g., person, object and / or animal) and / or user interface object (e.g., animated character)). In some embodiments, the representation of an agent refers to a set of output characteristics (e.g., visual and / or audio) of the agent (and / or user and / or user interface object). For example, the representation of an agent may include (and / or correspond to) one or more visual characteristics (e.g., facial features of an animated face) and / or one or more audio characteristics (e.g., language and speech characteristics of audio output). In some embodiments, the representation (e.g., of the agent) is used to represent the agent's output. For example, a device implementing an interactive agent outputs audio in the agent's voice and displays an animated face of the agent that moves in a manner that mimics the agent speaking the audio output. In this way, the user may feel that they are having a normal conversation with the agent. In some embodiments, the representation of an agent includes (or does not include) personality and / or behavioral characteristics (e.g., as described above). For example, the representation of an agent may include (and / or correspond to) a set of visual characteristics (e.g., facial features of an animated face) and a set of personality characteristics. In some embodiments, the representation of an agent includes a set of user characteristics corresponding to the user's visual representation (e.g., representations of the user's appearance, voice, and / or personality used as an avatar that appears to move and / or speak). In some embodiments, the representation is a facial representation (e.g., a user interface object that is output (e.g., for conveying information to a viewer) and has features that mimic a human face and / or facial expressions).

[0146] In some implementations, a role (e.g., an agent and / or avatar) refers to a specific set of represented characteristics. For example, an avatar may embody the characteristics of fictional and / or non-fictional characters (e.g., from movies, shows, books, TV series, and / or popular culture) (e.g., using these characteristics, applying these characteristics, interacting with these characteristics, and / or outputting based on these characteristics).

[0147] In some implementations, (e.g., agent and / or avatar) voice refers to a set of one or more characteristics corresponding to a sound output that resembles (e.g., represents, simulates, and / or recreates) spoken speech (e.g., attributable to and / or avatar and / or imitated as output by an agent and / or avatar). For example, device 200 may output sentences that produce different sounds depending on the voice used. In some implementations, a particular character and / or avatar may be configured to use a particular voice (e.g., have a corresponding voice). In some implementations, the particular voice may simulate the user's voice.

[0148] In some implementations, (e.g., the appearance of an agent and / or avatar) refers to a set of one or more characteristics corresponding to the visual output representing the avatar (and / or agent). For example, device 200 may output an avatar having a set of facial features that form an appearance similar to a specific character from a movie.

[0149] In some implementations, an avatar's expression refers to a set of one or more characteristics corresponding to a specific visual appearance of a user, avatar, and / or agent. For example, device 200 may output an avatar having a set of facial features arranged in a specific manner to give the appearance of a facial expression (e.g., which can be used as a form of nonverbal communication to a user) (e.g., a frown is an expression of sadness, a smile is an expression of happiness, and / or wide eyes are an expression of surprise). As another example, device 200 may output an avatar having a set of body features (e.g., arms and / or legs) arranged in a specific manner to give the appearance of a body expression (e.g., which can be used as a form of nonverbal communication to a user) (e.g., a gesture is an expression of approval, covering the eyes is an expression of fear, and / or shrugging is an expression of lack of knowledge). In some implementations, expressions include the movement of the avatar (e.g., a nod is an expression of agreement and / or disagreement). In some implementations, device 200 may be movable via a motion component to indicate whether the avatar moves or does not move. In some implementations, the agent performs one or more actions that depend on the user's facial expressions (e.g., detecting whether a person is sad and responding with a friendly statement or question). In some implementations, facial expressions (e.g., whether they are used and / or how they are used and / or how they are output) depend on personality. For example, a first-person sex may use a particular facial expression more often than a second-person sex. As another example, expressions for a first-person sex (e.g., frowning, smiling, and / or the width of eye opening) may look different from expressions (and / or similar and / or equivalent expressions) for a second-person sex (e.g., a first-person sex smiles with their teeth showing, but a second-person sex smiles without showing their teeth).

[0150] In some implementations, an agent (e.g., an avatar of the agent and / or an agent system implementing the agent (e.g., hardware and / or software)) simulates the characteristics of another user, agent, and / or role (e.g., in terms of personality, behavior, facial expressions, and / or voice). In some implementations, simulation includes mirroring the user (e.g., replicating the use and / or movement of phrases detected from a user interacting with the agent). In some implementations, simulating user characteristics includes attempting to reproduce the user's characteristics (e.g., in exactly the same way and / or in a way that is similar to the characteristics but not an exact reproduction of the characteristics). For example, an agent simulating voice and / or facial expressions does not need to have the exact same voice and / or facial expressions as the user being simulated (e.g., but only similar to the user's voice and / or facial expressions).

[0151] In some implementations, components and / or devices utilize learned characteristics (e.g., characteristics of the context, user, and / or environment that the device learns over time (e.g., via detection, prior experience, and / or feedback (e.g., from one or more users)) to perform actions, make decisions, and / or determine the context. For example, characteristics learned over time may include a user's daily habits. In such an example, if a particular user requests a summary of any new messages for that user from an agent at the same time each day, the agent may learn to automatically perform actions based on learned characteristics of daily habits (e.g., what data is needed, when data is needed, and / or for which user). In some implementations, the use of learned characteristics enables the agent (and / or device) to improve its understanding of the context, user, and / or environment (and / or its response to the context, user, and / or environment), and / or its understanding of contexts, users, and / or environments that are otherwise not (and / or will not) understood (e.g., unresponsive or incorrectly responded to). In some implementations, reinforcement learning is used (e.g., by and / or for the agent) to form the learned characteristics. In some implementations, learned characteristics correspond to one or more levels of confidence, certainty, and / or reward (e.g., shaped by one or more reward functions). In some implementations, learned characteristics (and / or how they are used to influence the output of the agent and / or device) may change over time (e.g., the levels of confidence, certainty, and / or reward change over time). For example, the output of a device before learning a set of learned characteristics may differ from the output of a device after learning a set of learned characteristics. In some implementations, components and / or devices use learned knowledge. For example, similar to what has been described above with respect to learned characteristics, learned knowledge may refer to information used to update (e.g., strengthen, add to, and / or enhance) a device's knowledge base (e.g., for use by agents implemented thereon). In some implementations, multiple sets of learned characteristics for a user may be stored and / or used. In some implementations, different sets of learned characteristics for different users may be stored and / or used.

[0152] This document may refer to interactions with an agent (and / or device). In some implementations, an interaction refers to a set of one or more inputs and / or outputs from a device implementing the agent and one or more users. For example, an interaction may be a user input (e.g., “Please turn on the light”) and a corresponding output (e.g., turning on the light and / or the device’s response “OK”). In some implementations, an interaction may include multiple inputs / outputs performed by one or more of the parties to the interaction (e.g., the device and / or the user). For example, an interaction may include a first user input (e.g., “Please turn on the light”) and a corresponding first output (e.g., “Which lights?”), and also includes a second user input (e.g., “Kitchen light”) and a second output from the device (e.g., “OK”). In some implementations, which inputs and / or outputs are considered together as an interaction is based on logical and / or contextual grouping (e.g., interactions within the first thirty (30) seconds and / or interactions related to turning on the light). As those skilled in the art will understand, the interaction may be considered in a manner that depends on the specific implementation (e.g., determining when an interaction is complete may involve determining whether the user is still present (e.g., still talking) and / or whether the user is still talking about the light or has moved on to a different topic). In some implementations, the interaction is a current interaction (e.g., ongoing, currently occurring, and / or active). In some implementations, the interaction is a previous interaction. The examples above describe a device for conversing with a user. In some implementations, the conversation is between two or more users (e.g., users in an environment). For example, the device may detect conversations between users (e.g., users are talking and responding to each other, rather than talking and responding to the device).

[0153] In some implementations, the agent (and / or device) determines and / or performs an action based on an intent corresponding to the user. For example, the device detects user input and outputs a response that depends on the intent of the user's input. For example, the device detects user input including a pointing gesture detected along with a verbal instruction to "turn on that light," and in response, the device turns on a light determined to correspond to the intent of the input (e.g., the light to which the pointing gesture is directed). In some implementations, the intent is determined using one or more of the following (e.g., by the device that detected the input and / or by one or more other devices): one or more inputs, knowledge (e.g., learned knowledge about the user based on observed behavior, personality, and history of interactions), learned characteristics, and / or context. In some implementations, the intent is determined based on one or more types of input (e.g., verbal input, visual input via a camera, and / or contextual input).

[0154] Now let’s turn our attention to the user interface (“UI”) implemented on electronic devices (such as computer system 100 and / or electronic device 200) and the implementation of associated processes.

[0155] Figures 6A and 6B illustrate exemplary techniques for physically adjusting the positioning of a computer system according to some embodiments. The user interface in these figures is used to illustrate the processes described below, including the process in Figure 7.

[0156] Figures 6A and 6B illustrate computer system 600 as a tablet computer. It should be understood that computer system 600 can be other types of computer systems, such as smartphones, smartwatches, laptops, public devices, smart displays, smart speakers, accessories, personal gaming systems, desktop computers, fitness trackers, and / or head-mounted display (HMD) devices. In some embodiments, computer system 600 includes one or more sensors (e.g., cameras, LiDAR detectors, motion sensors, infrared sensors, and / or microphones) and / or communicates with one or more sensors. In some embodiments, computer system 600 includes one or more output devices (e.g., displays, projectors, touch-sensitive displays, haptic output devices, and / or speakers) and / or communicates with one or more output devices. In some embodiments, computer system 600 includes one or more moving components (e.g., actuators, movable bases, rotatable components, and / or rotatable bases) and / or communicates with one or more moving components. In some embodiments, computer system 600 includes one or more components and / or features described above with respect to computer system 100 and / or electronic device 200.

[0157] Figures 6A and 6B illustrate a computer system 600 displaying a user interface 602 with control 604 via a touch-sensitive display. In this example, user interface 602 is a confirmation user interface, and control 604 is a confirmation control. In some embodiments, user interface 602 is a home screen user interface including multiple controls. In some embodiments, user interface 602 is a communication user interface (e.g., telephone, email, voice memo, video call, and / or text messaging tool) with controls for answering telephone calls. In some embodiments, user interface 602 is an entertainment user interface (e.g., media player and / or media streaming player) with controls for initiating playback. In some embodiments, user interface 602 is a productivity user interface (e.g., word processor, calendar, spreadsheet, slideshow, and / or publishing application) with controls for displaying menus of options. It should be recognized that other user interfaces and / or other controls may be used in conjunction with the techniques described herein.

[0158] Figures 6A and 6B also illustrate a motion indicator 608 that indicates whether a portion of the computer system 600 (e.g., a touch-sensitive display and / or another component) is moving, configured to move, and / or currently movable. In some embodiments, in response to determining that the computer system 600 is outputting content, the computer system 600 moves that portion of the computer system 600 via one or more moving components. For example, in response to displaying an alert within a user interface 602, the computer system 600 may rotate that portion so that the user interface 602 faces the user in the environment. As another example, in response to outputting music via one or more audio devices (e.g., speakers) connected to and / or communicating with the computer system 600, the computer system 600 may move that portion in sync with the music being output by the computer system 600. In some embodiments, in response to determining that the computer system 600 is outputting content, the computer system 600 moves that portion to a predetermined location. For example, in response to receiving an incoming video call, computer system 600 may move the portion within the environment to position the preferred location of the user in the environment as the background of the incoming video call (e.g., location and / or orientation).

[0159] In some implementations, in response to input detected by the computer system 600 via one or more sensors, the computer system 600 moves the portion via one or more moving components. For example, the input may include audio input from a user (e.g., voice commands and / or statements), causing the computer system 600 to move the portion toward the source of the audio input and / or according to instructions in the audio input. Alternatively, the input may include air gestures, causing the portion to move based on air gestures (e.g., in response to detecting a specific dismissive hand gesture from a user, the computer system 600 may move the portion so that the user interface 602 is not facing the user). Alternatively, the input may include messages received from another device communicating with the computer system 600 (e.g., a remote control, controller, smartwatch, smartphone, laptop, public facility, smart speaker, accessory, personal gaming system, desktop computer, fitness tracker, and / or HMD device), such as instructions to move to a specific location. Alternatively, the input may include physical input (e.g., button presses, touch inputs, and / or physically moving a portion of the computer system 600). For example, in response to detecting that a portion of the computer system 600 has been pushed to the right, the computer system 600 may move that portion further to the right.

[0160] In some implementations, in response to detecting user movement via one or more sensors, the computer system 600 moves the section in a manner that simulates the user's movement. For example, when the user leans to the left, the computer system 600 may tilt the section to the left, and / or when the user leans to the right, the computer system 600 may tilt the section to the right. As another example, when the user stands up from a sitting position, the computer system 600 may raise the section, and / or when the user sits down from a standing position, the computer system 600 may lower the section.

[0161] Figures 6A and 6B also illustrate a hand 606, which is the user's hand. In some embodiments, hand 606 is used to illustrate that the computer system 600 can move differently depending on the proximity of the input mechanism such as hand 606. In some embodiments, hand 606 is another type of object, such as a stylus and / or a controller.

[0162] In Figure 6A, hand 606 moves toward computer system 600. At Figure 6A, computer system 600 detects hand 606 moving toward computer system 600. As indicated by movement indicator 608 read as "on", computer system 600 moves via one or more moving components in response to detecting hand 606 moving toward computer system 600 and / or when hand 606 is moved toward computer system 600 but simultaneously moved away from computer system 600 by at least a first predetermined distance. In some embodiments, when hand 606 is moved away from at least a first predetermined distance, computer system 600 moves that portion based on other input (regardless of hand 606). For example, while hand 606 is moving toward computer system 600, computer system 600 may be moving that portion as part of output content (e.g., rather than in response to detecting hand 606 moving toward computer system 600).

[0163] In some embodiments, in response to hand 606 being within a first predetermined distance from computer system 600, computer system 600 moves the portion to align control 604 with hand 606. For example, computer system 600 may move the portion vertically and / or rotate it to align the control with hand 606. In some embodiments, computer system 600 tilts the portion to a better and / or more comfortable position for the user to provide input using hand 606 (e.g., in some embodiments, vertical positioning is more difficult for hand 606 to reach precisely compared to when the portion is tilted to a certain degree). In some embodiments, computer system 600 moves the portion to bring control 604 closer to hand 606. For example, computer system 600 may move the portion forward to bring the incoming call answering control closer to hand 606. In some embodiments, computer system 600 moves the portion to align with hand 606 and to move it closer to hand 606.

[0164] In some embodiments, as the computer system 600 moves toward the hand 606, the hand 606 continues to move toward the computer system 600. Following Figure 6A, the computer system 600 detects the hand 606 within a second predetermined distance from the computer system 600. In some embodiments, the second predetermined distance from the computer system 600 is closer to the computer system 600 than a first predetermined distance from the computer system 600. In some embodiments, the first predetermined distance from the computer system 600 is the same distance from the computer system 600 as the second predetermined distance. In some embodiments, the computer system 600 does not display the control 604, and in response to detecting the hand 606 within the first predetermined distance and / or the second predetermined distance from the computer system 600, the computer system 600 displays the control 604.

[0165] In some implementations, as illustrated in FIG6B, in response to the detection of a hand 606 within a second predetermined distance of the computer system 600, the computer system 600 increases the size of the control 604. In other examples, the computer system 600 maintains the size of the control 604 and, alternatively, only changes the positioning of that portion. At FIG6B, in response to the detection of a hand 606 within a second predetermined distance of the computer system 600, the computer system 600 stops moving, as indicated by a movement indicator 608 read as "off".

[0166] In some embodiments, in response to detecting a hand 606 within a first predetermined distance and / or a second predetermined distance from the computer system 600, the computer system 600 displays an indication that it has detected a hand 606 (e.g., within the first predetermined distance and / or the second predetermined distance). For example, in response to detecting a hand 606 within the first predetermined distance from the computer system 600, the computer system 600 may display different colors along the edge of the user interface 602 as an indication that it has detected a hand 606 within the first predetermined distance from the computer system 600. In some embodiments, in response to detecting a hand 606 within the first predetermined distance and / or the second predetermined distance from the computer system 600, the computer system 600 outputs audio via one or more audio devices (e.g., speakers) connected to and / or communicating with the computer system 600. For example, in response to detecting a hand 606 within a second predetermined distance from the computer system 600, the computer system 600 may output a bell tone to indicate that the hand 606 has been detected within the second predetermined distance from the computer system 600. In some embodiments, in response to stopping movement, the computer system 600 outputs audio via one or more audio devices (e.g., speakers) connected to and / or communicating with the computer system 600. For example, in response to stopping movement, the computer system 600 may output a guitar sound to indicate to the user that the computer system 600 has stopped moving.

[0167] Figure 7 is a flowchart illustrating a method for physically adjusting the location of a portion of a computer system according to some embodiments. Process 700 is executed at a computer system (e.g., 100, 200, and / or 600). Some operations in process 700 are optionally combined, some operations are optionally changed in order, and some operations are optionally omitted.

[0168] As described below, process 700 provides an intuitive way to physically orient a part of a computer system. This method reduces the cognitive burden on the user regarding the physical orienting of a part of the computer system, thereby creating a more efficient human-computer interface. For battery-powered computing devices, it enables users to interact with the computer system faster and more efficiently, saves power, and increases the time between battery charging sessions.

[0169] In some embodiments, process 700 is performed at a computer system (e.g., 600) that communicates with a moving component (e.g., an actuator, a movable base, a rotatable component, and / or a rotatable base) and one or more input devices (e.g., a camera, a depth sensor, and / or a microphone). In some embodiments, the computer system is a fitness tracker, a watch, a phone, a tablet, a processor, a head-mounted display (HMD) device, and / or a personal computing device.

[0170] The computer system detects (702) the occurrence of a first event (e.g., an event that occurs in the content displayed by the computer system) via one or more input devices (e.g., the occurrence of an action (such as an action performed by a user (e.g., a person, animal, and / or object)) (e.g., verbal input (e.g., acoustic request, acoustic command, and / or acoustic statement) and / or nonverbal input (e.g., swipe input, press and drag input, gaze input, air gesture, and / or mouse click)) (e.g., hand 606 moves toward computer system 600, as discussed above with respect to Figures 6A to 6B).

[0171] In response to the detection of a first event (704), based on the determination of a first set of one or more criteria, wherein the first set of one or more criteria includes criteria that are met when a part of the user (e.g., a body part (e.g., hand, finger, foot, neck and / or shoulder)) (e.g., 606) is not within a first predefined distance (e.g., 1 inch to 12 inches) from the computer system, the computer system moves (706) via a moving component (e.g., physically moves, rotates, pushes and / or pulls) a part of the computer system (e.g., 600) (e.g., including the housing and / or casing of the display component and / or one or more input devices, the center of the display, and / or hardware buttons) (e.g., as described above with respect to FIG6A).

[0172] In response to (704) the detection of a first event, and based on the determination of a second set of criteria satisfying one or more standards (e.g., different from a first set of criteria), wherein the second set of criteria includes criteria satisfied when the user's portion (e.g., 606) is within a first predefined distance from the computer system (e.g., 600), the computer system abandons (708) moving that portion of the computer system via a moving component (e.g., as described above with respect to FIG. 6B). In some embodiments, in response to the detection of the first event and the determination of a second set of criteria, the computer system physically moves a second portion of the computer system, different from the first portion, via a moving component or another moving component. In some embodiments, in response to the detection of the first event and the determination of a second set of criteria, the computer system abandons physically moving any portion of the computer system.

[0173] When this part of the computer system (e.g., 600) is moved via a mobile component (e.g., in response to the detection of a first event and / or in response to the detection of another event different from the first event), the computer system detects (710) a second set that satisfies one or more criteria.

[0174] In response to the detection of a second set of one or more criteria being met while moving a portion of the computer system (e.g., 600) (e.g., and / or in response to the detection of a first set of one or more criteria no longer being met), the computer system stops (712) (e.g., stops, causes to stop, and / or pauses) moving that portion of the computer system via a moving component (e.g., as described above with respect to Figure 6B). In some embodiments, after stopping moving that portion of the computer system via the moving component and based on the determination that the first set of one or more criteria is met (e.g., and / or based on the determination that the second set of one or more criteria is no longer met), the computer system physically moves that portion of the computer system via the moving component (e.g., based on the determination that the first set of one or more criteria is met, continues physical movement from the location where the computer system stopped physically moving and / or physically moves in response to the detection of a new event). Moving or stopping moving a portion of the computer system based on the satisfaction of prescribed conditions related to the location of the computer system and the user enables the computer system to position itself at a distance from the user when it is anticipated that the user may want to interact with the computer system, thereby providing the user with improved feedback and / or performing operations when a set of conditions is met, without requiring additional user input.

[0175] In some implementations, based on the determination that the first event is a first type of event (e.g., swipe gesture, point gesture, rotation gesture, user movement toward the computer system, user movement away from the computer system, user movement parallel to the computer system, finger flicking and / or voice input), the portion of the mobile computer system (e.g., 600) includes repositioning the portion of the computer system via a moving component in a first manner (e.g., rotation (e.g., pitch, yaw and / or roll), translation, moving the portion of the computer system toward the user, moving the portion of the computer system away from the user, and / or moving the portion of the computer system toward and away from the user) (e.g., as described above with respect to Figures 6A and 6B). In some implementations, moving a portion of the computer system includes repositioning that portion via a moving component in a second manner different from the first manner (e.g., rotation (e.g., user movement toward the computer system, user movement away from the computer system, user movement parallel to the computer system, finger flicking and / or voice command and / or input) based on the determination that the first event is a second type of event different from the first type of event. This includes rotating (e.g., pitch, yaw, and / or roll), translating, moving the portion of the computer system toward the user, moving the portion of the computer system away from the user, and moving the portion of the computer system both toward and away from the user) (e.g., as described above with respect to Figures 6A and 6B). Differently moving or stopping a portion of the computer system based on the type of event allows the computer system to position itself at a distance from the user when it is anticipated that the user may want to interact with the computer system, thereby providing the user with improved feedback and / or performing an operation when a set of conditions is met, without requiring additional user input.

[0176] In some implementations, the first event corresponds to the movement of the user (e.g., 606) (e.g., as described above with respect to Figures 6A and 6B) (e.g., translation of the user (e.g., the user moving toward the computer system, the user moving away from the computer system, and / or the user moving parallel to the computer system), a change in the user's elevation, and / or rotation of the user). In some implementations, the user's positioning relative to the computer system moves in two directions. In some implementations, the computer system moves based on the user (e.g., the user's orientation, velocity, positioning, acceleration, and / or rate). Making the first event correspond to the user's movement enables the computer system to position itself in response to the user's movement, thereby performing an operation when a set of conditions is met without requiring additional user input, thus reducing the amount of input required to perform the operation and / or providing improved feedback to the user.

[0177] In some implementations, the first event corresponds to an action performed by the user (e.g., 606) (e.g., gestures (e.g., snapping fingers, clapping, pointing, swiping), voice commands, and / or eye contact) (e.g., the user is sitting, the user is speaking, something is talking about something specific, the user is watching, and / or the user is yawning). Making the first event correspond to an action performed by the user enables the computer system to position itself in response to the user's execution of the action, thereby performing an operation when a set of conditions is met without requiring additional user input, thus reducing the amount of input required to perform the operation and / or providing improved feedback to the user.

[0178] In some implementations, the user is a person. In some implementations, the user is one or more individuals and / or people.

[0179] In some embodiments, when a portion of the computer system (e.g., 600) is moved via a moving component and based on a determination that the user (e.g., 606) (e.g., a portion of the user, the user's center point, and / or the user as a whole) is within a second predefined distance (e.g., 1 inch to 36 inches) from the computer system and the user is moving toward the computer system (e.g., currently moving toward the computer system or will move toward the computer system within a predetermined amount of time (e.g., 1 second to 120 seconds)) (e.g., when that portion of the computer system is moved via the moving component), the computer system stops moving that portion of the computer system via the moving component (e.g., as described above with respect to Figure 6B). In some embodiments, when the user moves to a distance greater than the second predefined distance from the computer system, the computer system resumes movement via the moving component. In some embodiments, the computer system continues to move when the user is outside the second predefined distance from the computer system. In some embodiments, the computer system will not begin to move when the user is within the second predefined distance from the computer system. In some embodiments, the computer system will begin to move based on a determination that the user is outside the second predefined distance from the computer system. In some implementations, the second predefined distance is shorter than and / or less than the first predefined distance. In some implementations, the computer system continues to move that part of the computer system while moving the part via a moving component and based on the determination that the user is not within the second predefined distance from the computer system and the user is moving toward the computer system. Stopping the movement of that part of the computer system based on the determination that the user is within the second predefined distance from the computer system and the user is moving toward the user allows the computer system to position itself in a certain location when it is anticipated that the user may want to interact with the computer system without the part forcibly contacting the user, thereby performing an operation when a set of conditions is met without requiring additional user input, thereby reducing the amount of input required to perform the operation and / or providing improved feedback to the user.

[0180] In some embodiments, the computer system (e.g., 600) communicates with a first display component (e.g., a touch-sensitive screen and / or display) (e.g., wired and / or wireless communication). In some embodiments, in response to detecting a second set of conditions satisfying one or more criteria, the computer system displays an indication via the first display component (e.g., magnified at 604, as described above with respect to FIG. 6B) (e.g., a graphical indication (e.g., an optional or non-selectable user interface object), a representation of the user, a representation of the user's movement, and / or a textual indication (e.g., instructions on how the user should move, instructions on what actions the computer system will perform if the user continues to move, voice and / or animation of a smart assistant)). In some embodiments, the indication is stopped being displayed based on a determination that the portion of the computer system is no longer moving. In some embodiments, the indication continues to be displayed after the portion of the computer system has stopped moving. Detecting a second set of conditions satisfying one or more criteria and then displaying an indication enables the computer system to generate a notification and provide feedback on the movement status of the computer system, thereby performing an action when the set of conditions is met without requiring additional user input, thereby reducing the amount of input required to perform the action and / or providing improved feedback to the user.

[0181] In some embodiments, the computer system (e.g., 600) communicates with a second display component (e.g., a touch-sensitive screen and / or display) (e.g., wired and / or wireless communication). In some embodiments, prior to detecting a first event, the computer system displays a first set of one or more user interface elements (e.g., 604) at a first size via the second display component (e.g., user interface elements representing the first event, user movement, and / or the state of the computer system) (e.g., as described above with respect to FIG. 6A). In some embodiments, in response to detecting a second set that satisfies one or more criteria (e.g., when that part of the computer system is moved), the computer system increases (or, in some embodiments, decreases) the size of the first set of one or more user interface elements from the first size to a second size different from the first size (e.g., as described above with respect to FIG. 6B). In some embodiments, the computer system decreases the display size of the first set of one or more user interface objects after a predetermined time (e.g., 1 second to 360 seconds). In some embodiments, the computer system decreases the display size of the first set of one or more user interface elements based on a determination that that part of the computer system is no longer moved. In some implementations, after the computer system enlarges the display of a first set of one or more user interface elements based on the amount of time elapsed and / or the state of the computer system, the computer system does not reduce the size of the first set of one or more user interface elements. Detecting a second set that meets one or more criteria and then enlarging the size of the first set of one or more user interface elements enables the computer system to generate notifications and provide feedback on the movement state of the computer system, thereby performing an operation when the set of criteria is met without requiring additional user input, thus reducing the amount of input required to perform the operation and / or providing improved feedback to the user.

[0182] In some embodiments, when this portion of the computer system is moved, the computer system (e.g., 600) displays a second set of one or more user interface elements (e.g., 604) (e.g., user interface elements representing a first event, user movement, and / or the state of the computer system). In some embodiments, when this portion of the computer system is moved and based on a determination that the user (e.g., 606) is within a third predefined distance (e.g., 1 inch to 36 inches) from the computer system, the computer system increases the size of the second set of one or more user interface elements (e.g., as described above with respect to Figures 6A and 6B). In some embodiments, based on a determination that the user is not within the third predefined distance from the computer system, the computer system does not increase the size of the second set of one or more user interface elements. In some embodiments, the third predefined distance may be the same as or different from the first predefined distance. When this part of the computer system is moved, a second set of one or more user elements is displayed, and the size of the second set of one or more elements is increased according to the user's determination of a third predefined distance from the computer system. This enables the computer system to generate notifications and provide information about the movement status of the computer system, thereby performing an operation when the set of conditions is met without requiring additional user input, thus reducing the amount of input required to perform the operation and / or providing improved feedback to the user.

[0183] In some implementations, the first event corresponds to a first type of user (e.g., 606) (e.g., an individual being actively tracked by the computer system, an individual corresponding to the computer system (e.g., an individual owning the computer system, an individual corresponding to a user account registered with the computer system, and / or the individual who last interacted with the computer system)) (e.g., the target individual providing a voice command, moving closer to the computer system, moving away from the computer system, and / or performing a gesture (e.g., pointing, swiping in the air, and / or rotating the hand)). In some implementations, moving this portion of the computer system (e.g., 600) includes repositioning that portion of the computer system closer to the first type of user. In some implementations, the computer system detects a second event (e.g., different from or the same as the first event) via one or more input devices corresponding to a second type of user (e.g., an individual not actively tracked by the computer system, an individual not corresponding to the computer system (e.g., an individual who does not own the computer system, an individual who does not correspond to a user account registered with the computer system, and / or an individual who has not recently interacted with the computer system)) (e.g., a non-target individual provides a voice command, moves closer to the computer system, moves away from the computer system, and / or performs a gesture (e.g., pointing, swiping in the air, and / or rotating the hand)) (before, after, and / or when that part of the computer system is moved) (e.g., a target user, a master user, a user with a certain amount and / or type of permissions). In some implementations, in response to detecting the second event corresponding to a second type of user and based on the determination of a first set of one or more criteria, the computer system abandons moving that part of the computer system via a moving component (e.g., as described above at Figures 6A and 6B). This non-moving part of the computer system enables the system to intelligently determine which users do not require the system to reposition itself, thus performing operations when a set of conditions is met without requiring additional user input and / or reducing the amount of input required to perform the operation. In some implementations, the computer system tilts when a finger approaches it.

[0184] In some implementations, moving (e.g., physically moving, rotating, pushing, and / or pulling) a portion of a computer system (e.g., 600) via a moving component (e.g., causing it to move, rotate, push, and / or pull) includes tilting (and / or rotating) that portion of the computer system in response to detecting that the portion (e.g., an appendage, such as a finger, arm, foot, and / or hand) (e.g., 606) of a first user is moving toward the computer system (e.g., and / or within a predetermined distance (e.g., 0.1 m to 1 m) of the computer system). Tilt of a portion of the computer system based on the satisfaction of predefined conditions related to the positions of the computer system and the user allows the computer system to tilt to a better position to receive input when it is anticipated that the user may want to interact with the computer system, thereby providing improved feedback to the user and / or performing operations when a set of conditions is met, without requiring additional user input.

[0185] It should be noted that the details of the process described above with respect to process 700 (e.g., Figure 7) also apply in a similar manner to the methods described below / above. For example, process 900 optionally includes one or more characteristics of the various methods described above with reference to process 700. For example, moving the part as described in process 700 allows the object to be within the path described in process 900. For the sake of brevity, these details will not be repeated below.

[0186] Figures 8A to 8C illustrate exemplary user interfaces for a portable computer system according to some embodiments. The user interfaces in these figures are used to illustrate the processes described below, including the process in Figure 9.

[0187] Figures 8A to 8C illustrate a computer system 600 displaying a user interface 802 in a physical environment that includes another object (e.g., object 804). User interface 802 may be similar to or the same as the user interface 602 discussed above. In some embodiments, object 804 is a physical object, such as a wine glass, toy, another device, a person, pet, and / or plant. It should be appreciated that object 804 may be other types of objects besides those discussed herein.

[0188] Similar to the above, Figures 8A to 8C also illustrate a movement indicator 806, which indicates whether this part of the computer system 600 is moving, configured to move, and / or currently movable. Such movement may be based on one or more criteria discussed above with respect to Figures 6A to 6B.

[0189] At Figure 8A, computer system 600 determines movement (e.g., based on detected input, as described above). In response to determining movement, as indicated by a movement indicator 806 read as "on", computer system 600 moves that portion of computer system 600. In this example, computer system 600 is rotating to a new position. It should be recognized that other movements are also within the scope of this disclosure. For example, computer system 600 may be moving that portion along another direction (such as vertically) to eye level with the user. At the time following the determination of movement, computer system 600 detects object 804 within the movement path of that portion of computer system 600.

[0190] At Figure 8B, in response to the detection of object 804 within the movement path, computer system 600 stops moving that portion of computer system 600, as indicated by movement indicator 806 read as “off”. In some embodiments, as illustrated in Figure 8B, in response to the detection of object 804 within the movement path (and / or within a predefined distance of that portion), computer system 600 outputs feedback. In this example, the output feedback includes displaying visual feedback (e.g., displaying object indication 808 and / or obstacle indication 810, both discussed in more detail below). In some embodiments, the output feedback includes outputting audio feedback (e.g., an audio statement indicating that an object is obstructing the path and / or an alarm sound). In some embodiments, in response to computer system 600 stopping movement (and / or (1) detecting object 804 within the movement path and / or (2) within a predefined distance of that portion), computer system 600 outputs tactile feedback, such as to indicate that computer system 600 has stopped moving. In some implementations, in response to the detection of object 804 within the movement path (and / or within a predefined distance of that section), computer system 600 outputs a combination of feedback, including audio, tactile, and / or visual feedback. For example, in response to the detection of object 804, computer system 600 may (1) output audio feedback and display a warning indication (e.g., obstacle indication 810) to indicate that computer system 600 has detected object 804 within the movement path, and (2) vibrate to indicate that computer system 600 has stopped moving.

[0191] As illustrated in Figure 8B, in response to the detection of object 804 within the movement path (and / or within a predefined distance of that portion), computer system 600 displays object representation 808 at a position within user interface 802 relative to the location of object 804 (e.g., at a location aligned with object 804 along the edge of user interface 802). In this example, because object 804 is to the right of computer system 600 and within the movement path, computer system 600 displays object representation 808 on the right edge of user interface 802. In some embodiments, object 804 is at some other location on computer system 600 (e.g., above, below, to the right, and / or to the left) and within the movement path, thereby allowing computer system 600 to display object representation 808 at different locations within user interface 802. For example, if object 804 is above computer system 600 and within the movement path as the computer system moves upward, computer system 600 may display object representation 808 along the top edge of user interface 802. In some implementations, the object representation 808 is displayed in a predefined location within the user interface 802.

[0192] In some embodiments, object representation 808 is a blur of the edge of user interface 802. In some embodiments, object representation 808 is a color blur of the same color as object 804. For example, object representation 808 of a blue water bottle could be a blue blur along the edge of user interface 802. In some embodiments, object representation 808 is a blurred image of object 804. For example, object representation 808 of a backpack could be a blurred image of the backpack along the edge of user interface 802. In some embodiments, object representation 808 is a small image of object 804 captured by one or more cameras connected to and / or communicating with computer system 600. For example, object representation 808 of a family dog ​​could be a small image of the dog displayed along the edge of user interface 802 closest to the family dog. In some embodiments, computer system 600 detects multiple objects within a movement path, causing computer system 600 to display multiple object representations. In this example, computer system 600 displays object representations of objects within the movement path of computer system 600. In some implementations, computer system 600 displays an object representation of an object detected within a predetermined distance from computer system 600 (regardless of whether the object is within the movement path of computer system 600).

[0193] As illustrated in Figure 8B, in response to the detection of object 804 within the movement path (and / or within a predefined distance of that portion or another predefined distance (e.g., different from the predefined distance)), computer system 600 displays obstacle indication 810 in the upper portion of user interface 802. In some embodiments, obstacle indication 810 indicates that the object represented by object representation 808 needs to be removed from the movement path of computer system 600. In some embodiments, obstacle indication 810 includes one or more instructions for removing the object from the movement path. In this example, in response to the detection of object 804 within the movement path, computer system 600 displays obstacle indication 810 at a predefined location (e.g., the upper portion of user interface 802) (regardless of the position of object 804 relative to computer system 600). In some embodiments, in response to the detection of object 804 within the movement path, computer system 600 displays obstacle indication 810 at a location within user interface 802 corresponding to the position of object 804 relative to computer system 600. For example, in response to detecting object 804 within the movement path, if computer system 600 displays object representation 808 along the edge of user interface 802 closest to object 804, computer system 600 may also display obstacle indication 810 along the edge of user interface 802 furthest from object 804 to avoid obscuring object representation 808. At Figure 8B, object 804 has been moved to a location outside the movement path of computer system 600. At Figure 8B, computer system 600 detects that object 804 is no longer within the movement path.

[0194] As illustrated in Figure 8C, in response to detecting that object 804 is no longer within the movement path, computer system 600 stops displaying object representation 808. Also as illustrated in Figure 8C, in response to detecting that object 804 is no longer within the movement path, computer system 600 stops displaying obstacle indication 810. If indicated by a movement indicator 806 read as "on," in response to detecting that object 804 is no longer within the movement path, computer system 600 continues to move that portion. In some embodiments, computer system 600 stops displaying obstacle indication 810 and / or object representation 808 before computer system 600 continues to move. In some embodiments, computer system 600 stops displaying obstacle indication 810 and / or object representation 808 after computer system 600 continues to move. For example, computer system 600 may continue to move after stopping displaying obstacle indication 810 and / or object representation 808. Alternatively, computer system 600 may stop displaying object representation 808 before continuing to move, continue moving, and then stop displaying obstacle indication 810 after continuing to move. In some implementations, the computer system 600 continues to move while the computer system 600 stops displaying the obstacle indication 810 and / or the object representation 808.

[0195] In some implementations, computer system 600 detects changing conditions (e.g., new input, a change in the user's location, and / or a change in the content output by computer system 600). In some implementations, in response to the detection of a changing condition, computer system 600 modifies and / or updates its movement path. For example, if computer system 600 moves along the movement path based on the user's location relative to computer system 600 within the environment and the user has moved to a new location relative to computer system 600, computer system 600 may update the movement path to account for the user's new location. In some implementations, after stopping movement and / or outputting feedback (e.g., as described in Figure 8B) and in response to the detection of object 804, computer system 600 updates the movement path in response to the changing condition. In some implementations, in response to computer system 600 updating the movement path in response to the changing condition, computer system 600 determines that object 804 is no longer within the movement path. In some embodiments, in response to determining that object 804 is no longer within the movement path in response to updating the movement path, computer system 600 moves that portion along the updated movement path and / or stops displaying obstacle indication 810 and / or object representation 808. In some embodiments, after computer system 600 continues moving in response to detecting that object 804 is no longer within the movement path, computer system 600 updates the movement path in response to detecting a changed condition.

[0196] In some implementations, the computer system 600 detects a second object within the movement path after continuing to move, causing the computer system 600 to stop moving and repeat the actions and outputs described above with respect to object 804. In some implementations, the computer system 600 detects an object within the direction of movement of the computer system 600 and determines that the object is outside the movement path. Because the object is determined to be outside the movement path, the computer system 600 does not stop moving. For example, if the computer system 600 detects an object behind it while moving backward, and the computer system 600 determines that the object is beyond the final position of the movement, then the computer system 600 will not stop moving until it reaches the final position.

[0197] In some implementations, in response to the detection of object 804 within the movement path, in addition to performing the actions and outputs described in FIG8B, computer system 600 also sends requests (e.g., via Wi-Fi, Bluetooth, and / or UWB) to one or more nearby devices (e.g., smartphones, smartwatches, laptops, public facilities, smart speakers, accessories, personal gaming systems, desktop computers, fitness trackers, and / or HMD devices) to output feedback (e.g., haptic feedback, audio feedback, and / or visual feedback). For example, in response to the detection of object 804 within the movement path, computer system 600 may send a request to a nearby smartphone to vibrate the phone and display an alert notifying the user of the presence of an object in computer system 600's movement path.

[0198] Figure 9 is a flowchart illustrating a method for a portable computer system using a computer system according to some embodiments. Process 900 is performed at the computer system (e.g., 100, 200, and / or 600). Some operations in process 900 are optionally combined, some operations are optionally changed in order, and some operations are optionally omitted.

[0199] As described below, process 900 provides an intuitive approach to portable computing systems. This method reduces the cognitive burden on users of portable computing systems, thereby creating a more efficient human-computer interface. For battery-powered computing devices, it enables users to interact with the computer system faster and more efficiently, saving power and increasing the time between battery charging.

[0200] In some embodiments, process 900 is performed at a computer system (e.g., 600) that communicates with mobile components (e.g., actuators, movable bases, rotatable components, and / or rotatable bases), one or more input devices (e.g., cameras, depth sensors, and / or microphones), and display components (e.g., displays and / or touch-sensitive displays). In some embodiments, the computer system is a fitness tracker, watch, phone, tablet, processor, head-mounted display (HMD) device, and / or personal computing device.

[0201] The computer system detects (902) a first event (e.g., an event that occurs in the content displayed by the computer system) via one or more input devices (e.g., an action, such as an action performed by an object (e.g., raindrops, lightning, thunder, a person, an animal, and / or a movable object)) (e.g., as described above with respect to Figure 8A).

[0202] In response to the detection of a first event (904), based on the determination of a first set of one or more criteria, wherein the first set of one or more criteria includes criteria satisfied when a first object (e.g., 804) is not within a path (e.g., a movement path and / or intended direction of movement) (e.g., between the computer system and a part of the user (e.g., a person, animal, and / or object) (e.g., a housing and / or enclosure including display components and / or one or more input devices) and / or within a predetermined path and / or movement course of the computer system), the computer system moves (906) via a moving component (e.g., physically moves, rotates, pushes, and / or pulls) a part of the computer system (e.g., as described above with respect to process 700) (e.g., as described above with respect to Figure 8C). In some embodiments, the path of the computer system is determined based on the user's location.

[0203] In response to the detection of a first event (904), and based on the determination of a second set of criteria (e.g., different from a first set of criteria), wherein the second set of criteria includes criteria satisfied when the first object (e.g., 804) is within a path (e.g., between the computer system and the user's portion), the computer system abandons (908) moving that portion of the computer system via a moving component (e.g., as described above with respect to Figure 8B). In some embodiments, in response to the detection of the first event and the determination of a second set of criteria, the computer system physically moves a second portion of the computer system, different from the first portion, via a moving component or another moving component different from the moving component. In some embodiments, in response to the detection of the first event and the determination of a second set of criteria, the computer system abandons physically moving any portion of the computer system.

[0204] When this part of the computer system is moved via a moving component (e.g., in response to the detection of a first event and / or in response to the detection of another event different from the first event), the computer system detects (910) a second set that satisfies one or more criteria.

[0205] In response to (912) detecting a second set of one or more criteria while moving that part of the computer system (e.g., and / or in response to detecting a first set of one or more criteria no longer being met), the computer system stops (914) (e.g., stops, causes to stop and / or pauses) moving that part of the computer system via the moving component (e.g., as described above with respect to FIG8B).

[0206] In response to (912) detecting a second set of one or more criteria while moving that portion of the computer system, the computer system displays (916) a first representation of the first object via a display component (e.g., 808 and / or 810). In some embodiments, after stopping physical movement of that portion of the computer system via the moving component and based on a determination that the first set of one or more criteria is satisfied (e.g., and / or based on a determination that the second set of one or more criteria is no longer satisfied), the computer system physically moves that portion of the computer system via the moving component (e.g., continuing physical movement from the location where physical movement of the computer system stopped based on a determination that the first set of one or more criteria is satisfied and / or physically moving in response to the detection of a new event). Moving or not moving a portion of the computer system based on the satisfaction of predefined conditions related to whether the first object is within the path of the computer system, and displaying a first representation of the first object based on the satisfaction of predefined conditions related to whether the first object is within the path of the computer system, enables the computer system to avoid collisions or obstacles when locating itself, and also provides notification of potential obstacles, thereby providing the user with improved visual feedback and / or performing operations when a set of conditions is satisfied without requiring additional user input.

[0207] In some embodiments, moving this portion of the computer system via a moving component includes rotating that portion of the computer system (e.g., yaw, pitch, and / or roll) (e.g., as described above with respect to Figures 8A to 8C). In some embodiments, the portion of the computer system rotates about one axis of the moving component. In some embodiments, the portion of the computer system rotates about two or more axes of the moving component. In some embodiments, the portion of the computer system rotates in two or more types of manner (e.g., yaw and roll and / or pitch and yaw). Rotating or not rotating a portion of the computer system based on the satisfaction of predetermined conditions related to whether a first object is within the path of the computer system, and displaying a first representation of the first object based on the satisfaction of predetermined conditions related to whether the first object is within the path of the computer system, enables the computer system to avoid collisions or obstacles by rotating while positioning itself, and also provides notification of potential obstacles, thereby providing the user with improved visual feedback and / or performing operations without additional user input when a set of conditions is met.

[0208] In some embodiments, moving the portion of the computer system via the moving component includes rotating the portion of the computer system about a first axis and a second axis different from the first axis via the moving component. In some embodiments, stopping the movement of the portion of the computer system via the moving component includes: based on the determination that the first object (e.g., 804) is in a first position (e.g., relative to the computer system) (e.g., in front of the computer system, to the side of the computer system, above the computer system, in the path of the computer system, outside the path of the computer system, and / or below the computer system): stopping the rotation (e.g., pitch, yaw, and / or roll rotation) of the portion of the computer system about (e.g., about and / or relative to) the first axis (e.g., longitudinal axis, lateral axis, and / or vertical axis) of the moving component (e.g., as described above with respect to Figures 8A to 8C); and continuing the portion of the computer system about the second axis (e.g., longitudinal axis, lateral axis, and / or vertical axis) of the moving component (e.g., longitudinal axis, lateral axis, and / or vertical axis). The rotation of that portion of the computer system about the second axis of the moving component (e.g., pitch, yaw, and / or roll rotation) (e.g., as described above with respect to Figures 8A-8C) is determined based on the determination that the first object is in a second position different from the first position (e.g., relative to the computer system) (e.g., in front of the computer system, to the side of the computer system, above the computer system, in the path of the computer system, outside the path of the computer system, and / or below the computer system): stops the rotation of that portion of the computer system about the second axis of the moving component (e.g., pitch, yaw, and / or roll rotation) (e.g., as described above with respect to Figures 8A-8C); and continues the rotation of that portion of the computer system about the first axis of the moving component (e.g., pitch, yaw, and / or roll rotation) (e.g., as described above with respect to Figures 8A-8C). In some embodiments, the rotation of that portion of the computer system about the corresponding axis of the moving component is resumed based on the determination of a change in the position of the first object. In some embodiments, the rotation of that portion of the computer system about the corresponding axis of the moving component is stopped based on the determination of a change in the position of the first object.

[0209] In some embodiments, the representation (e.g., 808 and / or 810) is displayed at a predefined location on the display component (e.g., the location of 810 shown in Figure 8B) (e.g., the top, bottom, left, right, and / or center of the display component) (e.g., a user-predefined and / or default location) (e.g., a location closer to the display housing than the bottom third, quarter, fifth, sixth, seventh, eighth, ninth, and / or tenth of the display). In some embodiments, the representation is displayed at two or more discrete and separate locations on the display component. In some embodiments, the predefined location of the display component includes two discrete (e.g., separate and / or different) locations of the display component. Displaying the representation at a predefined location on the display component enables the computer system to display the notification at a specific portion of the display component visible to the user, thereby providing the user with improved visual feedback and / or performing an action when a set of conditions is met without requiring additional user input.

[0210] In some implementations, based on the determination that the first object (e.g., 804) is located at a third position (e.g., in front of the computer system, on the side of the computer system, above the computer system, in the path of the computer system, outside the path of the computer system, and / or below the computer system), a representation of the first object (e.g., 808) is displayed via a first portion of the display component (e.g., the top, bottom, left, right, and / or center of the display component) (and / or on, in, and / or at the first portion) (e.g., as described above with respect to Figures 8A to 8C). In some implementations, based on the determination that the first object is located at a fourth location different from the third location (e.g., in front of the computer system, on the side of the computer system, above the computer system, in the path of the computer system, outside the path of the computer system, and / or below the computer system), a representation of the first object is displayed via a second portion of the display component (e.g., the top, bottom, left, right, and / or center of the display component) (and / or on, in, and / or at the second portion) of the display component (e.g., as described above with respect to Figures 8A to 8C). Displaying a representation of the first object at the first or second portion of the display component based on the satisfaction of predetermined conditions enables the computer system to intelligently display notifications about obstacles along the path of the computer system, thereby providing the user with improved visual feedback and / or performing operations when a set of conditions is met without requiring additional user input.

[0211] In some embodiments, as the portion of the computer system is moved via a moving component, the computer system detects a third set of criteria satisfying one or more criteria (e.g., before, after, or when displaying a representation of the first object). This third set of criteria includes criteria satisfied when a second object (e.g., 804) (e.g., raindrops, lightning, thunder, a person, animal, and / or a movable object) and a third object (e.g., 804) (e.g., raindrops, lightning, thunder, a person, animal, and / or a movable object) are detected in the path (e.g., concurrently or continuously) (e.g., via one or more cameras and / or one or more sensors communicating with the computer system) are detected (e.g., raindrops, lightning, thunder, a person, animal, and / or a movable object) (e.g., the third object is separate from and / or different from the first object). In some embodiments, in response to detecting a third set of criteria satisfying one or more criteria while the portion of the computer system is moved, the computer system concurrently displays via a display component: a second representation of the second object (e.g., a text representation and / or a graphical representation); and a third representation of the third object that is different from the second representation of the second object. In some embodiments, the second and third representations are displayed while the first representation is displayed. In some implementations, the display of the second and / or third representations ceases in response to the removal of the second and / or third object from the path. In some implementations, the second and third objects are objects of different types. In some implementations, the second and third objects are objects of the same type. In some implementations, the appearance of the second and / or third representations is based on the appearance and / or position of the second and / or third objects. Detecting a third set of conditions satisfying one or more criteria while moving this part of the computer system, and concurrently displaying the second representation of the second object and the third representation of the third object, enables the computer system to display notifications about obstacles along the path of the computer system, thereby providing the user with improved visual feedback and / or reducing the amount of input required to perform an operation.

[0212] In some embodiments, while a first representation of a first object is displayed via a display component (e.g., 808 and / or 810) (e.g., and when that portion of the computer system is not moving), the computer system detects (e.g., via one or more cameras and / or one or more sensors communicating with the computer system) a fourth set of criteria that satisfies one or more of the criteria, wherein the fourth set of criteria includes criteria satisfied when the first object is not in the path (e.g., the first object moves out of the path and / or the computer system is moved such that the first object is not in the path) (and / or a third set of criteria not satisfied and / or a first set of criteria no longer satisfied). In some embodiments, in response to detecting a fourth set of criteria satisfying one or more of the criteria, the computer system stops displaying the first representation of the first object (e.g., as described above with respect to Figures 8A to 8C). In some embodiments, the first representation of the first object is redisplayed based on the determination that the first object is in the path. In some embodiments, the display of the first representation of the first object is abruptly stopped, or the display of the first representation of the first object is stopped (e.g., faded out) for a period of time (e.g., 1 second to 360 seconds). In response to the detection of a fourth set of criteria that satisfy one or more of the criteria to stop the display of the first representation of the first object, the computer system is able to display a notification that updates the location of the object on the path of the computer system, thereby providing the user with improved visual feedback and / or reducing the amount of input required to perform the operation.

[0213] In some embodiments, in response to the detection of a fourth set of criteria satisfying one or more, the computer system moves along a path via a moving component (e.g., automatically (e.g., without interventional user input) or in response to input) (e.g., resumes movement) that portion of the computer system (e.g., as described above with respect to Figures 8A to 8C). In some embodiments, in response to the detection of a fourth set of criteria no longer being satisfied, that portion of the computer system stops moving. In some embodiments, that portion of the computer system resumes movement before, after, or at the time when the first representation of the first object is stopped. The movement of that portion of the computer system along a path in response to the detection of a fourth set of criteria satisfying one or more, and the movement enabling the computer system to intelligently position itself after obstacles along the path of the computer system have been removed, provides improved feedback to the user and / or reduces the amount of input required to perform an operation.

[0214] In some embodiments, upon detecting a fourth set of criteria satisfying one or more criteria to move the portion of the computer system, the computer system detects (e.g., via one or more cameras and / or one or more sensors communicating with the computer system) a fifth set of criteria satisfying one or more criteria (e.g., different from or the same as the fourth set of criteria), wherein the fifth set of criteria includes criteria satisfied when a fourth object different from the first object (e.g., 804) (e.g., raindrops, the computer system, inanimate objects, lightning, thunder, people, animals, and / or movable objects) is within the path (e.g., the entire object is within the path or a portion of the object is within the path) (e.g., the object is between the portion of the computer system and the end of the path). In some embodiments, in response to detecting a fifth set of criteria satisfying one or more criteria, the computer system stops (e.g., halts, causes to stop, and / or pauses) moving the portion of the computer system along the path via a moving component (e.g., as described above with respect to Figures 8A to 8C). In some embodiments, the portion of the computer system stops abruptly. In some implementations, this part of the computer system stops for a period of time (e.g., 1 to 30 seconds) (e.g., before reaching an object different from the first object). Stopping this part of the computer system from moving along the path when a fourth object is determined to be within the path of the computer system allows the computer system to prevent collisions with other obstacles detected along the path of the computer system, thereby providing the user with improved feedback and / or reducing the amount of input required to perform an operation.

[0215] In some embodiments, upon resuming movement of this portion of the computer system, the computer system detects (e.g., 804) a fifth object (e.g., raindrop, computer system, inanimate object, lightning, thunder, person, animal, and / or movable object) in the direction of the path (e.g., via one or more cameras and / or one or more sensors in communication (e.g., wired and / or wireless communication)). In some embodiments, in response to detecting the fifth object in the direction of the path and based on the determination that the fifth object is outside the path (e.g., part of the fifth object is outside the path or the entire fifth object is outside the path) (e.g., on the right side of the path, on the left side of the path, below the path, above the path, located at a position before the beginning of the path and / or located at a position beyond the final position of the path), the computer system continues to move that portion of the computer system (e.g., as described above with respect to Figures 8A to 8C). In some embodiments, movement of that portion of the computer system stops based on the determination that the fifth object is within the path. In some embodiments, movement of that portion of the computer system stops based on the determination that the fifth object is within the path. The part of the computer system that continues to move based on the determination that the fifth object is outside the path enables the computer system to intelligently locate itself even when the conditions around the computer system change, thereby providing the user with improved feedback and / or reducing the amount of input required to perform operations.

[0216] In some implementations, after the movement of this part of the computer system stops (e.g., within a subsequent threshold time amount (e.g., 1 second to 360 seconds)) (e.g., immediately following the movement stop), a first representation of the first object (e.g., 808) is displayed (e.g., as described above with respect to Figures 8A to 8C). Displaying the first representation of the first object after the movement of this part of the computer system stops enables the computer system to provide notification of the presence of an obstacle along the path of the computer system, thereby providing the user with improved visual feedback and / or reducing the amount of input required to perform an operation.

[0217] In some implementations, a first representation of the first object (e.g., 808) is displayed before the movement of this part of the computer system stops (e.g., within a previous threshold time period (e.g., 1 second to 360 seconds)) (e.g., immediately before the movement stops) (as described above with respect to Figures 8A to 8C). Displaying the first representation of the first object before the movement of this part of the computer system stops enables the computer system to provide notification of the presence of an obstacle along the path of the computer system, thereby providing the user with improved visual feedback and / or reducing the amount of input required to perform an operation.

[0218] In some embodiments, the computer system communicates with a first set of one or more output devices (e.g., a set of displays, speakers, and / or one or more lights) via wireless and / or wired communication. In some embodiments, in response to detecting a second set that meets one or more criteria (e.g., and / or in response to detecting a first set that no longer meets one or more criteria), the computer system outputs a first indication (e.g., a visual indication, an auditory indication, and / or a tactile indication) via the first set of one or more output devices (e.g., as described above with respect to FIG. 8B) that the portion of the computer system has stopped moving (e.g., when displaying a first representation of a first object). In some embodiments, the first indication that the portion of the computer system has stopped moving includes two different modalities (e.g., a visual modality, an audio modality, and / or a tactile modality) or a single modality. In some embodiments, the output of the first indication stops based on a determination that the computer system has resumed movement. In some embodiments, the output of the first indication that the portion of the computer system has stopped is based on the speed of the portion of the computer system. In some embodiments, the computer system stops outputting the first indication in response to detecting input (e.g., a voice command, a tap input, a swipe input, and / or a gesture). In some implementations, in response to detecting a second set of criteria that meet one or more standards, the computer does not output a first indication that the part of the computer system has stopped moving.

[0219] In some embodiments, the computer system communicates (e.g., wireless and / or wired communication) with a second set of one or more output devices (e.g., a set of displays, speakers, and / or one or more lamps). In some embodiments, in response to detecting a second set that meets one or more criteria (e.g., and / or in response to detecting a first set that no longer meets one or more criteria), the computer system outputs a second indication (e.g., visual, auditory, and / or tactile indication) of the first object (e.g., 804) in the path via the second set of one or more output devices (e.g., as described above with respect to Figures 8A to 8C). In some embodiments, the second indication of the first object in the path includes two different modalities (e.g., visual modality, audio modality, and / or tactile modality) or a single modality. In some embodiments, outputting the second indication stops based on the determination that the first object is not in the path. In some embodiments, the second indication has characteristics based on the characteristics of the first object. In some embodiments, in response to detecting a second set that does not meet one or more criteria, the computer system does not output the second indication of the first object in the path.

[0220] In some implementations, in response to detecting a second set of criteria satisfying one or more, the computer system transmits an instruction to an external device (e.g., an external computer system and / or electronic device) to output a third indication of the first object (e.g., 804) in the path (e.g., as described above with respect to Figures 8A to 8C). In some implementations, the external computer system outputs a third indication of the first object in the path. In some implementations, the external device is a fitness tracker, watch, telephone, tablet, processor, head-mounted display (HMD) device, smart device (e.g., smart lighting, alarm, clock, lamp, door lock, and / or curtains), monitor, and / or personal computing device. Transmitting the instruction to the external device to output a third indication of the first object in the path enables the computer system to notify another device of obstacles along the path of the computer system, thereby providing the user with improved feedback and / or reducing the amount of input required to perform an operation.

[0221] In some embodiments, when outputting a second indication that a first object is in the path, the computer system detects (e.g., via a set of one or more cameras and / or a set of one or more sensors communicating with the computer system) that the first object (e.g., 804) is no longer in the path (e.g., has been removed from the path and / or has been moved from the path) (e.g., the computer system removes the first object from the path and / or the user removes the first object from the path). In some embodiments, in response to detecting that the first object has been removed from the path, the computer system stops outputting the second indication that the first object is in the path (e.g., as described above with respect to Figures 8A to 8C). In some embodiments, outputting the second indication resumes based on the determination that the first object has returned to the path. Stopping the output of the second indication that the first object is in the path in response to detecting that the first object has been removed from the path allows the computer system to notify another device that there are no longer any obstacles along the path of the computer system, thereby providing the user with improved feedback and / or reducing the amount of input required to perform an operation.

[0222] In some embodiments, after outputting a second indication that a first object is in the path (via a computer system and / or an external device) (immediately after the output and / or within a predetermined time period (e.g., 1 second to 360 seconds thereafter), the computer system detects (e.g., via a set of one or more cameras and / or a set of one or more sensors communicating with the computer system) that the first object (e.g., 804) has been removed from the path. In some embodiments, in response to detecting that the first object has been removed from the path, the computer system outputs an indication that a sixth object is in the path via a second set of one or more output devices (e.g., after detecting that the sixth object is in the path) (e.g., as described above with respect to Figures 8A to 8C). In some embodiments, the computer system cannot detect a fifth object when the first object is in the path. In some embodiments, the first object and the fifth object are objects of the same type or different types of objects. In some embodiments, a third indication is output in the form of characteristics (e.g., the size, shape, and / or distance of the fifth object from the computer system) of the fifth object (e.g., the size, shape, and / or distance of the fifth object from the computer system).

[0223] It should be noted that the details of the process described above with respect to process 900 (e.g., Figure 9) also apply in a similar manner to the methods described below / above. For example, process 700 optionally includes one or more characteristics of the various methods described above with reference to process 900. For example, a computer system may use one or more techniques of process 900 to detect that a user is not within a predefined distance from the computer system, and use one or more techniques of process 700 to move that part of the computer system. For the sake of brevity, these details will not be repeated below.

[0224] Figures 10A to 10G illustrate exemplary user interfaces for user verification according to some embodiments. The user interfaces in these figures are used to illustrate the processes described below, including those in Figures 11 to 13.

[0225] Figures 10A to 10G on the left illustrate computer systems 1000 with different user interfaces, exemplified as tablet computers. It should be understood that computer system 1000 can be other types of computer systems, such as smartphones, smartwatches, laptops, public devices, smart speakers, smart displays, accessories, personal gaming systems, desktop computers, fitness trackers, and / or head-mounted display (HMD) devices. In some embodiments, computer system 1000 includes one or more sensors (e.g., cameras, lidar detectors, motion sensors, infrared sensors, and / or microphones) and / or communicates with one or more sensors. In some embodiments, computer system 1000 includes one or more output devices (e.g., displays, projectors, touch-sensitive displays, and / or speakers) and / or communicates with one or more output devices. In some embodiments, computer system 1000 includes one or more moving components (e.g., actuators, movable bases, rotatable components, and / or rotatable bases) and / or communicates with one or more moving components. In some implementations, computer system 1000 includes one or more components and / or features described above with respect to computer system 100 and / or electronic device 200.

[0226] Figures 10A to 10G include Figure 1006 on the right. Figure 1006 is a visual aid representing the physical space and / or environment of a computer system 1000, a first user, a second user, and a third user. Figure 1006 includes a computer system representation 1008 of the computer system 1000, a first user representation 1010 of the first user, a second user representation 1012 of the second user, and a third user representation 1014 of the third user. The positioning of the computer system representation 1008, the first user representation 1010, the second user representation 1012, and the third user representation 1014 within Figure 1006 represents the real-world positioning of the computer system 1000 relative to the first user, the second user, and the third user. Figure 1006 includes dashed lines representing the detection field and / or field of view (sometimes collectively referred to as the detection field) of the computer system representation 1008. The detection field of the computer system representation 1008 corresponds to the detection field of one or more front sensors of the computer system 1000 in the real world. In some implementations, one or more other sensors of the computer system 1000 include detection fields different from the detection field (e.g., overlapping but smaller or larger and / or non-overlapping). In this example, there are three users. In some implementations, there are more or fewer than three users.

[0227] Figures 10A to 10G illustrate the process by which computer system 1000 performs one or more operations to identify each user by sequentially facing each user in the physical space and / or environment and appearing to bow to them. It should be understood that bowing is merely one example of identification, and other identification methods are also within the scope of this disclosure. In some embodiments, if the user to which computer system 1000 is facing is identified by computer system 1000 (e.g., has registered with computer system 1000), computer system 1000 displays an indication that the user has been identified and / or displays content for the user (e.g., data and / or controls predefined and / or preconfigured by the user in some embodiments). In some embodiments, if the user to which computer system 1000 is facing is not identified by computer system 1000 (e.g., has not registered with computer system 1000), computer system 1000 will not display content corresponding to the user, will request the user to identify themselves, and / or will add the newly identified user to the list of known users for future use.

[0228] As illustrated in Figure 10A, computer system 1000 displays a user interface 1002, which includes a time indicator 1004 displaying the current real-world time at its center. In this example, user interface 1002 is a home screen user interface, which may include one or more indicators and / or controls. In some embodiments, user interface 1002 is a smart home system user interface that displays indicators and / or controls for building systems (e.g., lighting, shading, door locks, sound, and / or environmental controls). For example, user interface 1002 may be displaying the lock status of all doors in the building and the average room temperature. In some embodiments, user interface 1002 is an office check-in system user interface, which will be described in more detail below. In some embodiments, user interface 1002 includes an avatar (e.g., a human-like visual representation) for a virtual assistant or other artificial intelligence application. In some embodiments, user interface 1002 does not include the time indicator 1004. It should be recognized that the content of the user interface 1002 as described herein is for discussion purposes, and other and / or different content may be included in the user interface 1002.

[0229] In Figure 10A, computer system 1000 is in standby mode. In some embodiments, computer system 1000 is in standby mode when in a power-saving state and / or waiting to detect events (e.g., detecting a user, detecting input from a user, and / or output indication). In some embodiments, computer system 1000 enters standby mode when it has not yet detected user input and / or has not output content within a predetermined amount of time due to an event. As illustrated in Figure 10A, because computer system 1000 is in standby mode, computer system 1000 displays user interface 1002 with reduced emphasis effects (e.g., grayscale, dimmed display, soft colors, and / or transparent overlays). In some embodiments, because computer system 1000 is in standby mode, computer system 1000 stops displaying user interface 1002.

[0230] As illustrated in Figure 1006 of Figure 10A, no user is present in the detection field of computer system 1000 (e.g., as indicated in Figure 1006 by the absence of a user (e.g., first user representation 1010, second user representation 1012, and / or third user representation 1014) in the detection field of computer system representation 1008). In Figure 10A, computer system 1000 detects one or more users within the detection environment. In some embodiments, the user is a biological entity (e.g., a person, user, and / or animal). In some embodiments, the user is an electronic device (e.g., a smartphone, smartwatch, laptop, public facility, smart speaker, accessory, personal gaming system, desktop computer, fitness tracker, head-mounted display (HMD) device, drone, and / or robot).

[0231] At Figure 10B, in response to the detection of one or more users, computer system 1000 switches out of standby mode. As illustrated in Figure 10B, because computer system 1000 is no longer in standby mode, computer system 1000 displays user interface 1002 with enhanced emphasis effects (e.g., brighter display, brighter colors, and / or no transparent overlay). At Figure 10B, in response to the detection of one or more users, computer system 1000 rotates a portion of computer system 1000 about a single axis via one or more moving components until one or more of the users are within the detection field. It should be appreciated that in some embodiments, computer system 1000 may rotate this portion about more than one axis. As illustrated in Figure 1006, a first user representation 1010 is within the detection field of computer system representation 1008, thereby indicating that computer system 1000 has rotated and the first user (e.g., Jake Allen) is within the detection field of computer system 1000. In some embodiments, computer system 1000 determines which user to rotate toward based on which user is closest to computer system 1000. In some implementations, computer system 1000 determines which user to rotate towards based on user status (e.g., whether the user is a primary user (e.g., the user with the most permissions), whether the user is known to computer system 1000, or whether the user is unknown to computer system 1000). In some implementations, computer system 1000 rotates clockwise / counterclockwise and faces each user in turn. In some implementations, computer system 1000 uses a combination of the factors listed above and / or other factors to determine which user to rotate towards.

[0232] At Figure 10B, computer system 1000 detects a first user within its detection field. At Figure 10B, in response to the detection of the first user within the detection field, computer system 1000 stops rotating. In this example, the first user (e.g., Jake Allen) is known to computer system 1000. In some embodiments, users known to computer system 1000 have registered with computer system 1000 (e.g., the user has an account, the user's biometric information has been recorded, and / or the user has login credentials). At Figure 10B, computer system 1000 identifies the first user. In some embodiments, in response to and / or after the detection of the first user within the detection field, computer system 1000 continues to rotate a portion of itself until the first user is in a specific position within the detection field (e.g., centered and / or framed in some way). At Figure 10B, in response to the detection of a first user within the detection field, computer system 1000 performs a first set of movements by moving a portion of computer system 1000 about one or more axes via one or more moving components. In this example, the first set of movements includes computer system 1000 moving a portion of computer system 1000 downwards a predetermined distance and then moving the same portion of computer system 1000 upwards by the same predetermined distance, reaching the position where that portion of computer system 1000 was before moving downwards, thus giving the impression that computer system 1000 is “bowing.” In this example, computer system 1000 completes the first set of movements with the first user present in the detection field. In some embodiments, in response to the detection of a first user within the detection field, computer system 1000 performs a different first set of movements (e.g., dancing, nodding, and / or shaking) by moving a portion of computer system 1000 about one or more axes via one or more moving components. In some embodiments, computer system 1000 performs the first set of movements via one or more moving components in conjunction with height adjustment to be at a level accessible to the first user. For example, if the first user is above the initial and / or current position of the computer system 1000, the computer system 1000 may perform a first set of movements, followed by raising a portion of the computer system 1000 to position the user interface 1002 at the first user's eye level and / or hand level. In some embodiments, in response to identifying and detecting the first user within a detection field, the computer system 1000 performs a predetermined first set of movements corresponding to the first user. For example, in response to identifying and detecting the first user within a detection field, the computer system 1000 may perform a movement similar to nodding to tilt a portion of the computer system 1000 downwards and then upwards.In some embodiments, the computer system 1000 performs a first set of movements before stopping rotation. In some embodiments, the computer system 1000 performs a first set of movements after stopping rotation.

[0233] In some embodiments, in response to detecting a first user in the detection field, computer system 1000 outputs a first audio indication (e.g., a chirp, ringtone, greeting, and / or music). In some embodiments, in response to identifying and detecting a first user in the detection field, computer system 1000 outputs a second audio indication corresponding to the first user (e.g., a chirp, ringtone, greeting, user's name, and / or music). For example, in response to identifying and detecting a first user in the detection field, computer system 1000 may output the audio "Good afternoon, Jake". In some embodiments, computer system 1000 does not output an audio indication in response to detecting a first user in the detection field. In some embodiments, computer system 1000 outputs the first and / or second audio indications before stopping rotation. In some embodiments, computer system 1000 outputs the first and / or second audio indications after stopping rotation. In some embodiments, computer system 1000 outputs the first and / or second audio indications before performing a first set of movements. In some embodiments, the computer system 1000 outputs a first audio indication and / or a second audio indication when performing a first set of movements. In some embodiments, the computer system 1000 outputs the first audio indication and / or the second audio indication after performing the first set of movements.

[0234] As illustrated in Figure 10B, in response to identifying and detecting a first user within a detection field, computer system 1000 displays a first user indicator 1016 corresponding to the first user at the top center of user interface 1002 (e.g., a default and / or predefined location for indicating a user within the detection field). In this example, first user indicator 1016 includes the first initial of the first user (e.g., JA for Jake Allen). In some embodiments, first user indicator 1016 includes an avatar of the first user (e.g., an image selected by the first user). In some embodiments, first user indicator 1016 includes an image of the first user captured by computer system 1000 via one or more cameras connected to and / or communicating with computer system 1000. It should be appreciated that first user indicator 1016 may include more and / or different content than described herein. In some embodiments, computer system 1000 displays first user indicator 1016 at different locations within user interface 1002 (e.g., not at the top center) (e.g., at the location closest to the first user within user interface 1002). In some embodiments, the computer system 1000 displays a first user instruction 1016 after the rotation has stopped. In some embodiments, the computer system 1000 displays a first user instruction 1016 before the rotation stops.

[0235] As illustrated in Figure 10B, in response to identifying and detecting a first user within a detection field, computer system 1000 displays a first application control 1018a corresponding to the first user at a lower left position within user interface 1002 (e.g., the default position of controls corresponding to users within the detection field). In this example, the first application control 1018a is a control for a fitness tracker application that displays the first user's fitness goals and achievements for the day. In some embodiments, the first application control 1018a is a control for some other type of application. For example, the first application control 1018a could be a schedule application control displaying the first user's appointments for the day. In some embodiments, in response to identifying and detecting a first user within a detection field, computer system 1000 does not display the first application control 1018a. In some embodiments, in response to identifying a first user, computer system 1000 displays one or more other controls and / or indications corresponding to the first user. In some embodiments, computer system 1000 displays the first application control 1018a at a different location within user interface 1002 (e.g., not the lower left). In some implementations, in response to identifying the first user, the computer system 1000 stops displaying the time indicator 1004. Before, during, and / or after displaying the first user indicator 1016, the computer system 1000 detects the second user.

[0236] At Figure 10C, in response to the detection of a second user (and / or after the display of the first user indication 1016), the computer system 1000 rotates a portion of itself via one or more moving components until the second user is within the detection field. As illustrated in Figure 1006, the second user indication 1012 is within the detection field of the computer system indication 1008, thus indicating that the computer system 1000 has rotated and the second user (e.g., Julie Smith) is within the detection field of the computer system 1000. As illustrated in Figure 10C, in response to the first user no longer being detected within the detection field, the computer system 1000 stops displaying the first user indication 1016.

[0237] At Figure 10C, computer system 1000 detects a second user within its detection field. At Figure 10C, in response to the detection of the second user within the detection field, computer system 1000 stops rotating. In this example, the second user (e.g., Julie Smith) is known to computer system 1000 (and / or has registered with computer system 1000). At Figure 10C, computer system 1000 identifies the second user. In some embodiments, in response to the detection of the second user within the detection field, computer system 1000 continues to rotate a portion of itself until the second user is in a specific position within the detection field (e.g., centered and / or framed in some way). At Figure 10C, in response to the detection of the second user within the detection field, computer system 1000 performs a second set of movements by moving a portion of itself about one or more axes via one or more moving components. In some embodiments, the second set of movements is the same as the first set of movements. In some embodiments, the second set of movements is different from the first set of movements. In some embodiments, in response to identifying and detecting a second user within the detection field, the computer system 1000 executes a predetermined second set of movements corresponding to the second user. For example, the computer system 1000 may move a portion of the computer system 1000 left or right as preset by the second user. In some embodiments, the computer system 1000 executes the second set of movements before stopping rotation. In some embodiments, the computer system 1000 executes the second set of movements after stopping rotation.

[0238] At Figure 10C, in response to the detection of a second user within the detection field, the computer system 1000 outputs a third audio indication (e.g., a chirp, ringtone, greeting, and / or music). In some embodiments, the third audio indication is the same as the first audio indication. In some embodiments, the third audio indication is different from the first audio indication. In some embodiments, in response to the identification and detection of a second user within the detection field, the computer system 1000 outputs a fourth audio indication corresponding to the second user (e.g., a chirp, ringtone, greeting, user's name, and / or music). For example, in response to the identification and detection of a second user within the detection field, the computer system 1000 may output a portion of the theme song from the second user's favorite television program. In some embodiments, the computer system 1000 does not output an audio indication in response to the detection of a second user within the detection field. In some embodiments, the computer system 1000 outputs the third and / or fourth audio indications before stopping rotation. In some embodiments, the computer system 1000 outputs the third and / or fourth audio indications after stopping rotation. In some embodiments, the computer system 1000 outputs a third audio indication and / or a fourth audio indication before executing the second set of movements. In some embodiments, the computer system 1000 outputs the third audio indication and / or a fourth audio indication during the execution of the second set of movements. In some embodiments, the computer system 1000 outputs the third audio indication and / or a fourth audio indication after executing the second set of movements.

[0239] As illustrated in Figure 10C, in response to identifying and detecting a second user within the detection field, computer system 1000 displays a second user indicator 1020 corresponding to the second user at the top center of user interface 1002. In this example, the second user indicator 1020 includes the initials of the first user (e.g., JS for Julie Smith). In some embodiments, the second user indicator 1020 includes an avatar of the second user (e.g., an image selected by the second user). In some embodiments, the second user indicator 1020 includes an image of the second user captured by computer system 1000 via one or more cameras connected to and / or communicating with computer system 1000. In some embodiments, computer system 1000 displays the second user indicator 1020 at different locations within user interface 1002 (e.g., not at the top center). In some embodiments, computer system 1000 displays the second user indicator 1020 after rotation has stopped. In some embodiments, computer system 1000 displays the second user indicator 1020 before rotation has stopped.

[0240] In some embodiments, the computer system 1000 detects more than one user within the detection field. In some embodiments, in response to the computer system 1000 detecting more than one user within the detection field, the computer system 1000 continuously displays a user indicator corresponding to each user at the top center of the user interface 1002. In some embodiments, in response to detecting more than one user within the detection field, the computer system 1000 displays a user indicator corresponding to each of the users at a position at the top of the user interface 1002, these positions corresponding to the relative positions of each user in the relative positions of the users within the detection field. For example, if a first user is facing the right side of the user interface 1002 within the detection field, and a second user is facing the left side of the user interface 1002 within the detection field, then the computer system 1000 may display a user indicator corresponding to the first user at a position in the upper right of the user interface 1002, and a user indicator corresponding to the second user at a position in the upper left of the user interface 1002. In some embodiments, in response to the computer system 1000 detecting more than one user in the detection field, the computer system 1000 displays a user indicator corresponding to each of the users at positions along the side of the user interface 1002, these positions corresponding to the relative position of each user in the relative positions of the users in the detection field. In some embodiments, the user indicator is the same for multiple users. For example, users may have the same initial and / or both users may be unknown, where the user indicator indicates this (e.g., a question mark, as described below relative to the unknown user indicator 1022). In some embodiments, the user indicator is different for each user. In some embodiments, as the computer system 1000 rotates between a first user and a second user, the computer system 1000 temporarily detects both the first user and the second user in the detection field, causing the computer system 1000 to display both the first user indicator 1016 and the second user indicator 1020 for the period during which both users are in the detection field.

[0241] As illustrated in Figure 10C, in response to identifying and detecting a second user within the detection field, computer system 1000 stops displaying the first application control 1018a and displays a second application control 1018b corresponding to the second user at the lower left position within user interface 1002. In some embodiments, computer system 1000 stops displaying the first application control 1018a in response to not detecting a first user within the detection field. In this example, the second application control 1018b is a control for a fitness tracker application that displays the second user's fitness goals and achievements for the day. In some embodiments, the second application control 1018b is a control for some other type of application. For example, the second application control 1018b could be a news application that displays headlines from a selected news source for the second user. In some embodiments, computer system 1000 does not display the second application control 1018b in response to identifying and detecting a second user within the detection field. In some embodiments, computer system 1000 displays one or more other application controls corresponding to the second user in response to identifying and detecting a second user within the detection field. In some implementations, in response to the detection of more than one user within the detection area, computer system 1000 does not display any application controls corresponding to a single user to protect the privacy of that individual user. Computer system 1000 detects a third user before, during, and / or after the display of the second user instruction 1020.

[0242] At Figure 10D, in response to the detection of a third user and / or after the detection of a third user (e.g., after displaying the second user indication 1020), computer system 1000 rotates a portion of itself via one or more moving components until the third user is within the detection field. As illustrated in Figure 1006, third user indication 1014 is within the detection field of computer system indication 1008, thus indicating that computer system 1000 has rotated and the third user is within the detection field of computer system 1000. At Figure 10D, computer system 1000 detects the third user within the detection field of computer system 1000. At Figure 10D, in response to the detection of a third user within the detection field, computer system 1000 stops rotating. In some embodiments, in response to the detection of a third user within the detection field, computer system 1000 continues to rotate until the third user is in a specific position within the detection field (e.g., centered and / or framed in a certain way). As illustrated in Figure 10D, in response to the fact that no second user is detected in the detection field, the computer system 1000 stops displaying the second user indication 1020.

[0243] In this example, the third user is unknown to computer system 1000. In some embodiments, the user unknown to computer system 1000 has not registered with computer system 1000 (e.g., the user does not have an account, the user's biometric information is not recorded, and / or the user does not have login credentials). At Figure 10D, computer system 1000 determines that the third user is unknown and / or does not identify the third user. At Figure 10D, in response to detecting a third user in the detection field, computer system 1000 performs a third set of movements by moving a portion of computer system 1000 about one or more axes via one or more moving components. In some embodiments, the third set of movements is the same as the first set of movements and / or the second set of movements. In some embodiments, the third set of movements is different from the first set of movements and / or the second set of movements. In some embodiments, in response to the third user being unknown to computer system 1000, computer system 1000 does not perform any movements (e.g., the third set of movements). In some embodiments, in response to the third user being unknown to computer system 1000, the third set of movements is the set of movements corresponding to the unknown user. For example, in response to the fact that a third user is unaware of computer system 1000, computer system 1000 may tilt a part of computer system 1000 to appear curious.

[0244] At Figure 10D, in response to the detection of a third user within the detection field, computer system 1000 outputs a fifth audio indication (e.g., a chirp, ringtone, greeting, and / or music). In some embodiments, the fifth audio indication is the same as the first and / or third audio indications. In some embodiments, the fifth audio indication is different from the first and / or third audio indications. In some embodiments, in response to the third user being unknown to computer system 1000, computer system 1000 does not output a fifth audio indication. In some embodiments, in response to the third user being unknown to computer system 1000, computer system 1000 outputs a sixth audio indication (e.g., a chirp, ringtone, greeting, and / or music) (e.g., the same as or different from the first, second, third, fourth, and / or fifth audio indications). In some embodiments, the sixth audio indication corresponds to an audio indication unknown to the user. For example, in response to the fact that a third user is unknown to computer system 1000, computer system 1000 may output a simple prompt tone to instruct computer system 1000 to confirm the existence of an unknown user.

[0245] As illustrated in Figure 10D, in response to the detection of a third user in the detection field, computer system 1000 stops displaying the second application control 1018b. In some embodiments, in response to no second user being detected in the detection field, computer system 1000 stops displaying the second application control 1018b. As illustrated in Figure 10D, in response to computer system 1000 detecting a third user and the third user being unknown, computer system 1000 displays an unknown user indicator 1022 at the top of user interface 1002. In this example, the unknown user indicator 1022 includes two question marks (e.g., ??). In some embodiments, in response to computer system 1000 detecting a third user in the detection field and the third user being unknown, computer system 1000 displays an unknown user indicator 1022 with one or more different symbols and / or contents. As illustrated in Figure 10D, in response to computer system 1000 detecting a third user in the detection field and the third user being unknown, computer system 1000 displays a time indicator 1004 and an unknown user indicator 1022 in user interface 1002. In some embodiments, in response to computer system 1000 detecting a third user in the detection field and the third user being unknown, computer system 1000 stops displaying the time indicator 1004. In some embodiments, in response to computer system 1000 detecting a third user in the detection field and the third user being unknown, computer system 1000 displays one or more other controls and / or indicators in user interface 1002.

[0246] As illustrated in Figure 10E, after displaying the unknown user instruction 1022, the computer system 1000 stops displaying the user interface 1002 and displays a greeting screen 1024 including the first text 1026. Also illustrated in Figure 10E, the computer system 1000 continues to display the unknown user instruction 1022 concurrently with the greeting screen 1024. In this example, the first text 1026 includes a greeting (e.g., “Hello”) and a request for the name of a third user (e.g., “What’s your name?”). In some embodiments, the first text 1026 includes another greeting and / or a request for the name of a third user. For example, the first text 1026 may include “Hello, I am computer system 1000” (e.g., the assigned name of computer system 1000) and “Who are you?”. In some embodiments, while displaying the first text 1026, the computer system 1000 outputs audio corresponding to the computer system 1000 reading the first text 1026 (e.g., “Hello, what’s your name?”). In some implementations, when the first text 1026 is displayed, the computer system 1000 uses one or more cameras connected to and / or communicating with the computer system 1000 to capture an image of a third user, and / or displays the captured image at the top of the greeting screen 1024 instead of the unknown user indication 1022. After the first text 1026 is displayed, the computer system 1000 detects a first audio input 1028 from the third user, corresponding to the third user's response to the first text 1026 using the third user's name (e.g., "Anna Smith").

[0247] In some implementations, after displaying the unknown user indication 1022 and before displaying the greeting screen 1024, the computer system 1000 detects audio input from a third user corresponding to the third user introducing themselves to the computer system 1000. In some implementations, the audio input corresponding to the third user introducing themselves to the computer system 1000 does not include an explicit indication of adding the third user as a new user (e.g., a known user). For example, the third user could say, "Hello, my name is Anna Smith." In some implementations, the audio input corresponding to the third user introducing themselves to the computer system 1000 does include an explicit indication of adding the third user as a new user.

[0248] In some embodiments, after displaying the unknown user indication 1022, the computer system 1000 rotates a portion of itself until a known user (e.g., the first user, second user, and / or master user of the computer system 1000) is in the detection field and the greeting screen 1024 is not displayed. For example, after displaying the unknown user indication 1022, the computer system 1000 may rotate a portion of itself until the first user is again in the detection field. In some embodiments, after displaying the unknown user indication 1022, the computer system 1000 detects audio input from a known user (e.g., the first user, second user, and / or master user of the computer system 1000) corresponding to the known user introducing a third user to the computer system 1000. In some embodiments, the audio input corresponding to the known user introducing a third user to the computer system 1000 does not include an explicit indication of registering the third user as a user (e.g., a known user). For example, the first user could say, "This is Anna Smith." In some implementations, the audio input corresponding to a known user introducing a third user to computer system 1000 does indeed include an explicit instruction to register the third user as a user (e.g., a known user). For example, the second user could say, “Computer, please add Anna Smith as a user.” In some implementations, after the third user is detected and before the unknown user instruction 1022 is displayed, computer system 1000 detects audio input from a known user corresponding to the known user introducing the third user to computer system 1000. For example, before computer system 1000 has begun to turn toward the third user, while the second user is in the detection field, the second user could say, “This is Anna Smith.”

[0249] In some implementations, if the computer system 1000 detects a third user in the detection field, the computer system 1000 will respond as described below in FIG10F in response to detecting audio input corresponding to the third user introducing themselves to the computer system 1000 and / or audio input corresponding to a known user introducing themselves to the computer system 1000. In some implementations, if the computer system 1000 does not detect a third user in the detection field, the computer system 1000 will rotate a portion of itself in response to detecting audio input corresponding to the third user introducing themselves to the computer system 1000 and / or audio input corresponding to a known user introducing themselves to the computer system 1000, until a third user is detected in the detection field, after which it continues as described below in FIG10F. For example, if the computer system 1000 is facing the first user when the first user introduces the third user to the computer system 1000, the computer system 1000 may rotate a portion of itself until the third user is in the detection field, after which it continues as described below in FIG10F.

[0250] In some implementations, before the computer system 1000 detects a third user, the computer system 1000 detects audio input from a known user corresponding to the known user introducing the third user to the computer system 1000. In some implementations, before the computer system 1000 detects a third user, and after the computer system 1000 detects audio input from a known user corresponding to the known user introducing the third user to the computer system 1000, the computer system 1000 detects an air gesture from the same known user in the direction of the third user, to indicate where the computer system 1000 should look for the third user. For example, while the first user is in the detection field, before the computer system 1000 has detected the third user, the first user can say, “Computer, let me introduce you to Anna Smith,” and then make a gesture in the direction of the third user. In some embodiments, in response to detecting audio input from a known user corresponding to the known user introducing a third user to the computer system 1000, followed by detection of an air gesture from the same known user in the direction of the third user, the computer system 1000 rotates a portion of itself in the direction indicated by the air gesture until the computer system 1000 detects the third user within the detection field, and then continues as described below in FIG10F. In some embodiments, before the computer system 1000 detects the third user, and after the computer system 1000 detects audio input from a known user corresponding to the known user introducing a third user to the computer system 1000, the computer system 1000 does not detect input indicating where the computer system 1000 should look for the third user. In some embodiments, in response to detecting audio input from a known user corresponding to the known user introducing a third user to the computer system 1000 and before the computer system 1000 has detected the third user, the computer system 1000 rotates a portion of itself until the unknown user is within the detection field, and then the computer system 1000 continues as described below in FIG10F.

[0251] As illustrated in Figure 10F, in response to the detection of the first audio input 1028, the computer system 1000 stops displaying the first text 1026 and displays the second text 1032, which includes a request to confirm the name of the third user (e.g., “Is it Anna Smith?”). In some embodiments, in response to the detection of the first audio input 1028, the computer system 1000 outputs audio corresponding to the second text 1032 read by the computer system 1000. At Figure 10F, in response to the first audio input 1028, the computer system 1000 captures biometric data of the third user (e.g., images, sounds (e.g., voice) and / or sensor data (e.g., infrared and / or thermal features)) via one or more sensors. In some embodiments, the biometric data is used to identify the third user (e.g., to detect the true identity of the third user). In some embodiments, instead of outputting the content corresponding to the first text 1026, the user interface 1002 in Figure 10G is displayed after the user interface 1024 in Figure 10E, without displaying the user interface 1024 in Figure 10F. As illustrated in Figure 10F, in response to the detection of the first audio input 1028, the computer system 1000 stops displaying the unknown user indication 1022 and displays the third user indication 1030. In this example, the third user indication 1030 includes the initials of the third user (e.g., AS for Anna Smith). In some embodiments, the third user indication 1030 includes an image of the third user captured by one or more cameras connected to and / or communicating with the computer system 1000. At Figure 10F, the computer system 1000 detects a second audio input 1034 from the third user corresponding to an affirmative response (e.g., yes) to a question in the second text 1032. In some embodiments, the unknown user indication 1022 is not updated to the third user indication 1030 until after a location response.

[0252] At Figure 10G, in response to the detection of a second audio input 1034 corresponding to a positive response, computer system 1000 registers a third user (e.g., Anna Smith) as a known user. As illustrated in Figure 10G, in response to the detection of the second audio input 1034, computer system 1000 stops displaying the greeting screen 1024 and displays a user interface 1002 including a time indicator 1004. In some embodiments, it is determined that the third user is not registered with another computer system (e.g., Anna Smith's personal device communicating with computer system 1000), causing computer system 1000 to continue displaying the third user indicator 1030. In some embodiments, it is determined that the third user is registered with another computer system (e.g., Anna Smith's personal device communicating with computer system 1000), causing computer system 1000 to display a fourth user indicator corresponding to the user indicator used by the third user on the other computer system. In some embodiments, computer system 1000 detects the second audio input 1032 from the third user corresponding to a negative response (e.g., "No") to a question in the second text 1032. In some implementations, in response to detecting an audio input from a third user corresponding to a negative response, computer system 1000 repeats the same and / or similar process as described above starting from Figure 10E.

[0253] The examples illustrated in Figures 10A to 10F above are generalized examples of user interface 1002 as a main screen user interface. In some embodiments, user interface 1002 is an office check-in system user interface. For example, computer system 1000 may rotate to face a patient in a doctor's office or a professional at a meeting. Each person known to computer system 1000 (e.g., existing patients and / or registered meeting attendees) can be individually and automatically greeted and checked in by computer system 1000. Computer system 1000 may request each person unknown to computer system 1000 to identify themselves. Upon receiving a person's identification, computer system 1000 may check the information against a connected database. If computer system 1000 finds the person in the database, it can assist the person in completing system registration, thereby making the person known to computer system 1000.

[0254] Figure 11 is a flowchart illustrating a method for a portion of a mobile computer system according to some embodiments. Process 1100 is performed at a computer system (e.g., 100, 200, and / or 1000). Some operations in process 1100 may be combined, some operations may be ordered differently, and some operations may be omitted.

[0255] As described below, process 1100 provides an intuitive way of moving a part of a mobile computing system. This method reduces the cognitive burden on the user regarding the part of the mobile computing system, thereby creating a more efficient human-computer interface. For battery-powered computing devices, enabling users to move parts of the computing system faster and more efficiently saves power and increases the time between battery charging sessions.

[0256] In some embodiments, process 1100 is performed at a computer system (e.g., 1000) that communicates with mobile components (e.g., actuators, movable bases, rotatable components, and / or rotatable bases), one or more input devices (e.g., cameras, depth sensors, and / or microphones), and display components (e.g., displays and / or touch-sensitive displays). In some embodiments, the computer system is a fitness tracker, watch, phone, tablet, processor, head-mounted display (HMD) device, and / or personal computing device.

[0257] The computer system detects (1102) a first user (e.g., 1010, 1012 and / or 1014) (e.g., a person, animal, user and / or object) in an environment (e.g., 1006) (e.g., physical environment) via one or more input devices.

[0258] In response to (1104) the detection of a first user (e.g., 1010, 1012 and / or 1014) in the environment (e.g., 1006), the computer system moves (1106) via a moving component (e.g., physically moves, rotates, pushes and / or pulls) a portion of the computer system (e.g., 1000) (e.g., a housing and / or enclosure including a display component and / or one or more input devices) (e.g., a front portion) to guide the first user (e.g., 1010, 1012 and / or 1014) (e.g., as described above in Figures 10A to 10D) (e.g., at least partially object-oriented and / or at least partially object-oriented portion) (e.g., from a first orientation to a second orientation different from the first orientation).

[0259] In response to (1104) the detection of a first user in the environment, the computer system displays (1108) a first predefined indication (e.g., 1016, 1020, 1022, and / or 1030) for (e.g., belonging to, associated with, and / or corresponding to) the first user (e.g., 1010, 1012, and / or 1014) (e.g., predefined identity and / or predefined representation). In some embodiments, the first predefined indication is configured and / or set for the object before the object is detected. In some embodiments, the first predefined indication is not an image and / or video of the object. In some embodiments, the first predefined indication includes one or more characters. In some embodiments, the first predefined indication is displayed in a predefined location. In some embodiments, the first predefined indication is displayed in a location relative to the location of the object. In response to the detection of a first user in the environment, moving this part of the computer system to direct the first user and displaying a first predefined instruction for the first user allows the computer system to indicate to the user in the environment what the computer system has detected, thereby providing the user with improved visual feedback and / or performing an operation when a set of conditions is met without requiring additional user input.

[0260] In some embodiments, after the portion of the computer system (e.g., 1000) is moved to a first user (e.g., 1010, 1012, and / or 1014) via a moving component (e.g., 0 to 360 seconds later) (e.g., (1) after the portion of the computer system has been directed to the first user, (2) in response to the detection of the first user in the environment and based on the determination that the portion of the computer system has been directed to the first user, and / or (3) after the movement of the portion of the computer system has stopped), a first predefined indication (e.g., 1016, 1020, 1022, and / or 1030) is displayed. In some embodiments, the first predefined indication is displayed before the computer system moves the portion of the computer system via the moving component to be directed to the first user (e.g., 0.1 to 360 seconds earlier). In some embodiments, after the first predefined indication is displayed and based on the determination that the computer system has not been directed to the first user (e.g., after the portion of the computer system has been moved to be directed to the first user), the computer system stops displaying the first predefined indication. In some implementations, after the computer system moves that portion of the computer system via a moving component to direct it to a first user, and based on a determination that the computer system has not been directed to the first user, the computer system maintains the display of a first predefined instruction. Displaying the first predefined instruction after moving that portion of the computer system to the first user allows the computer system to display content when it is viewable, and in some implementations, not displaying content when it becomes more difficult to view due to movement, thereby providing the user with improved visual feedback and / or performing an operation when a set of conditions is met without requiring additional user input.

[0261] In some embodiments, a first predefined indication (e.g., 1016, 1020, and / or 1030) is displayed when the portion of the computer system (e.g., 1000) is moved via a mobile component to guide a first user (e.g., 1010, 1012, and / or 1014) (e.g., based on the determination that the first user is within the field of view and / or detection field of one or more input devices). In some embodiments, the first predefined indication is displayed based on the movement speed of the portion of the computer system. In some embodiments, the first predefined indication is displayed during a first portion of the movement based on a determination that the movement via the mobile component to guide the portion of the computer system to the first user is at a first speed. In some embodiments, the first predefined indication is displayed (e.g., not displayed during the first portion of the movement) during a second portion of the movement, different from the first portion, based on a determination that the movement via the mobile component to guide the portion of the computer system to the first user is at a second speed different from the first speed. Displaying a first predefined indication when moving this part of the computer system to the first user allows the computer system to display an indication of the contents in the computer system's field of view and / or detection field when the movement occurs rather than when the computer system stops, thereby providing the user with improved visual feedback and / or performing an operation when a set of conditions is met without requiring additional user input.

[0262] In some implementations, when a first predefined instruction (e.g., 1016, 1020, 1022, and / or 1030) is displayed for a first user (e.g., 1010, 1012, and / or 1014), the computer system detects a second user (e.g., 1010, 1012, and / or 1014) in the environment (e.g., 1006) via one or more input devices (e.g., a person, animal, user, and / or object) (e.g., detecting the second user when the first user is detected and / or the computer system has not previously been directed to the second user) (e.g., when the second user is detected, that part of the computer system has not been directed to the second user), wherein the second user is different from the first user (e.g., dissimilar and / or separate). In some embodiments, in response to the detection of a second user (e.g., 1010, 1012, and / or 1014) in an environment (e.g., 1006), the computer system moves that portion of the computer system (e.g., 1000) via a moving component to direct the user to the second user (e.g., 1010, 1012, and / or 1014) (e.g., instead of the first user) (e.g., and the first user). In some embodiments, in response to the detection of a second user in the environment, the computer system displays a second predefined instruction (e.g., 1016, 1020, 1022, and / or 1030) for the second user (e.g., 1010, 1012, and / or 1014). In some embodiments, when the computer system detects a second user in the environment via one or more input devices, that portion of the computer system is directed to the first user. In some embodiments, when the computer system detects a second user in the environment via one or more input devices, that portion of the computer system is not directed to the first user. In some implementations, the second user and the first user are the same type of user (e.g., both the first user and the second user are humans, animals, and / or inanimate objects). In some implementations, the second user and the first user are different types of users (e.g., the first user is a human and the second user is an animal, or the first user is a living object and the second user is a human). Moving this part of the computer system in response to detecting the second user in the environment to direct the second user and displaying a second predefined instruction for the user allows the computer system to more efficiently and / or effectively indicate to the user that they have been detected by the computer system, thereby providing the user with improved visual feedback and / or performing an action when a set of conditions is met without requiring additional user input.

[0263] In some embodiments, when this portion of the computer system (e.g., 1000) is moved via a moving component to direct to a second user (e.g., 1010, 1012, and / or 1014) (and / or based on a determination that this portion of the computer system has not been directed to a first user (and / or the first user is not in the field of view and / or detection field of one or more input devices), the computer system stops displaying a first predefined instruction (e.g., 1016, 1020, 1022, and / or 1030) for the first user (e.g., 1010, 1012, and / or 1014). In some embodiments, the display of the first predefined instruction for the first user stops after this portion of the computer system has stopped moving (e.g., once this portion of the computer system has been directed to a second user). When this part of the mobile computer system stops displaying the first predefined instruction to the user to guide the second user, it allows the computer system to indicate to the user in the environment when the computer system continues to move from one user and / or what the computer system detects in the computer system's field of view and / or detection field, thereby providing the user with improved visual feedback and / or performing an operation when a set of conditions is met without requiring additional user input.

[0264] In some embodiments, after a second user (e.g., 1010, 1012, and / or 1014) is detected in the environment (e.g., 1006) and while a second predefined indication (e.g., 1016, 1020, 1022, and / or 1030) for the second user (e.g., 1010, 1012, and / or 1014) is displayed, the computer system maintains (and / or continues) the display of the first predefined indication (e.g., 1016, 1020, 1022, and / or 1030) for the first user (e.g., 1010, 1012, and / or 1014). In some embodiments, the second predefined indication has the same size, color, and / or shape as the first predefined indication. In some embodiments, the second predefined indication has a different size, color, and / or shape compared to the first predefined indication. In some embodiments, the first predefined indication stops being displayed as part of the second predefined indication that is being displayed. In some embodiments, the second predefined indication has an appearance based on the appearance of the second user. In some implementations, a first predefined instruction for a first user is displayed on a larger portion of the display component compared to a second predefined instruction for a second user. In some implementations, a second predefined instruction for a second user is displayed on a larger portion of the display component compared to a first predefined instruction for a first user. Maintaining the display of the first predefined instruction for the first user while displaying the second predefined instruction for the second user allows the computer system to indicate to users in the environment which users are being detected and / or which users are within the computer system's field of view and / or detection field, thereby providing users with improved visual feedback and / or enabling actions to be performed when a set of conditions is met without requiring additional user input.

[0265] In some implementations, the first predefined indication (e.g., 1016, 1020, 1022, and / or 1030) and the second predefined indication (e.g., 1016, 1020, 1022, and / or 1030) are identical (e.g., the first and second predefined indications have the same appearance, shape, color, size, and visual characteristics but are displayed in different areas of the display component, and / or on the same area of ​​the display component). In some implementations, the first user and / or the second user are not registered with the computer system. In some implementations, the first predefined indication indicates that the first user has not registered with the computer system. In some implementations, the second predefined indication indicates that the second user has not registered with the computer system. The identical first and second predefined indications allow the computer system to indicate when it detects users identified as the same type of user, thereby providing the user with improved visual feedback and / or performing an operation when a set of conditions is met without requiring additional user input.

[0266] In some implementations, the first predefined indication (e.g., 1016, 1020, 1022, and / or 1030) and the second predefined indication (e.g., 1016, 1020, 1022, and / or 1030) are different (e.g., different sizes, different colors, different shapes, and / or displayed on different areas of the display component). This difference between the first and second predefined indications allows the computer system to indicate when it has detected a different user in the environment, thereby providing the user with improved visual feedback and / or performing an operation when a set of conditions has been met without requiring additional user input.

[0267] It should be noted that the details of the process described above with respect to process 1100 (e.g., Figure 11) also apply in a similar manner to the methods described below / above. For example, process 1200 may optionally include one or more characteristics of the various methods described above with reference to process 1100. For example, a first predefined indication of process 1100 may be displayed in response to the detection of a first user in process 1200. For the sake of brevity, these details will not be repeated below.

[0268] Figure 12 is a flowchart illustrating a method for performing movement using a computer system according to some embodiments. Process 1200 is performed at a computer system (e.g., 100, 200, and / or 1000). Some operations in process 1200 may be combined, the order of some operations may be changed, and some operations may be omitted.

[0269] As described below, process 1200 provides an intuitive way to perform movement. This method reduces the cognitive burden of user interaction with the computer system, thereby creating a more efficient human-computer interface. For battery-powered computing devices, it enables users to interact with the computer system faster and more efficiently, saving power and increasing the time between battery charging.

[0270] In some embodiments, process 1200 is performed at a computer system (e.g., 1000) communicating with a first moving component (e.g., an actuator, a movable base, a rotatable component, and / or a rotatable base), a second moving component (e.g., an actuator, a movable base, a rotatable component, and / or a rotatable base) (e.g., the first moving component or another moving component different from the first moving component), and one or more input devices (e.g., a camera, a depth sensor, and / or a microphone). In some embodiments, the computer system is a watch, telephone, tablet computer, processor, head-mounted display (HMD) device, public utility, media device, speaker, television, and / or personal computing device.

[0271] The computer system detects (1202) a first user (e.g., 1010, 1012, and / or 1014) in an environment (e.g., 1006) (e.g., a physical environment) via one or more input devices. In some embodiments, the first user is detected via a microphone, camera, depth sensor, and / or communication received from the computer system corresponding to the first user (e.g., indicating the presence of the first user).

[0272] In response to the detection of a first user (e.g., 1010, 1012 and / or 1014) in the environment (e.g., 1006) by (1204), the computer system moves (1206) via a first moving component (e.g., physically alters and / or moves) a portion of the computer system (e.g., 1000) (e.g., a housing and / or enclosure including a display component and / or one or more input devices) (e.g., a front portion) to direct the first user (e.g., 1010, 1012 and / or 1014) (e.g., facing the first user and / or oriented relative to the first user) (e.g., as described above in Figures 10A to 10D).

[0273] In response to (1204) the detection of a first user in the environment, in conjunction with the portion of the mobile computer system (e.g., 1000) intended to guide the first user (e.g., 1010, 1012, and / or 1014) (e.g., before, during, and / or after the movement), the computer system performs (1208) a first physical movement (e.g., a predefined physical movement) via a second movement component (e.g., a bow and / or other physical movement predefined for any user or for a specific user) (e.g., when facing and / or oriented toward the first user), which removes the positioning of that portion of the computer system from the guidance to the first user (e.g., as described above with respect to Figures 10A through 10D). In some embodiments, the first physical movement is separate from the portion of the mobile computer system intended to guide the first user. In conjunction with this part of the mobile computer system to guide to the first user, performing a first physical movement that moves the location of this part of the computer system away from the guidance to the first user allows the computer system to use the movement to visually indicate to the first user that the computer system detects the first user, thereby providing the user with improved visual feedback and / or performing an operation when a set of conditions is met without requiring additional user input.

[0274] In some implementations, the second moving component is the first moving component (e.g., a single moving component). In some implementations, the second moving component is different from the first moving component.

[0275] In some embodiments, the computer system detects a second user (e.g., 1010, 1012, and / or 1014) in an environment (e.g., 1006) via one or more input devices. In some embodiments, the second user is different from the first user (e.g., 1010, 1012, and / or 1014). In some embodiments, the second user is detected when the first user is detected. In some embodiments, the second user is detected after the first user has been detected. In some embodiments, the second user is detected after this part of the computer system has been moved to guide the first user and / or after the first physical movement has been performed. In some implementations, after a portion of the mobile computer system (e.g., 1000) is directed to a first user (e.g., 1010, 1012, and / or 1014), the computer system moves (e.g., physically alters and / or moves) that portion of the computer system (e.g., 1000) via a first mobile component to direct to a second user (e.g., 1010, 1012, and / or 1014) (e.g., oriented towards the second user and / or oriented relative to the second user). In some embodiments, after this portion of the mobile computer system is directed to a first user, in conjunction with the portion of the mobile computer system (e.g., 1000) directed to a second user (e.g., 1010, 1012, and / or 1014) (e.g., before, during, and / or after the movement), the computer system performs a second predefined physical movement via a second movement component (e.g., a bow and / or other predefined physical movement for any user or for a specific user) (e.g., when facing and / or oriented toward the second user). This second predefined physical movement removes the positioning of this portion of the computer system from that directed to the second user (e.g., as described above in Figures 10A through 10D). In some embodiments, the second physical movement is separate from the portion of the mobile computer system directed to the second user. In conjunction with this part of the mobile computer system to guide to the second user, performing a second physical movement that moves the location of this part of the computer system away from the guidance to the second user allows the computer system to use movement to visually indicate to different users that the computer system detects different users, thereby providing users with improved visual feedback and / or performing ...

Claims

1. A method, the method comprising: At a computer system communicating with mobile components and sensors: when a portion of the computer system is in a first location in the environment, input corresponding to a request to register a user with the computer system is detected; And in response to detecting the input corresponding to the request to register a user with the computer system: based on determining that the new user is in a second location in the environment different from the first location, moving a portion of the computer system via the mobile component to guide it to the second location; based on determining that the new user is in a third location in the environment different from the first location and the second location, moving a portion of the computer system via the mobile component to guide it to the third location; and in conjunction with moving the portion of the computer system, capturing data corresponding to the new user via the sensor.

2. The method of claim 1, wherein the computer system communicates with one or more input devices, the method further comprising: Before the input is detected, the new user is detected as not registered with the computer system via the one or more input devices.

3. The method of claim 1, wherein the input corresponds to a first user different from the new user, and wherein the first user is identified as having registered with the computer system.

4. The method of claim 1, wherein the input comes from the new user.

5. The method of claim 1, wherein the input does not include instructions for registering a user with the computer system.

6. The method of claim 1, wherein the computer system communicates with one or more output devices, the method further comprising: In response to detecting the input corresponding to the request to register a user with the computer system and in conjunction with capturing the data corresponding to the new user, a request for the name of the new user is output via the one or more output devices.

7. The method of claim 1, wherein the data corresponding to the new user includes an image of the new user.

8. The method of claim 7, wherein the computer system communicates with the display component, the method further comprising: After detecting the data including the image of the new user, a graphical representation of the new user is displayed via the display component.

9. The method according to claim 8, wherein: The graph represents a user previously assigned to a computer system other than the computer system in which it is determined that the new user has registered; and the graph represents a user not previously assigned to a computer system other than the computer system in which it is determined that the new user has not registered.

10. The method of claim 8, wherein the graphical representation is a placeholder representation based on the determination that the new user has not registered with another computer system.

11. The method of claim 1, wherein the data corresponding to the new user includes biometric data corresponding to the new user.

12. The method of claim 1, wherein the data corresponding to the new user includes voice data corresponding to the new user.

13. The method according to claim 1, further comprising: In conjunction with moving the portion of the computer system to guide it to the second location, a physical movement is performed via the moving component, the physical movement causing the location of the portion of the computer system to be removed from the guidance to the second location.

14. A computer program product comprising one or more programs configured to be executed by one or more processors of a computer system in communication with mobile components and sensors, the one or more programs comprising instructions for performing the method according to any one of claims 1 to 13.

15. A computer system for communicating with mobile components and sensors, the computer system comprising: One or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the method according to any one of claims 1 to 13.