Method, electronic device and computer program product for applying network access policies
By displaying multiple user interfaces on electronic devices and receiving user input, local network management is simplified, solving the problems of cumbersome and inefficient existing technologies, and achieving more efficient network management and lower power consumption.
Patent Information
- Application Number
- CN202411834544.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-03-12
- Filing Date
- 2020-05-29
- Publication Date
- 2026-01-06
- Estimated Expiration
- 2040-05-29
AI Technical Summary
Existing methods for managing and securing local networks are cumbersome and inefficient, especially in battery-powered devices, resulting in wasted user time and device energy.
This invention provides a method for displaying multiple user interfaces on an electronic device, applying different network access policies by receiving user input, simplifying the network management process, reducing the number of user inputs, and improving interface efficiency.
It reduces the cognitive burden on users, saves power for battery-powered devices, extends battery charging intervals, and improves device effectiveness and user satisfaction.
Smart Images

Figure CN119696947B_ABST
Abstract
Description
[0001] This application is a divisional application of invention patent application 202080032669.2, filed on May 29, 2020, entitled "User Interface for Managing Local Network".
[0002] Cross-references to related applications
[0003] This application claims priority to U.S. Patent Application No. 16 / 817,328, filed March 12, 2020, entitled “USER INTERFACES FOR MANAGING A LOCAL NETWORK”, and U.S. Provisional Patent Application No. 62 / 855,815, filed May 31, 2019, entitled “USER INTERFACES FOR MANAGING A LOCAL NETWORK”, the contents of each of which are incorporated herein by reference in their entirety for all purposes. Technical Field
[0004] This disclosure relates in general to computer user interfaces, and more specifically to user interfaces for managing and securing local networks. Background Technology
[0005] Local networks (e.g., home networks) are typically managed by a router. A local network may have multiple external devices connected to it. These external devices can be managed and controlled using electronic devices. Network security settings for these multiple external devices can also be managed and controlled using electronic devices. Summary of the Invention
[0006] However, some technologies used to manage and stabilize local networks using electronic devices are often cumbersome and inefficient. For example, some existing technologies use complex and time-consuming user interfaces that may involve multiple keystrokes or button presses. These technologies require more time than necessary, resulting in wasted user time and device power. This latter consideration is particularly important in battery-powered devices.
[0007] Therefore, this technology provides electronic devices with a faster and more efficient method and interface for managing and securing local networks. Such methods and interfaces can optionally supplement or replace other methods for managing and securing local networks. These methods and interfaces reduce the amount of user input required to manage and secure local networks. They reduce the cognitive burden on users and result in a more efficient human-machine interface. For battery-powered computing devices, these methods and interfaces save power and increase the time interval between battery charging sessions.
[0008] According to some embodiments, a method performed at an electronic device having a display is described. The method includes: when the electronic device is connected to a router and a plurality of external devices including a first group of one or more external devices and a second group of one or more external devices, displaying a first user interface including a first power indicator and a second power indicator; receiving a first input; and in response to receiving the first input: applying a first network access policy to the first group of one or more external devices based on determining that the first input corresponds to a selection of the first power indicator; and applying the first network access policy to the second group of one or more external devices; and displaying a second user interface including: a third power indicator, upon selection of the third power indicator, initiating a process for applying a network access policy to the first group of one or more external devices, the network access policy being selected from a group consisting of the first network access policy and a second network access policy different from the first network access policy; and a fourth power indicator, upon selection of the fourth power indicator, initiating a process for applying a network access policy to the second group of one or more external devices, the network access policy being selected from a group consisting of the first network access policy and a second network access policy different from the first network access policy.
[0009] According to 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 an electronic device having a display. One or more programs include instructions for performing the following operations: when an electronic device is connected to a router and a plurality of external devices including a first group of one or more external devices and a second group of one or more external devices, displaying a first user interface including a first power indicator and a second power indicator; receiving a first input; and in response to receiving the first input: applying a first network access policy to the first group of one or more external devices based on determining that the first input corresponds to a selection of the first power indicator; and applying the first network access policy to the second group of one or more external devices; and displaying a second user interface including: a third power indicator, upon selection of the third power indicator, initiating a process for applying a network access policy to the first group of one or more external devices, the network access policy being selected from a group consisting of a first network access policy and a second network access policy different from the first network access policy; and a fourth power indicator, upon selection of the fourth power indicator, initiating a process for applying a network access policy to the second group of one or more external devices, the network access policy being selected from a group consisting of a first network access policy and a second network access policy different from the first network access policy.
[0010] According to 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 an electronic device having a display. One or more programs include instructions for performing the following operations: when an electronic device is connected to a router and a plurality of external devices including a first group of one or more external devices and a second group of one or more external devices, displaying a first user interface including a first power indicator and a second power indicator; receiving a first input; and in response to receiving the first input: applying a first network access policy to the first group of one or more external devices based on determining that the first input corresponds to a selection of the first power indicator; and applying the first network access policy to the second group of one or more external devices; and displaying a second user interface including: a third power indicator, upon selection of the third power indicator, initiating a process for applying a network access policy to the first group of one or more external devices, the network access policy being selected from a group consisting of a first network access policy and a second network access policy different from the first network access policy; and a fourth power indicator, upon selection of the fourth power indicator, initiating a process for applying a network access policy to the second group of one or more external devices, the network access policy being selected from a group consisting of a first network access policy and a second network access policy different from the first network access policy.
[0011] According to some embodiments, an electronic device having a display; one or more processors; and a memory storing one or more programs configured to be executed by one or more processors are described. One or more programs include instructions for performing the following operations: when an electronic device is connected to a router and a plurality of external devices including a first group of one or more external devices and a second group of one or more external devices, displaying a first user interface including a first power indicator and a second power indicator; receiving a first input; and in response to receiving the first input: applying a first network access policy to the first group of one or more external devices based on determining that the first input corresponds to a selection of the first power indicator; and applying the first network access policy to the second group of one or more external devices; and displaying a second user interface including: a third power indicator, upon selection of the third power indicator, initiating a process for applying a network access policy to the first group of one or more external devices, the network access policy being selected from a group consisting of a first network access policy and a second network access policy different from the first network access policy; and a fourth power indicator, upon selection of the fourth power indicator, initiating a process for applying a network access policy to the second group of one or more external devices, the network access policy being selected from a group consisting of a first network access policy and a second network access policy different from the first network access policy.
[0012] According to some embodiments, an electronic device is described. The electronic device includes: a display; means for displaying a first user interface when the electronic device is connected to a router and a plurality of external devices including a first group of one or more external devices and a second group of one or more external devices, the first user interface including a first power indicator and a second power indicator; means for receiving a first input; and means for performing the following operations in response to receiving the first input: applying a first network access policy to the first group of one or more external devices based on determining that the first input corresponds to a selection of the first power indicator; and applying the first network access policy to the second group of one or more external devices; and displaying a second user interface based on determining that the first input corresponds to the second power indicator, the second user interface including: a third power indicator, upon selection of the third power indicator, initiating a process for applying a network access policy to the first group of one or more external devices, the network access policy being selected from a group consisting of the first network access policy and a second network access policy different from the first network access policy; and a fourth power indicator, upon selection of the fourth power indicator, initiating a process for applying a network access policy to the second group of one or more external devices, the network access policy being selected from a group consisting of the first network access policy and a second network access policy different from the first network access policy.
[0013] 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.
[0014] Therefore, devices are provided with faster and more effective methods and interfaces for managing and securing local networks, thereby improving the effectiveness, efficiency, and user satisfaction of such devices. These methods and interfaces can complement or replace other methods used for managing and securing local networks. Attached Figure Description
[0015] To better understand the various embodiments described, reference should be made to the following detailed description in conjunction with the accompanying drawings, wherein similar reference numerals indicate corresponding parts in all the drawings.
[0016] Figure 1A This is a block diagram illustrating a portable multi-functional device with a touch-sensitive display according to some embodiments.
[0017] Figure 1B This is a block diagram illustrating exemplary components for event handling according to some implementation schemes.
[0018] Figure 2 A portable multi-functional device with a touchscreen is shown according to some embodiments.
[0019] Figure 3 This is a block diagram of an exemplary multifunctional device having a display and a touch-sensitive surface according to some implementation schemes.
[0020] Figure 4A An exemplary user interface for a menu on an application on a portable multifunction device, according to some implementation schemes, is shown.
[0021] Figure 4B An exemplary user interface for a multifunctional device having a touch-sensitive surface separate from the display is shown according to some embodiments.
[0022] Figure 5A A personal electronic device according to some implementation schemes is shown.
[0023] Figure 5B This is a block diagram illustrating a personal electronic device according to some implementation schemes.
[0024] Figure 6A This is a diagram illustrating an exemplary local area network configuration.
[0025] Figures 6B to 6SAn exemplary user interface for using electronic devices to manage and secure a local network, according to some implementation schemes, is shown.
[0026] Figures 7A to 7D This is a flowchart illustrating a method for managing and securing a local network using electronic devices, according to some implementation schemes. Detailed Implementation
[0027] The following description illustrates exemplary methods, parameters, etc. However, it should be understood that such description is not intended to limit the scope of this disclosure, but is provided as a description of exemplary embodiments.
[0028] There is a need for electronic devices that provide effective methods and interfaces for managing and securing local networks. For example, there is a need for user interfaces that allow users to easily apply network security settings and / or customize them to multiple external devices connected to the local area network. Such technologies can reduce the cognitive burden on users accessing the local network, thereby improving productivity. Furthermore, such technologies can reduce processor and battery power wasted otherwise on redundant user input.
[0029] under Figures 1A to 1B , Figure 2 , Figure 3 , Figures 4A to 4B and Figures 5A to 5B A description of an exemplary device for performing techniques for managing and securing local networks is provided. Figure 6A This is a diagram illustrating an exemplary local area network configuration. Figures 6B to 6S An exemplary user interface for using electronic devices to manage and secure a local network, according to some implementation schemes, is shown. Figures 7A to 7D This is a flowchart illustrating a method for managing and securing a local network using electronic devices, according to some implementation schemes. Figures 6B to 6S The user interface in the document is used to illustrate the process described below, including Figures 7A to 7D The process in.
[0030] Although the following description uses the terms "first," "second," etc., to describe various elements, these elements should not be limited by the terms. These terms are only used to distinguish one element from another. For example, a first touch may be named a second touch and similarly, a second touch may be named a first touch, without departing from the scope of the various described embodiments. Both the first touch and the second touch are touches, but they are not the same touch.
[0031] The terminology used in the description of the various embodiments herein is for the purpose of describing particular embodiments only and is not intended to be limiting. As used in the description of the various embodiments and the appended claims, the singular forms “a” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that the term “and / or” as used herein refers to and covers any and all possible combinations of one or more of the associated listed items. It will also be understood that the terms “includes”, “including”, “comprises”, and / or “comprising” as used in this specification specify the presence of the stated features, integers, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.
[0032] Depending on the context, the term "if" may optionally be interpreted as meaning "when," "in response to," or "in response to detection." Similarly, depending on the context, the phrases "if it is determined..." or "if [the stated condition or event] is detected" may optionally be interpreted as meaning "in response to determining..." or "in response to detecting [the stated condition or event]."
[0033] This document describes implementations of electronic devices, user interfaces for such devices, and related processes for using such devices. In some implementations, the device is a portable communication device, such as a mobile phone, that also includes other functionalities such as PDA and / or music player functionality. Exemplary implementations of portable multi-functional devices include, but are not limited to, the iPhone from Apple Inc. (Cupertino, California). ® Devices, iPod Touch ® Devices and iPads ®Device. Optionally, other portable electronic devices may be used, such as laptops or tablets with touch-sensitive surfaces (e.g., touchscreen displays and / or touchpads). It should also be understood that in some embodiments, the device is not a portable communication device, but a desktop computer with touch-sensitive surfaces (e.g., touchscreen displays and / or touchpads). In some embodiments, the electronic device is a computer system that communicates with a display generating component (e.g., via wireless or wired communication). The display generating component is configured to provide visual output, such as a display via a CRT monitor, a display via an LED monitor, or a display via image projection. In some embodiments, the display generating component is integrated with the computer system. In some embodiments, the display generating component is separate from the computer system. As used herein, “display” content includes displaying content (e.g., video data rendered or decoded by display controller 156) by transmitting data (e.g., image data or video data) to an integrated or external display generating component via a wired or wireless connection to visually generate content.
[0034] In the following discussion, an electronic device comprising a display and a touch-sensitive surface is described. However, it should be understood that the electronic device may optionally include one or more other physical user interface devices, such as a physical keyboard, mouse, and / or joystick.
[0035] The device typically supports a variety of applications, such as one or more of the following: drawing applications, presentation applications, word processing applications, website creation applications, disk editing applications, spreadsheet applications, game applications, phone applications, video conferencing applications, email applications, instant messaging applications, fitness support applications, photo management applications, digital camera applications, digital video camcorder applications, web browsing applications, digital music player applications, and / or digital video player applications.
[0036] Various applications running on the device optionally use at least one common physical user interface device, such as a touch-sensitive surface. One or more functions of the touch-sensitive surface and the corresponding information displayed on the device are optionally adjusted and / or varied for different applications, and / or adjusted and / or varied within the respective applications. In this way, the device's common physical architecture (such as the touch-sensitive surface) optionally utilizes a user interface that is intuitive and clear to the user to support various applications.
[0037] Now let’s turn our attention to implementation schemes for portable devices with touch-sensitive displays. Figure 1AThis is a block diagram illustrating a portable multi-functional device 100 with a touch-sensitive display system 112 according to some embodiments. The touch-sensitive display 112 is sometimes referred to as a “touchscreen” for convenience, and is sometimes referred to as or called a “touch-sensitive display system.” Device 100 includes a memory 102 (which optionally includes one or more computer-readable storage media), a memory controller 122, one or more processing units (CPUs) 120, a peripheral interface 118, RF circuitry 108, audio circuitry 110, a speaker 111, a microphone 113, an input / output (I / O) subsystem 106, other input control devices 116, and an external port 124. Device 100 optionally includes one or more optical sensors 164. Device 100 optionally includes one or more contact strength sensors 165 for detecting the intensity of contact on device 100 (e.g., a touch-sensitive surface, such as the touch-sensitive display system 112 of device 100). Device 100 optionally includes one or more haptic output generators 167 for generating haptic output on device 100 (e.g., generating haptic output on a touch-sensitive surface such as the touch-sensitive display system 112 of device 100 or the touchpad 355 of device 300). These components optionally communicate via one or more communication buses or signal lines 103.
[0038] As used in this specification and claims, the term "intensity" of contact on a tactile surface refers to the force or pressure (force per unit area) of a contact (e.g., finger contact) on a tactile surface, or to a substitute (alternative) for the force or pressure of a contact on a tactile surface. The intensity of contact has a range of values that includes at least four different values and more typically hundreds of different values (e.g., at least 256). The intensity of contact is optionally determined (or measured) using various methods and various sensors or combinations of sensors. For example, one or more force sensors below or adjacent to the tactile surface are optionally used to measure the force at different points on the tactile surface. In some embodiments, force measurements from multiple force sensors are combined (e.g., weighted average) to determine the estimated contact force. Similarly, the pressure-sensitive tip of a stylus is optionally used to determine the pressure of the stylus on the tactile surface. Alternatively, the size and / or variation of the contact area detected on the touch-sensitive surface, the capacitance and / or variation of the touch-sensitive surface near the contact, and / or the resistance and / or variation of the touch-sensitive surface near the contact may optionally be used as substitutes for the force or pressure of the contact on the touch-sensitive surface. In some embodiments, the substitute measurement of the contact force or pressure is used directly to determine whether an intensity threshold (e.g., the intensity threshold is described in units corresponding to the substitute measurement) has been exceeded. In some embodiments, the substitute measurement of the contact force or pressure is converted into an estimated force or pressure, and the estimated force or pressure is used to determine whether an intensity threshold (e.g., the intensity threshold is a pressure threshold measured in units of pressure) has been exceeded. Using the intensity of the contact as an attribute of user input allows the user to access additional device functions that would otherwise be inaccessible to the user on a smaller device with limited physical space, which is used (e.g., on a touch-sensitive display) to display an indication and / or receive user input (e.g., via a touch-sensitive display, touch-sensitive surface, or physical / mechanical controls, such as knobs or buttons).
[0039] As used in this specification and claims, the term "haptic output" refers to a physical displacement of the device relative to a previous position of the device, a physical displacement of a component of the device (e.g., a touch-sensitive surface) relative to another component of the device (e.g., the housing), or a displacement of a component relative to the center of mass of the device, which is detected by the user using the user's tactile sense. For example, when the device or a component of the device comes into contact with a touch-sensitive surface (e.g., a finger, palm, or other part of the user's hand), the haptic output generated by the physical displacement will be interpreted by the user as a tactile sensation corresponding to a perceived change in the physical characteristics of the device or a component of the device. For example, movement of a touch-sensitive surface (e.g., a touch-sensitive display or touchpad) may optionally be interpreted by the user as a "press-click" or "release-click" on a physically actuated button. In some cases, the user will feel a tactile sensation, such as a "press-click" or "release-click," even when a physically actuated button associated with the touch-sensitive surface, which has been physically pressed (e.g., displaced) by the user's movement, has not moved. For example, even when the smoothness of the tactile surface remains unchanged, the movement of the tactile surface can optionally be interpreted or sensed by the user as the "roughness" of the tactile surface. While such interpretations of touch by users will be limited by the individualized sensory perceptions of the user, many sensory perceptions of touch are common to most users. Therefore, when a tactile output is described as corresponding to a specific sensory perception of a user (e.g., "press click", "release click", "roughness"), unless otherwise stated, the generated tactile output corresponds to a physical displacement of the device or its components that will generate the sensory perception of a typical (or common) user.
[0040] It should be understood that device 100 is merely an example of a portable multifunctional device, and device 100 may optionally have more or fewer components than those shown, may optionally combine two or more components, or may optionally have different configurations or arrangements of these components. Figure 1A The various components shown are implemented in hardware, software, or a combination of both, including one or more signal processing and / or application-specific integrated circuits.
[0041] Memory 102 optionally includes high-speed random access memory and also optionally includes non-volatile memory, such as one or more disk storage devices, flash memory devices, or other non-volatile solid-state memory devices. Memory controller 122 optionally controls other components of device 100 to access memory 102.
[0042] Peripheral interface 118 can be used to couple the device's input and output peripherals to CPU 120 and memory 102. One or more processors 120 run or execute various software programs and / or instruction sets stored in memory 102 to perform various functions of device 100 and process data. In some embodiments, peripheral interface 118, CPU 120, and memory controller 122 are optionally implemented on a single chip, such as chip 104. In some other embodiments, they are optionally implemented on separate chips.
[0043] RF (Radio Frequency) circuit 108 receives and transmits RF signals, also known as electromagnetic signals. RF circuit 108 converts electrical signals into electromagnetic signals and vice versa, and communicates with communication networks and other communication devices via these electromagnetic signals. RF circuit 108 optionally includes well-known circuitry for performing these functions, including but not limited to antenna systems, RF transceivers, one or more amplifiers, tuners, one or more oscillators, digital signal processors, codec chipsets, Subscriber Identity Module (SIM) cards, memory, etc. RF circuit 108 optionally communicates wirelessly with networks and other devices, such as the Internet (also known as the World Wide Web (WWW)), intranets, and / or wireless networks (such as cellular phone networks, wireless local area networks (LANs), and / or metropolitan area networks (MANs)). RF circuit 108 optionally includes well-known circuitry for detecting near-field communication (NFC) fields, such as via near-field communication radio components. Wireless communication may optionally employ any of a variety of communication standards, protocols, and technologies, including but not limited to Global System for Mobile Communications (GSM), Enhanced Data GSM Environment (EDGE), High-Speed Downlink Packet Access (HSDPA), High-Speed Uplink Packet Access (HSUPA), Evolution, Pure Data (EV-DO), HSPA, HSPA+, Dual-Unit HSPA (DC-HSPDA), Long Term Evolution (LTE), Near Field Communication (NFC), Wideband Code Division Multiple Access (W-CDMA), Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Bluetooth, Bluetooth Low Energy (BTLE), and Wi-Fi (e.g., IEEE 802.11a, IEEE 802.11b, IEEE 802.11g, IEEE...). 802.11n and / or IEEE 802.11ac), Voice over Internet Protocol (VoIP), Wi-MAX, email protocols (e.g., Internet Messaging Access Protocol (IMAP) and / or Post Office Protocol (POP)), instant messaging (e.g., Extensible Messaging and Presence Protocol (XMPP), Session Initiation Protocol for Instant Messaging and Presence with Extended Utility (SIMPLE), Instant Messaging and Presence Service (IMPS)), and / or Short Message Service (SMS), or any other suitable communication protocol that has not been developed as of the date of this document submission.
[0044] Audio circuitry 110, speaker 111, and microphone 113 provide an audio interface between the user and device 100. Audio circuitry 110 receives audio data from peripheral interface 118, converts the audio data into electrical signals, and transmits the electrical signals to speaker 111. Speaker 111 converts the electrical signals into sound waves that are audible to humans. Audio circuitry 110 also receives electrical signals converted from sound waves by microphone 113. Audio circuitry 110 converts the electrical signals into audio data and transmits the audio data to peripheral interface 118 for processing. Audio data is optionally retrieved by peripheral interface 118 from and / or transmitted to memory 102 and / or RF circuitry 108. In some embodiments, audio circuitry 110 also includes a headset jack (e.g., ...). Figure 2 (212 in the text). The headset jack provides an interface between the audio circuitry 110 and a removable audio input / output peripheral device, such as an output-only headphone or a headset with both output (e.g., a single-ear headphone or a dual-ear headphone) and input (e.g., a microphone).
[0045] I / O subsystem 106 couples input / output peripherals on device 100, such as touchscreen 112 and other input control devices 116, to peripheral interface 118. I / O subsystem 106 optionally includes display controller 156, optical sensor controller 158, depth camera controller 169, intensity sensor controller 159, haptic feedback controller 161, and one or more input controllers 160 for other input or control devices. The one or more input controllers 160 receive electrical signals from / send electrical signals to the other input control device 116. The other input control device 116 optionally includes physical buttons (e.g., push-buttons, rocker buttons, etc.), dial pads, slide switches, joysticks, click dials, etc. In some embodiments, input controller 160 is optionally coupled to (or not coupled to) any of the following: keyboard, infrared port, USB port, and pointing device such as mouse. One or more buttons (e.g., ... Figure 2 Optionally, 208) includes an increase / decrease button for volume control of speaker 111 and / or microphone 113. The one or more buttons optionally include a push-button (e.g., Figure 2(Ref. 206 in the original text). In some embodiments, the electronic device is a computer system that communicates with one or more input devices (e.g., via wireless communication, via wired communication). In some embodiments, the one or more input devices include a touch-sensitive surface (e.g., a touchpad, as part of a touch-sensitive display). In some embodiments, the one or more input devices include one or more camera sensors (e.g., one or more optical sensors 164 and / or one or more depth camera sensors 175), such as for tracking user gestures (e.g., hand gestures) as input. In some embodiments, the one or more input devices are integrated with the computer system. In some embodiments, the one or more input devices are separate from the computer system.
[0046] A quick press of the push button optionally disengages the touchscreen 112 from its lock or optionally initiates a process of unlocking the device using gestures on the touchscreen, as described in U.S. Patent Application 11 / 322,549 (i.e., U.S. Patent No. 7,657,849), filed December 23, 2005, entitled "Unlocking a Device by Performing Gestures on an Unlock Image," the entire contents of which are incorporated herein by reference. A long press of the push button (e.g., 206) optionally powers the device 100 on or off. The function of one or more buttons is optionally user-customizable. The touchscreen 112 is used to implement virtual buttons or soft buttons and one or more soft keyboards.
[0047] The touch-sensitive display 112 provides input and output interfaces between the device and the user. The display controller 156 receives electrical signals from and / or sends electrical signals to the touchscreen 112. The touchscreen 112 displays visual output to the user. The visual output optionally includes graphics, text, icons, video, and any combination thereof (collectively, "graphics"). In some embodiments, some or all of the visual output optionally corresponds to user interface objects.
[0048] Touchscreen 112 has a touch-sensitive surface, sensor, or sensor array that accepts input from a user based on tactile and / or haptic contact. Touchscreen 112 and display controller 156 (along with any associated modules and / or instruction set in memory 102) detect contact on touchscreen 112 (and any movement or interruption of that contact) and translate the detected contact into interaction with user interface objects (e.g., one or more soft keys, icons, web pages, or images) displayed on touchscreen 112. In an exemplary embodiment, the point of contact between touchscreen 112 and the user corresponds to the user's finger.
[0049] Touchscreen 112 optionally employs LCD (Liquid Crystal Display) technology, LPD (Light Emitting Polymer Display) technology, or LED (Light Emitting Diode) technology, but other display technologies are used in other embodiments. Touchscreen 112 and display controller 156 optionally employ any of a variety of touch sensing technologies now known or to be developed hereafter, along with other proximity sensor arrays or other elements for determining one or more points of contact with touchscreen 112, to detect contact and any movement or interruption thereof. These various touch sensing technologies include, but are not limited to, capacitive, resistive, infrared, and surface acoustic wave technologies. In an exemplary embodiment, projected mutual capacitance sensing technology is used, such as in the iPhone from Apple Inc. (Cupertino, California). ® and iPod Touch ® The technology used.
[0050] In some embodiments of the touchscreen 112, the touch-sensitive display optionally resembles the multi-touch-sensitive touchpad described in the following U.S. patents: 6,323,846 (Westerman et al.), 6,570,557 (Westerman et al.), and / or 6,677,932 (Westerman et al.) and / or U.S. Patent Publication 2002 / 0015024A1, each of which is incorporated herein by reference in its entirety. However, the touchscreen 112 displays visual output from the device 100, while the touch-sensitive touchpad does not provide visual output.
[0051] In some embodiments, the touchscreen 112 has a touch-sensitive display as described in the following patent applications: (1) U.S. Patent Application No. 11 / 381,313, filed May 2, 2006, entitled “Multipoint Touch Surface Controller”; (2) U.S. Patent Application No. 10 / 840,862, filed May 6, 2004, entitled “Multipoint Touchscreen”; (3) U.S. Patent Application No. 10 / 903,964, filed July 30, 2004, entitled “Gestures For Touch Sensitive Input Devices”; (4) U.S. Patent Application No. 11 / 048,264, filed January 31, 2005, entitled “Gestures For Touch Sensitive Input Devices”; and (5) U.S. Patent Application No. 11 / 048,264, filed January 18, 2005, entitled “Mode-Based Graphical User Interfaces For Touch Sensitive Input Devices”. (6) U.S. Patent Application No. 11 / 228,758, filed September 16, 2005, entitled “Virtual Input Device Placement On A Touch Screen User Interface”; (7) U.S. Patent Application No. 11 / 228,700, filed September 16, 2005, entitled “Operation Of A Computer With A Touch Screen Interface”; (8) U.S. Patent Application No. 11 / 228,737, filed September 16, 2005, entitled “Activating Virtual Keys Of A Touch-Screen Virtual Keyboard”; and (9) U.S. Patent Application No. 11 / 367,749, filed March 3, 2006, entitled “Multi-Functional Hand-Held Device”. The entire contents of all these applications are incorporated herein by reference.
[0052] Touchscreen 112 optionally has a video resolution exceeding 100 dpi. In some embodiments, the touchscreen has a video resolution of approximately 160 dpi. Users optionally interact with touchscreen 112 using any suitable object or accessory such as a stylus, finger, etc. In some embodiments, the user interface is designed to operate primarily through finger-based touch and gestures, which may be less precise than stylus-based input due to the larger contact area of a finger on the touchscreen. In some embodiments, the device translates coarse finger-based input into precise pointer / cursor positions or commands to perform the user-desired actions.
[0053] In some embodiments, in addition to the touchscreen, device 100 optionally includes a touchpad for activating or deactivating specific functions. In some embodiments, the touchpad is a touch-sensitive area of the device that, unlike the touchscreen, does not display visual output. Optionally, the touchpad is a touch-sensitive surface separate from the touchscreen 112, or an extension of the touch-sensitive surface formed by the touchscreen.
[0054] The device 100 also includes a power system 162 for supplying power to various components. The power system 162 optionally includes a power management system, one or more power sources (e.g., a battery, alternating current (AC)), a recharging system, a power fault detection circuit, a power converter or inverter, a power status indicator (e.g., a light-emitting diode (LED)), and any other components associated with the generation, management, and distribution of power in the portable device.
[0055] The device 100 may optionally also include one or more optical sensors 164. Figure 1AAn optical sensor 164 is shown coupled to an optical sensor controller 158 in the I / O subsystem 106. The optical sensor 164 optionally includes a charge-coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor. The optical sensor 164 receives light projected through one or more lenses from the environment and converts the light into data representing an image. In conjunction with an imaging module 143 (also called a camera module), the optical sensor 164 optionally captures still images or video. In some embodiments, the optical sensor is located on the rear of the device 100, opposite to a touchscreen display 112 on the front of the device, allowing the touchscreen display to be used as a viewfinder for still image and / or video image acquisition. In some embodiments, the optical sensor is located on the front of the device, allowing images of the user to be optionally acquired for video conferencing while the user views other video conferencing participants on the touchscreen display. In some embodiments, the position of the optical sensor 164 can be changed by the user (e.g., by rotating the lenses and sensors in the device housing), allowing a single optical sensor 164 to be used in conjunction with the touchscreen display for both video conferencing and still image and / or video image acquisition.
[0056] The device 100 optionally also includes one or more depth camera sensors 175. Figure 1A A depth camera sensor is shown coupled to a depth camera controller 169 in I / O subsystem 106. Depth camera sensor 175 receives data from the environment to create a 3D model of an object (e.g., a face) within the scene from a viewpoint (e.g., the depth camera sensor). In some embodiments, in conjunction with imaging module 143 (also referred to as a camera module), depth camera sensor 175 may optionally be used to determine depth maps of different portions of an image captured by imaging module 143. In some embodiments, the depth camera sensor is located at the front of device 100, such that user images with depth information are optionally acquired for video conferencing while the user views other video conferencing participants on a touchscreen display, and selfies with depth map data are captured. In some embodiments, depth camera sensor 175 is located at the rear of the device, or both the rear and front of device 100. In some embodiments, the position of depth camera sensor 175 may be changed by the user (e.g., by rotating a lens and sensor within the device housing), such that depth camera sensor 175 is used in conjunction with a touchscreen display for both video conferencing and still image and / or video image acquisition.
[0057] The device 100 may optionally also include one or more contact strength sensors 165. Figure 1AA contact strength sensor is shown coupled to a strength sensor controller 159 in I / O subsystem 106. The contact strength sensor 165 optionally includes one or more piezoresistive strain gauges, capacitive force sensors, electro-force sensors, piezoelectric sensors, optical force sensors, capacitive touch-sensitive surfaces, or other strength sensors (e.g., sensors for measuring the force (or pressure) of contact on a touch-sensitive surface). The contact strength sensor 165 receives contact strength information (e.g., pressure information or a substitute for pressure information) from the environment. In some embodiments, at least one contact strength sensor is arranged juxtaposed with or adjacent to a touch-sensitive surface (e.g., touch-sensitive display system 112). In some embodiments, at least one contact strength sensor is located on the rear of device 100, opposite to the touchscreen display 112 located on the front of device 100.
[0058] The device 100 optionally also includes one or more proximity sensors 166. Figure 1A A proximity sensor 166 coupled to a peripheral device interface 118 is shown. Alternatively, the proximity sensor 166 may optionally be coupled to an input controller 160 in an I / O subsystem 106. The proximity sensor 166 may optionally perform as described in the following U.S. patent applications: No. 11 / 241,839, entitled "Proximity Detector In Handheld Device"; No. 11 / 240,788, entitled "Proximity Detector In Handheld Device"; No. 11 / 620,702, entitled "Using Ambient Light Sensor To Augment Proximity Sensor Output"; No. 11 / 586,862, entitled "Automated Response To And Sensing Of User Activity In Portable Devices"; and No. 11 / 638,251, entitled "Methods And Systems For Automatic Configuration Of Peripherals", the entire contents of which are incorporated herein by reference. In some implementations, when the multifunction device is placed near the user's ear (e.g., when the user is making a phone call), the proximity sensor is turned off and the touchscreen 112 is disabled.
[0059] The device 100 may optionally also include one or more tactile output generators 167. Figure 1AA haptic output generator coupled to a haptic feedback controller 161 in I / O subsystem 106 is shown. The haptic output generator 167 optionally includes one or more electroacoustic devices such as speakers or other audio components; and / or electromechanical devices for converting energy into linear motion, such as motors, solenoids, electroactive polymers, piezoelectric actuators, electrostatic actuators, or other haptic output generating components (e.g., components for converting electrical signals into haptic outputs on the device). A contact intensity sensor 165 receives haptic feedback generation instructions from a haptic feedback module 133 and generates a haptic output on device 100 that can be felt by a user of device 100. In some embodiments, at least one haptic output generator is juxtaposed or adjacent to a haptic surface (e.g., haptic display system 112) and optionally generates the haptic output by moving the haptic surface vertically (e.g., in / outward from the surface of device 100) or laterally (e.g., backward and forward in the same plane as the surface of device 100). In some embodiments, at least one haptic output generator sensor is located on the rear of the device 100, opposite to the touch screen display 112 located on the front of the device 100.
[0060] The device 100 may optionally also include one or more accelerometers 168. Figure 1A An accelerometer 168 coupled to a peripheral device interface 118 is shown. Alternatively, the accelerometer 168 may be coupled to an input controller 160 in an I / O subsystem 106. The accelerometer 168 may optionally perform as described in the following U.S. patent publications: U.S. Patent Publication No. 20050190059, entitled "Acceleration-based Theft Detection System for Portable Electronic Devices" and U.S. Patent Publication No. 20060017692, entitled "Methods and Apparatuses For Operating A Portable Device Based On An Accelerometer," both of which are incorporated herein by reference in their entirety. In some embodiments, information is displayed on a touchscreen display in portrait or landscape view based on analysis of data received from one or more accelerometers. Device 100 may optionally include, in addition to the accelerometer 168, a magnetometer and a GPS (or GLONASS or other global navigation system) receiver for acquiring information about the location and orientation (e.g., portrait or landscape) of device 100.
[0061] In some embodiments, the software components stored in memory 102 include an operating system 126, a communication module (or instruction set) 128, a contact / motion module (or instruction set) 130, a graphics module (or instruction set) 132, a text input module (or instruction set) 134, a Global Positioning System (GPS) module (or instruction set) 135, and an application program (or instruction set) 136. Furthermore, in some embodiments, memory 102 ( Figure 1A ) or 370 ( Figure 3 Storage device / global internal state 157, such as Figure 1A and Figure 3 As shown in the figure. Device / global internal state 157 includes one or more of the following: active application state, which indicates which applications (if any) are currently active; display state, which indicates what applications, views or other information occupy various areas of the touch screen display 112; sensor state, including information obtained from the device's various sensors and input control devices 116; and position information about the device's position and / or orientation.
[0062] The operating system 126 (e.g., Darwin, RTXC, LINUX, UNIX, OS X, iOS, WINDOWS, or embedded operating systems such as VxWorks) includes various software components and / or drivers for controlling and managing general system tasks (e.g., memory management, storage device control, power management, etc.) and facilitates communication between various hardware and software components.
[0063] The communication module 128 facilitates communication with other devices via one or more external ports 124 and includes various software components for processing data received by the RF circuitry 108 and / or the external ports 124. The external ports 124 (e.g., Universal Serial Bus (USB), FireWire, etc.) are adapted to be directly coupled to other devices or indirectly coupled via a network (e.g., the Internet, wireless LAN, etc.). In some embodiments, the external port is for use with an iPod. ® (Trademark of Apple Inc.) The same or similar and / or compatible multi-pin (e.g., 30-pin) connectors used in Apple Inc. devices.
[0064] The contact / motion module 130 optionally detects contact with the touchscreen 112 (in conjunction with the display controller 156) and other touch-sensitive devices (e.g., touchpads or physical click-based rotary dials). The contact / motion module 130 includes various software components for performing various operations related to contact detection, such as determining whether a contact has occurred (e.g., detecting a finger press event), determining the contact intensity (e.g., the force or pressure of the contact, or an alternative to force or pressure), determining whether there is movement of the contact and tracking movement on the touch-sensitive surface (e.g., detecting one or more finger drag events), and determining whether the contact has stopped (e.g., detecting a finger lift event or a contact break). The contact / motion module 130 receives contact data from the touch-sensitive surface. Determining the movement of the contact point optionally includes determining the rate (magnitude), velocity (magnitude and direction), and / or acceleration (change in magnitude and / or direction) of the contact point, the movement of which is represented by a series of contact data. These operations are optionally applied to single-point contact (e.g., single-finger contact) or multi-point simultaneous contact (e.g., "multi-touch" / multiple-finger contact). In some implementations, the contact / motion module 130 and the display controller 156 detect contact on the touchpad.
[0065] In some implementations, the contact / motion module 130 uses a set of one or more intensity thresholds to determine whether an operation has been performed by a user (e.g., determining whether the user has “clicked” an icon). In some implementations, at least a subset of the intensity thresholds is determined based on software parameters (e.g., the intensity thresholds are not determined by the activation threshold of a specific physical actuator and can be adjusted without changing the physical hardware of device 100). For example, the mouse “click” threshold of a touchpad or touchscreen can be set to any threshold in a wide range of predefined thresholds without changing the touchpad or touchscreen display hardware. Additionally, in some specific implementations, the user of the device is provided with software settings for adjusting one or more intensity thresholds in a set (e.g., by adjusting the individual intensity thresholds and / or by adjusting multiple intensity thresholds at once using system-level clicks on the “intensity” parameter).
[0066] The touch / motion module 130 optionally detects gesture input performed by the user. Different gestures on a touch-sensitive surface have different contact patterns (e.g., different movements, timings, and / or intensities of the detected contact). Therefore, gestures are optionally detected by detecting specific contact patterns. For example, detecting a finger tap gesture includes detecting a finger press event, and then detecting a finger lift-off (lift-away) event at the same (or substantially the same) location as the finger press event (e.g., at the location of an icon). As another example, detecting a finger swipe gesture on a touch-sensitive surface includes detecting a finger press event, then detecting one or more finger drag events, and subsequently detecting a finger lift-off (lift-away) event.
[0067] The graphics module 132 includes various known software components for rendering and displaying graphics on the touchscreen 112 or other displays, including components for altering the visual impact of the displayed graphics (e.g., brightness, transparency, saturation, contrast, or other visual properties). As used herein, the term "graphics" includes any object that can be displayed to a user, including, without limitation, text, web pages, icons (such as user interface objects including soft keys), digital images, videos, animations, etc.
[0068] In some implementations, the graphics module 132 stores data representing the graphics to be used. Each graphic is optionally assigned a corresponding code. The graphics module 132 receives one or more codes from an application or the like to specify the graphic to be displayed, and, if necessary, also receives coordinate data and other graphic attribute data, and then generates screen image data for output to the display controller 156.
[0069] The haptic feedback module 133 includes various software components for generating instructions which are used by the haptic output generator 167 to generate haptic output at one or more locations on the device 100 in response to user interaction with the device 100.
[0070] Optionally, the text input module 134, a component of the graphics module 132, provides a soft keyboard for entering text in various applications, such as contacts 137, email 140, IM 141, browser 147, and any other application that requires text input.
[0071] GPS module 135 determines the location of the device and provides that information for use in various applications (e.g., to phone 138 for use in location-based dialing; to camera 143 as image / video metadata; and to applications that provide location-based services, such as weather desktop apps, local yellow pages desktop apps, and map / navigation desktop apps).
[0072] Application 136 optionally includes the following modules (or instruction sets) or subsets or supersets thereof:
[0073] • Contacts module 137 (sometimes called address book or contact list);
[0074] • Telephone module 138;
[0075] • Video conferencing module 139;
[0076] • Email client module 140;
[0077] • Instant Messaging (IM) module 141;
[0078] • Fitness support module 142;
[0079] • Camera module 143 for still images and / or video images;
[0080] • Image management module 144;
[0081] • Video player module;
[0082] • Music player module;
[0083] • Browser module 147;
[0084] • Calendar module 148;
[0085] • Desktop mini-program module 149, which optionally includes one or more of the following: weather desktop mini-program 149-1, stock market desktop mini-program 149-2, calculator desktop mini-program 149-3, alarm clock desktop mini-program 149-4, dictionary desktop mini-program 149-5, and other desktop mini-programs obtained by the user, and desktop mini-programs created by the user 149-6.
[0086] • Desktop Mini Program Creator Module 150 for creating user-created desktop mini programs 149-6;
[0087] • Search module 151;
[0088] • Video and music player module 152, which combines a video player module and a music player module;
[0089] •Notepad module 153;
[0090] • Map module 154; and / or
[0091] • Online video module 155.
[0092] Examples of other applications 136 that may be optionally stored in memory 102 include other word processing applications, other image editing applications, drawing applications, rendering applications, Java-enabled applications, encryption, digital rights management, speech recognition, and speech duplication.
[0093] In conjunction with the touchscreen 112, display controller 156, touch / motion module 130, graphics module 132, and text input module 134, the contact module 137 is optionally used to manage an address book or contact list (e.g., in the application internal state 192 of the contact module 137 stored in memory 102 or memory 370), including: adding one or more names to the address book; deleting names from the address book; associating phone numbers, email addresses, physical addresses, or other information with names; associating images with names; categorizing and classifying names; providing phone numbers or email addresses to initiate and / or facilitate communications via telephone 138, video conferencing module 139, email 140, or IM 141; and so on.
[0094] Combining RF circuitry 108, audio circuitry 110, speaker 111, microphone 113, touchscreen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, telephone module 138 is optionally used to input character sequences corresponding to telephone numbers, access one or more telephone numbers in contact module 137, modify entered telephone numbers, dial corresponding telephone numbers, initiate conversations, and disconnect or hang up when a conversation is completed. As described above, wireless communication optionally uses any of a variety of communication standards, protocols, and technologies.
[0095] Combining RF circuitry 108, audio circuitry 110, speaker 111, microphone 113, touchscreen 112, display controller 156, optical sensor 164, optical sensor controller 158, contact / motion module 130, graphics module 132, text input module 134, contact module 137, and telephone module 138, video conferencing module 139 includes executable instructions to initiate, conduct, and terminate video conferences between the user and one or more other participants based on user instructions.
[0096] Incorporating RF circuitry 108, touchscreen 112, display controller 156, touch / motion module 130, graphics module 132, and text input module 134, email client module 140 includes executable instructions for creating, sending, receiving, and managing emails in response to user commands. Combined with image management module 144, email client module 140 makes it very easy to create and send emails containing still images or video images captured by camera module 143.
[0097] In conjunction with RF circuitry 108, touchscreen 112, display controller 156, touch / motion module 130, graphics module 132, and text input module 134, instant messaging module 141 includes executable instructions for: inputting a character sequence corresponding to an instant message, modifying previously input characters, transmitting a corresponding instant message (e.g., using Short Message Service (SMS) or Multimedia Messaging Service (MMS) protocols for telephone-based instant messaging or using XMPP, SIMPLE, or IMPS for internet-based instant messaging), receiving an instant message, and viewing a received instant message. In some embodiments, the transmitted and / or received instant messages optionally include graphics, photographs, audio files, video files, and / or other attachments supported in MMS and / or Enhanced Messaging Services (EMS). As used herein, "instant message" refers to both telephone-based messages (e.g., messages sent using SMS or MMS) and internet-based messages (e.g., messages sent using XMPP, SIMPLE, or IMPS).
[0098] Combining RF circuitry 108, touchscreen 112, display controller 156, touch / motion module 130, graphics module 132, text input module 134, GPS module 135, map module 154, and music player module, fitness support module 142 includes executable instructions for creating fitness (e.g., with time, distance, and / or calorie burning goals); communicating with fitness sensors (executive devices); receiving fitness sensor data; calibrating sensors used to monitor fitness; selecting and playing music for fitness; and displaying, storing, and transmitting fitness data.
[0099] In conjunction with the touchscreen 112, display controller 156, optical sensor 164, optical sensor controller 158, contact / motion module 130, graphics module 132, and image management module 144, camera module 143 includes executable instructions for: capturing still images or videos (including video streams) and storing them in memory 102, modifying the characteristics of still images or videos, or deleting still images or videos from memory 102.
[0100] Incorporating touchscreen 112, display controller 156, touch / motion module 130, graphics module 132, text input module 134, and camera module 143, image management module 144 includes executable instructions for arranging, modifying (e.g., editing), or otherwise manipulating, tagging, deleting, presenting (e.g., in a digital slideshow or album), and storing still images and / or video images.
[0101] Combining RF circuitry 108, touchscreen 112, display controller 156, touch / motion module 130, graphics module 132, and text input module 134, browser module 147 includes executable instructions for browsing the Internet according to user instructions, including searching, linking to, receiving, and displaying web pages or portions thereof, as well as links to attachments and other files on web pages.
[0102] Combining RF circuitry 108, touchscreen 112, display controller 156, touch / motion module 130, graphics module 132, text input module 134, email client module 140, and browser module 147, calendar module 148 includes executable instructions to create, display, modify, and store calendars and associated data (e.g., calendar entries, to-dos, etc.) according to user instructions.
[0103] In conjunction with RF circuitry 108, touchscreen 112, display controller 156, touch / motion module 130, graphics module 132, text input module 134, and browser module 147, desktop applet module 149 is optionally a micro-application downloaded and used by a user (e.g., weather desktop applet 149-1, stock market desktop applet 149-2, calculator desktop applet 149-3, alarm clock desktop applet 149-4, and dictionary desktop applet 149-5) or a user-created micro-application (e.g., user-created desktop applet 149-6). In some embodiments, the desktop applet includes HTML (Hypertext Markup Language) files, CSS (Cascading Style Sheets) files, and JavaScript files. In some embodiments, the desktop applet includes XML (Extensible Markup Language) files and JavaScript files (e.g., Yahoo! desktop applet).
[0104] Combining RF circuit 108, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, text input module 134 and browser module 147, the desktop applet creator module 150 can optionally be used by the user to create desktop applets (e.g., converting user-specified portions of a webpage into desktop applets).
[0105] In conjunction with the touchscreen 112, display controller 156, touch / motion module 130, graphics module 132, and text input module 134, the search module 151 includes executable instructions for searching the memory 102 for text, music, sound, images, videos, and / or other files that match one or more search criteria (e.g., one or more user-specified search terms) according to user instructions.
[0106] Incorporating touchscreen 112, display controller 156, touch / motion module 130, graphics module 132, audio circuitry 110, speaker 111, RF circuitry 108, and browser module 147, video and music player module 152 includes executable instructions allowing users to download and play recorded music and other sound files stored in one or more file formats such as MP3 or AAC files, as well as executable instructions for displaying, presenting, or otherwise playing back video (e.g., on touchscreen 112 or on an external display connected via external port 124). In some embodiments, device 100 optionally includes the functionality of an MP3 player such as an iPod (a trademark of Apple Inc.).
[0107] Combining the touchscreen 112, display controller 156, touch / motion module 130, graphics module 132, and text input module 134, the notepad module 153 includes executable instructions for creating and managing notes, to-do items, etc., according to user instructions.
[0108] Combining RF circuit 108, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, text input module 134, GPS module 135 and browser module 147, map module 154 is optionally used to receive, display, modify and store maps and data associated with the maps (e.g., driving directions, data related to shops and other points of interest at or near a specific location, and other location-based data) according to user instructions.
[0109] Incorporating touchscreen 112, display controller 156, touch / motion module 130, graphics module 132, audio circuitry 110, speaker 111, RF circuitry 108, text input module 134, email client module 140, and browser module 147, the online video module 155 includes instructions for performing the following actions: allowing users to access, browse, receive (e.g., via streaming and / or downloading), play back (e.g., on the touchscreen or on an external display connected via external port 124), send emails with links to specific online videos, and otherwise manage online videos in one or more file formats such as H.264. In some embodiments, an instant messaging module 141 is used instead of the email client module 140 to send links to specific online videos. Further descriptions of the online video application can be found in U.S. Provisional Patent Application No. 60 / 936,562, filed June 20, 2007, entitled “Portable Multifunction Device, Method, and Graphical User Interface for Playing Online Videos,” and U.S. Patent Application No. 11 / 968,067, filed December 31, 2007, entitled “Portable Multifunction Device, Method, and Graphical User Interface for Playing Online Videos,” the contents of which are incorporated herein by reference in their entirety.
[0110] Each of the above modules and applications corresponds to an executable instruction set for performing one or more of the functions described above and the methods described in this patent application (e.g., computer-implemented methods and other information processing methods as described herein). These modules (e.g., instruction sets) need not be implemented as separate software programs, processes, or modules; therefore, various subsets of these modules may optionally be combined or otherwise rearranged in various embodiments. For example, a video player module may optionally be combined with a music player module into a single module (e.g., Figure 1A (e.g., video and music player module 152). In some embodiments, memory 102 optionally stores subgroups of the aforementioned modules and data structures. Additionally, memory 102 optionally stores other modules and data structures not described above.
[0111] In some implementations, device 100 is a device on which the operation of a predefined set of functions is performed solely via a touchscreen and / or touchpad. By using a touchscreen and / or touchpad as the primary input control device for operating device 100, the number of physical input control devices (e.g., push-buttons, dials, etc.) on device 100 can be optionally reduced.
[0112] A predefined set of functions, uniquely performed via a touchscreen and / or touchpad, optionally includes navigation between user interfaces. In some embodiments, the touchpad, when touched by a user, navigates device 100 from any user interface displayed on device 100 to a main menu, home menu, or root menu. In such embodiments, a touchpad is used to implement a "menu button." In some other embodiments, the menu button is a physical push-button or other physical input control device, rather than a touchpad.
[0113] Figure 1B This is a block diagram illustrating exemplary components for event processing according to some embodiments. In some embodiments, memory 102 ( Figure 1A ) or memory 370 ( Figure 3 This includes an event classifier 170 (e.g., in operating system 126) and a corresponding application 136-1 (e.g., any one of the aforementioned applications 137 to 151, 155, 380 to 390).
[0114] Event classifier 170 receives event information and determines the application 136-1 and application view 191 of application 136-1 to which the event information should be delivered. Event classifier 170 includes event monitor 171 and event dispatcher module 174. In some embodiments, application 136-1 includes application internal state 192, which indicates one or more current application views displayed on touch-sensitive display 112 when the application is active or executing. In some embodiments, device / global internal state 157 is used by event classifier 170 to determine which application(s) is currently active, and application internal state 192 is used by event classifier 170 to determine the application view 191 to which the event information should be delivered.
[0115] In some implementations, the application internal state 192 includes additional information such as one or more of the following: recovery information to be used when the application 136-1 resumes execution, user interface state information indicating that information is being displayed or ready to be displayed by the application 136-1, a state queue for enabling the user to return to the previous state or view of the application 136-1, and a repeat / undo queue for the user's previous actions.
[0116] Event monitor 171 receives event information from peripheral interface 118. The event information includes information about sub-events, such as a user touch on touch-sensitive display 112 as part of a multi-touch gesture. Peripheral interface 118 transmits information it receives from I / O subsystem 106 or sensors such as proximity sensor 166, one or more accelerometers 168, and / or microphone 113 (via audio circuitry 110). The information received by peripheral interface 118 from I / O subsystem 106 includes information from touch-sensitive display 112 or touch-sensitive surfaces.
[0117] In some implementations, event monitor 171 sends requests to peripheral device interface 118 at predetermined intervals. In response, peripheral device interface 118 transmits event information. In other implementations, peripheral device interface 118 transmits event information only when a significant event occurs (e.g., receiving input above a predetermined noise threshold and / or receiving input for a predetermined duration).
[0118] In some implementations, the event classifier 170 also includes a hit view determination module 172 and / or an activity event recognizer determination module 173.
[0119] When the touch-sensitive display 112 displays more than one view, the hit view determination module 172 provides a software process for determining where a sub-event has occurred within one or more views. A view consists of controls and other elements that the user can see on the display.
[0120] Another aspect of the user interface associated with an application is a set of views, sometimes referred to herein as application views or user interface windows, in which information is displayed and touch-based gestures occur. The application view (of the corresponding application) in which a touch is detected optionally corresponds to a procedural level within the application's procedural or view hierarchy. For example, the lowest-level view in which a touch is detected is optionally referred to as the hit view, and the set of events identified as correct input is optionally determined at least in part based on the hit view of the initial touch that initiates a touch-based gesture.
[0121] The hit view determination module 172 receives information related to sub-events of touch-based gestures. When an application has multiple views organized in a hierarchical structure, the hit view determination module 172 identifies the hit view as the lowest-level view in the hierarchical structure from which the sub-events should be processed. In most cases, the hit view is the lowest-level view in which the initiating sub-event (e.g., the first sub-event in a sequence of sub-events forming an event or potential event) occurs. Once the hit view is identified by the hit view determination module 172, the hit view typically receives all sub-events related to the same touch or input source to which it was identified as the hit view.
[0122] The activity event recognizer determination module 173 determines which views(s) within the view hierarchy should receive a specific sub-event sequence. In some embodiments, the activity event recognizer determination module 173 determines that only the hit view should receive the specific sub-event sequence. In other embodiments, the activity event recognizer determination module 173 determines that all views including the physical location of the sub-event are actively participating views, and therefore determines that all actively participating views should receive the specific sub-event sequence. In other embodiments, even if the touch sub-event is entirely confined to the area associated with a particular view, higher views in the hierarchy will still remain actively participating views.
[0123] Event assigner module 174 assigns event information to event identifiers (e.g., event identifier 180). In embodiments that include active event identifier determination module 173, event assigner module 174 delivers event information to the event identifier determined by active event identifier determination module 173. In some embodiments, event assigner module 174 stores event information in an event queue, which is retrieved by the corresponding event receiver 182.
[0124] In some embodiments, operating system 126 includes event classifier 170. Alternatively, application 136-1 includes event classifier 170. In yet another embodiment, event classifier 170 is a standalone module or part of another module (such as contact / motion module 130) stored in memory 102.
[0125] In some implementations, application 136-1 includes a plurality of event handlers 190 and one or more application views 191, each of which includes instructions for handling touch events occurring within a corresponding view of the application's user interface. Each application view 191 of application 136-1 includes one or more event recognizers 180. Typically, a corresponding application view 191 includes a plurality of event recognizers 180. In other implementations, one or more of the event recognizers 180 are part of a separate module, such as a user interface toolkit or a higher-level object from which application 136-1 inherits methods and other properties. In some implementations, a corresponding event handler 190 includes one or more of the following: a data updater 176, an object updater 177, a GUI updater 178, and / or event data 179 received from an event classifier 170. Event handlers 190 optionally utilize or invoke the data updater 176, the object updater 177, or the GUI updater 178 to update the application's internal state 192. Alternatively, one or more application views in application view 191 include one or more corresponding event handlers 190. Additionally, in some embodiments, one or more of data updater 176, object updater 177, and GUI updater 178 are included in the corresponding application view 191.
[0126] The corresponding event recognizer 180 receives event information (e.g., event data 179) from the event classifier 170 and identifies the event based on the event information. The event recognizer 180 includes an event receiver 182 and an event comparator 184. In some embodiments, the event recognizer 180 also includes at least one subset of metadata 183 and event delivery instructions 188 (which optionally include sub-event delivery instructions).
[0127] Event receiver 182 receives event information from event classifier 170. The event information includes information about sub-events, such as touch or touch movement. Depending on the sub-event, the event information also includes additional information, such as the location of the sub-event. When the sub-event involves touch movement, the event information optionally also includes the rate and direction of the sub-event. In some embodiments, the event includes the device rotating from one orientation to another (e.g., from a portrait orientation to a lateral orientation, or vice versa), and the event information includes corresponding information about the device's current orientation (also referred to as device orientation).
[0128] Event comparator 184 compares event information with predefined event or sub-event definitions and determines the event or sub-event based on the comparison, or determines or updates the state of the event or sub-event. In some embodiments, event comparator 184 includes event definition 186. Event definition 186 contains definitions of events (e.g., predefined sequences of sub-events), such as event 1 (187-1), event 2 (187-2), and others. In some embodiments, sub-events in event (187) include, for example, touch start, touch end, touch move, touch cancel, and multi-touch. In one example, event 1 (187-1) is defined as a double-click on a displayed object. For example, a double-click includes a first touch (touch start) of a predetermined duration on the displayed object, a first lift-off of a predetermined duration (touch end), a second touch (touch start) of a predetermined duration on the displayed object, and a second lift-off of a predetermined duration (touch end). In another example, event 2 (187-2) is defined as a drag on a displayed object. For example, dragging includes a touch (or contact) on the displayed object for a predetermined duration, movement of the touch on the touch-sensitive display 112, and lifting off the touch (touch end). In some embodiments, the event also includes information for one or more associated event handlers 190.
[0129] In some implementations, event definition 187 includes definitions of events for corresponding user interface objects. In some implementations, event comparator 184 performs a hit test to determine which user interface object is associated with the sub-event. For example, in an application view displaying three user interface objects on touch-sensitive display 112, when a touch is detected on touch-sensitive display 112, event comparator 184 performs a hit test to determine which of the three user interface objects is associated with the touch (sub-event). If each displayed object is associated with a corresponding event handler 190, the event comparator uses the result of the hit test to determine which event handler 190 should be activated. For example, event comparator 184 selects the event handler associated with the sub-event and the object that triggered the hit test.
[0130] In some implementations, the definition of the corresponding event (187) also includes a delay action that delays the delivery of event information until it has been determined whether the sub-event sequence actually corresponds to or does not correspond to the event type of the event recognizer.
[0131] When the corresponding event recognizer 180 determines that the sub-event sequence does not match any event in event definition 186, the corresponding event recognizer 180 enters an event impossible, event failed, or event ended state, after which subsequent sub-events based on touch gestures are ignored. In this case, other event recognizers (if any) that remain active in the hit view continue to track and process the ongoing sub-events based on touch gestures.
[0132] In some embodiments, the corresponding event recognizer 180 includes metadata 183 having configurable attributes, flags, and / or lists instructing how the event delivery system should perform sub-event delivery to actively participating event recognizers. In some embodiments, the metadata 183 includes configurable attributes, flags, and / or lists instructing how or how event recognizers can interact with each other. In some embodiments, the metadata 183 includes configurable attributes, flags, and / or lists instructing whether sub-events are delivered to different levels in a view or programmatic hierarchy.
[0133] In some implementations, when one or more specific sub-events of an event are identified, the corresponding event recognizer 180 activates the event handler 190 associated with the event. In some implementations, the corresponding event recognizer 180 delivers event information associated with the event to the event handler 190. Activating the event handler 190 is different from sending (and delaying) the sub-event to the corresponding hit view. In some implementations, the event recognizer 180 throws a tag associated with the identified event, and the event handler 190 associated with that tag retrieves the tag and executes a predefined procedure.
[0134] In some implementations, event delivery instruction 188 includes a sub-event delivery instruction that delivers event information about a sub-event without activating an event handler. Instead, the sub-event delivery instruction delivers the event information to an event handler associated with the sub-event sequence or to an actively participating view. The event handler associated with the sub-event sequence or the actively participating view receives the event information and performs a predetermined procedure.
[0135] In some implementations, data updater 176 creates and updates data used in application 136-1. For example, data updater 176 updates phone numbers used in contact module 137 or stores video files used in video player module. In some implementations, object updater 177 creates and updates objects used in application 136-1. For example, object updater 177 creates new user interface objects or updates the location of user interface objects. GUI updater 178 updates the GUI. For example, GUI updater 178 prepares display information and sends the display information to graphics module 132 for display on touch-sensitive display.
[0136] In some implementations, event handler 190 includes, or has access to, a data updater 176, an object updater 177, and a GUI updater 178. In some implementations, data updater 176, object updater 177, and GUI updater 178 are included in a single module of the corresponding application 136-1 or application view 191. In other implementations, they are included in two or more software modules.
[0137] It should be understood that the above discussion regarding event handling for user touch on a touch-sensitive display also applies to other forms of user input used to operate the multifunction device 100 using an input device, and not all user input is initiated on the touchscreen. For example, mouse movement and mouse button presses optionally in conjunction with single or multiple keyboard presses or holds; touch movements on the touchpad, such as taps, drags, scrolls, etc.; stylus input; device movement; verbal commands; detected eye movements; biometric input; and / or any combination thereof may optionally be used as input corresponding to sub-events that define the event to be identified.
[0138] Figure 2A portable multifunction device 100 with a touchscreen 112 is shown according to some embodiments. The touchscreen optionally displays one or more graphics within a user interface (UI) 200. In this embodiment and other embodiments described below, a user can select one or more graphics by gesturing over the graphics, for example, using one or more fingers 202 (not drawn to scale in the figure) or one or more styluses 203 (not drawn to scale in the figure). In some embodiments, selection of one or more graphics occurs when the user breaks contact with one or more graphics. In some embodiments, gestures optionally include one or more taps, one or more swipes (from left to right, from right to left, up and / or down), and / or scrolling (from right to left, from left to right, up and / or down) of a finger already in contact with the device 100. In some specific embodiments or in some cases, unintentional contact with a graphic does not select the graphic. For example, a swipe gesture over an application icon optionally does not select the corresponding application when the gesture corresponding to selection is a tap.
[0139] Device 100 optionally also includes one or more physical buttons, such as a "home" or menu button 204. As previously described, menu button 204 is optionally used to navigate to any application 136 of a set of applications optionally executed on device 100. Alternatively, in some embodiments, the menu button is implemented as a soft key in a GUI displayed on touchscreen 112.
[0140] In some embodiments, device 100 includes a touchscreen 112, a menu button 204, a push-button 206 for powering on / off and locking the device, one or more volume control buttons 208, a SIM card slot 210, a headset jack 212, and a docking / charging external port 124. The push-button 206 is optionally used to power on / off the device by pressing the button and holding it in the pressed state for a predefined time interval; to lock the device by pressing the button and releasing it before the predefined time interval has elapsed; and / or to unlock the device or initiate an unlocking process. In another embodiment, device 100 also accepts voice input via microphone 113 for activating or deactivating certain functions. Device 100 also optionally includes one or more contact strength sensors 165 for detecting the intensity of contact on the touchscreen 112, and / or one or more haptic output generators 167 for generating haptic outputs for a user of device 100.
[0141] Figure 3This is a block diagram of an exemplary multi-functional device with a display and a touch-sensitive surface according to some embodiments. Device 300 need not be portable. In some embodiments, device 300 is a laptop, desktop computer, tablet computer, multimedia player device, navigation device, educational device (such as a children's learning toy), gaming system, or control device (e.g., a home controller or industrial controller). Device 300 typically includes one or more processing units (CPUs) 310, one or more network or other communication interfaces 360, memory 370, and one or more communication buses 320 for interconnecting these components. The communication bus 320 optionally includes circuitry (sometimes referred to as a chipset) that interconnects system components and controls communication between system components. Device 300 includes an input / output (I / O) interface 330 with a display 340, which is typically a touchscreen display. The I / O interface 330 also optionally includes a keyboard and / or mouse (or other pointing device) 350 and a touchpad 355, and a haptic output generator 357 for generating haptic output on device 300 (e.g., similar to the reference above). Figure 1A The tactile output generator 167 and sensor 359 (e.g., optical sensor, accelerometer, proximity sensor, touch sensor and / or contact intensity sensor (similar to the above reference)) are described. Figure 1A The contact strength sensor 165 is mentioned above. The memory 370 includes high-speed random access memory, such as DRAM, SRAM, DDR RAM, or other random access solid-state memory devices; and optionally includes non-volatile memory, such as one or more disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid-state memory devices. The memory 370 optionally includes one or more storage devices located remotely from the CPU 310. In some embodiments, the memory 370 stores information related to the portable multifunction device 100. Figure 1A The memory 370 stores programs, modules, and data structures similar to those in the memory 102 of the portable multifunction device 100, or subsets thereof. Additionally, the memory 370 optionally stores additional programs, modules, and data structures not present in the memory 102 of the portable multifunction device 100. For example, the memory 370 of the device 300 optionally stores a drawing module 380, a rendering module 382, a word processing module 384, a website creation module 386, a disk editing module 388, and / or a spreadsheet module 390, while the portable multifunction device 100 (… Figure 1A The memory 102 may optionally not store these modules.
[0142] Figure 3Each of the elements described above is optionally stored in one or more memory devices of the previously mentioned memory devices. Each of the modules described above corresponds to an instruction set for performing the functions described above. The modules or programs (e.g., instruction sets) described above need not be implemented as separate software programs, processes, or modules, and therefore various subsets of these modules are optionally combined or otherwise rearranged in various embodiments. In some embodiments, memory 370 optionally stores a subgroup of the modules and data structures described above. In addition, memory 370 optionally stores additional modules and data structures not described above.
[0143] Now let’s turn our attention to the implementation of the user interface, which is optionally implemented on, for example, a portable multifunction device 100.
[0144] Figure 4A An exemplary user interface for an application menu on a portable multifunction device 100 according to some embodiments is shown. A similar user interface is optionally implemented on device 300. In some embodiments, user interface 400 includes the following elements or a subset or superset thereof:
[0145] • Signal strength indicator 402 for wireless communications such as cellular signals and Wi-Fi signals;
[0146] • Time 404;
[0147] • Bluetooth indicator 405;
[0148] • Battery status indicator 406;
[0149] • Tray 408 with icons for commonly used applications, such as:
[0150] ○ The telephone module 138 has an icon 416 labeled "telephone", which optionally includes an indicator 414 indicating the number of missed calls or voicemail messages;
[0151] ○ An icon 418 labeled "Mail" in the email client module 140, which optionally includes an indicator 410 for the number of unread emails;
[0152] ○ The icon 420 labeled "Browser" in browser module 147; and
[0153] ○ The icon 422 marked "iPod" for the video and music player module 152 (also known as the iPod module 152, a trademark of Apple Inc.); and
[0154] • Icons of other applications, such as:
[0155] ○The icon 424 of the IM module 141 marked as "Message";
[0156] ○The calendar module 148 has an icon 426 labeled "Calendar";
[0157] ○ The icon 428 of the image management module 144 is labeled "Photo".
[0158] ○ The icon 430 of camera module 143, which is labeled "camera";
[0159] ○ The icon 432 of the online video module 155, which is labeled "Online Video";
[0160] ○ The icon 434 in the Stock Market Desktop Mini Program 149-2 that is marked as "Stock Market";
[0161] ○The icon 436 of the map module 154 that is labeled "map";
[0162] ○ The icon 438 in the Weather desktop mini-program 149-1 that is marked as "Weather";
[0163] ○ The icon 440 in the alarm clock desktop mini-program 149-4 that is marked as "clock";
[0164] ○ The icon 442 of the fitness support module 142 is labeled "fitness support";
[0165] ○ The icon 444 labeled "Notepad" in Notepad module 153; and
[0166] ○ The icon 446, labeled "Settings," is used to set the settings of the device 100 and its various applications 136.
[0167] It should be pointed out that, Figure 4A The icon labels shown are merely exemplary. For example, icon 422 of video and music player module 152 is labeled "Music" or "Music Player". Other labels may be optionally used for various application icons. In some embodiments, the label of a particular application icon includes the name of the application corresponding to that particular application icon. In some embodiments, the label of a particular application icon is different from the name of the application corresponding to that particular application icon.
[0168] Figure 4B A touch-sensitive surface 451 (e.g., separate from the display 450 (e.g., touchscreen display 112)) is shown. Figure 3 Devices such as tablets or touchpads 355 Figure 3An exemplary user interface on the device 300. The device 300 also optionally includes one or more contact intensity sensors (e.g., one or more of the sensors 359) for detecting the intensity of contact on the tactile surface 451 and / or one or more tactile output generators 357 for generating tactile outputs for the user of the device 300.
[0169] While some examples of input on a reference touchscreen display 112 (which combines a touch-sensitive surface and a display) are given below, in some implementations the device detects input on a touch-sensitive surface separate from the display, such as... Figure 4B As shown in the diagram. In some embodiments, the touch-sensitive surface (e.g., Figure 4B 451) has a spindle (e.g., on the display (e.g., 450) with the spindle on the display (e.g., 451). Figure 4B The spindle corresponding to 453 in the middle (e.g., Figure 4B (452 in the example). According to these embodiments, the device detects the position corresponding to the corresponding position on the display (e.g., in the example). Figure 4B In the diagram, 460 corresponds to 468 and 462 corresponds to 470) is in contact with the touch-sensitive surface 451 (e.g., Figure 4B (460 and 462 in the text). Thus, when the touch-sensitive surface (e.g., ...) Figure 4B 451 in the middle) and the display of a multi-functional device (e.g., Figure 4B When 450 is separated from the touch-sensitive surface, user input detected by the device on that touch-sensitive surface (e.g., touches 460 and 462 and their movement) is used by the device to manipulate the user interface on the display. It should be understood that similar methods may be optionally used for other user interfaces described herein.
[0170] Additionally, while the examples below are primarily given with reference to finger input (e.g., finger touch, single-finger tap, finger swipe), it should be understood that in some implementations, one or more of these finger inputs may be replaced by input from another input device (e.g., mouse-based input or stylus input). For example, a swipe gesture may optionally be replaced by a mouse click (e.g., instead of a touch), followed by movement of the cursor along the swipe path (e.g., instead of movement of the touch). Similarly, a tap gesture may optionally be replaced by a mouse click while the cursor is over the location of the tap gesture (e.g., instead of detection of touch, followed by cessation of touch detection). Likewise, when multiple user inputs are detected simultaneously, it should be understood that multiple computer mice may optionally be used simultaneously, or mouse and finger touch may optionally be used simultaneously.
[0171] Figure 5AAn exemplary personal electronic device 500 is illustrated. Device 500 includes a body 502. In some embodiments, device 500 may include components relative to devices 100 and 300 (e.g., Figures 1A to 4B Some or all of the features described herein. In some embodiments, device 500 has a touch-sensitive display 504, referred to below as touchscreen 504. As an alternative to or complement to touchscreen 504, device 500 has a display and a touch-sensitive surface. Similar to devices 100 and 300, in some embodiments, touchscreen 504 (or touch-sensitive surface) optionally includes one or more intensity sensors for detecting the intensity of an applied contact (e.g., touch). The one or more intensity sensors of touchscreen 504 (or touch-sensitive surface) can provide output data representing the intensity of the touch. The user interface of device 500 can respond to touches based on the intensity of the touch, meaning that touches of different intensities can invoke different user interface operations on device 500.
[0172] Exemplary techniques for detecting and processing touch intensity are found, for example, in the following related patent applications: International Patent Application Serial No. PCT / US2013 / 040061, filed May 8, 2013, entitled “Device, Method, and Graphical User Interface for Displaying User Interface Objects Corresponding to an Application,” published as WIPO Patent Publication No. WO / 2013 / 169849; and International Patent Application Serial No. PCT / US2013 / 069483, filed November 11, 2013, entitled “Device, Method, and Graphical User Interface for Transitioning Between Touch Input to Display Output Relationships,” published as WIPO Patent Publication No. WO / 2014 / 105276, each of which is incorporated herein by reference in its entirety.
[0173] In some embodiments, device 500 has one or more input mechanisms 506 and 508. Input mechanisms 506 and 508, if included, can be physical. Examples of physical input mechanisms include push-buttons and rotatable mechanisms. In some embodiments, device 500 has one or more attachment mechanisms. Such attachment mechanisms, if included, allow device 500 to be attached to, for example, hats, glasses, earrings, necklaces, shirts, jackets, bracelets, watch straps, bangles, trousers, belts, shoes, wallets, backpacks, etc. These attachment mechanisms allow a user to wear device 500.
[0174] Figure 5B An exemplary personal electronic device 500 is illustrated. In some embodiments, device 500 may include a reference. Figure 1A , Figure 1B and Figure 3 Some or all of the components described herein. Device 500 has a bus 512 that operatively couples I / O portion 514 to one or more computer processors 516 and memory 518. I / O portion 514 may be connected to display 504, which may have touch-sensitive components 522 and optionally have an intensity sensor 524 (e.g., a contact intensity sensor). Furthermore, I / O portion 514 may be connected to communication unit 530 for receiving application and operating system data using Wi-Fi, Bluetooth, near field communication (NFC), cellular, and / or other wireless communication technologies. Device 500 may include input mechanisms 506 and / or 508. For example, input mechanism 506 may optionally be a rotatable input device or a pressable input device and a rotatable input device. In some examples, input mechanism 508 may optionally be a button.
[0175] In some examples, the input mechanism 508 is optionally a microphone. The personal electronic device 500 optionally includes various sensors, such as a GPS sensor 532, an accelerometer 534, an orientation sensor 540 (e.g., a compass), a gyroscope 536, a motion sensor 538, and / or combinations thereof, all of which are operatively connected to the I / O section 514.
[0176] The memory 518 of the personal electronic device 500 may include one or more non-transitory computer-readable storage media for storing computer-executable instructions, which, when executed by one or more computer processors 516, may, for example, cause the computer processors to perform the techniques described below, including process 700. Figures 7A to 7DA 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 examples, the storage medium is a transient computer-readable storage medium. In some examples, the storage medium is a non-transitory computer-readable storage medium. Non-transitory computer-readable storage media can 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, or Blu-ray technology, and persistent solid-state storage such as flash memory, solid-state drives, etc. Personal electronic devices are not limited to... Figure 5B It can be the components and configurations, or it can include other components or additional components in a variety of configurations.
[0177] As used herein, the term "power indication" refers optionally to the power indication in devices 100, 300, and / or 500 ( Figure 1A , Figure 3 and Figures 5A to 5B A user-interactive graphical user interface object displayed on a screen. For example, images (e.g., icons), buttons, and text (e.g., hyperlinks) optionally each constitute a functional representation.
[0178] As used herein, the term "focus selector" refers to an input element used to indicate the current portion of a user interface with which a user is interacting. In some specific implementations that include a cursor or other positional marker, the cursor acts as a "focus selector," such that when the cursor is over a particular user interface element (e.g., a button, window, slider, or other user interface element), the cursor is positioned on a touch-sensitive surface (e.g., a...). Figure 3 The touchpad 355 or Figure 4B When an input (e.g., a press input) is detected on the touch-sensitive surface 451 of the display, the specific user interface element is adjusted according to the detected input. This applies to touchscreen displays (e.g., those capable of direct interaction with user interface elements on a touchscreen display) that enable direct interaction with user interface elements on the touchscreen display. Figure 1A The touch-sensitive display system 112 or Figure 4AIn some embodiments of the touchscreen 112, a touch detected on the touchscreen acts as a "focus selector," such that when input (e.g., a press input by touch) is detected at the location of a particular user interface element (e.g., a button, window, slider, or other user interface element) on the touchscreen display, that particular user interface element is adjusted according to the detected input. In some embodiments, focus moves from one area of the user interface to another without corresponding movement of the cursor or movement of a touch on the touchscreen display (e.g., moving focus from one button to another using tab keys or arrow keys); in these embodiments, the focus selector moves according to the movement of focus between different areas of the user interface. Regardless of the specific form the focus selector takes, the focus selector is typically a user-controlled user interface element (or a touch on the touchscreen display) that delivers the user-expected interaction with the user interface (e.g., by indicating to the device the element of the user interface that the user expects to interact with). For example, when a press input is detected on a touch-sensitive surface (e.g., a touchpad or touchscreen), the position of the focus selector (e.g., a cursor, touch, or selection box) above the corresponding button will indicate to the user that they expect to activate the corresponding button (rather than other user interface elements shown on the device's display).
[0179] As used in the specification and claims, the term "characteristic intensity" of a contact refers to a characteristic of the contact based on one or more intensities of the contact. In some embodiments, the characteristic intensity is based on multiple intensity samples. The characteristic intensity is optionally based on a predefined number of intensity samples or a set of intensity samples collected over a predetermined time period (e.g., 0.05 seconds, 0.1 seconds, 0.2 seconds, 0.5 seconds, 1 second, 2 seconds, 5 seconds, 10 seconds) relative to a predefined event (e.g., after contact is detected, before contact is detected to be lifted, before or after contact begins to move, before contact ends, before or after contact intensity is detected to increase, and / or before or after contact intensity decreases). The characteristic intensity of the contact is optionally based on one or more of the following: the maximum value of the contact intensity, the mean value of the contact intensity, the average value of the contact intensity, the value at the top 10% of the contact intensity, the half maximum value of the contact intensity, the 90% maximum value of the contact intensity, etc. In some embodiments, the duration of the contact is used when determining the characteristic intensity (e.g., when the characteristic intensity is the average value of the contact intensity over time). In some implementations, the feature intensity is compared to a set of one or more intensity thresholds to determine whether the user has performed an action. For example, the set of one or more intensity thresholds may optionally include a first intensity threshold and a second intensity threshold. In this example, contact with a feature intensity not exceeding the first threshold results in a first action, contact with a feature intensity exceeding the first intensity threshold but not exceeding the second intensity threshold results in a second action, and contact with a feature intensity exceeding the second threshold results in a third action. In some implementations, a comparison between the feature intensity and one or more thresholds is used to determine whether to perform one or more actions (e.g., whether to perform the corresponding action or abandon its execution) rather than to determine whether to perform the first or second action.
[0180] In some implementations, a portion of the gesture is identified to determine the characteristic intensity. For example, a touch-sensitive surface optionally receives a series of swipe contacts that transition from a starting position to an ending position, where the contact intensity increases. In this example, the characteristic intensity of the contact at the ending position is optionally based only on a portion of the series of swipe contacts, rather than the entire swipe contact (e.g., only the portion of the swipe contact at the ending position). In some implementations, a smoothing algorithm is optionally applied to the intensity of the swipe contact before determining the characteristic intensity of the contact. For example, the smoothing algorithm optionally includes one or more of the following: unweighted moving average smoothing algorithm, triangular smoothing algorithm, median filter smoothing algorithm, and / or exponential smoothing algorithm. In some cases, these smoothing algorithms eliminate narrow spikes or dips in the intensity of the swipe contact to achieve the purpose of determining the characteristic intensity.
[0181] Optionally, the contact intensity on a touch-sensitive surface is characterized relative to one or more intensity thresholds, such as a contact detection intensity threshold, a light press intensity threshold, a deep press intensity threshold, and / or one or more other intensity thresholds. In some embodiments, the light press intensity threshold corresponds to an intensity at which the device performs an operation typically associated with clicking a button on a physical mouse or touchpad. In some embodiments, the deep press intensity threshold corresponds to an intensity at which the device performs an operation different from the operation typically associated with clicking a button on a physical mouse or touchpad. In some embodiments, when a contact with a characteristic intensity lower than the light press intensity threshold (e.g., and higher than the nominal contact detection intensity threshold, where contacts lower than the nominal contact detection intensity threshold are no longer detected) is detected, the device will move the focus selector based on the movement of the contact on the touch-sensitive surface without performing the operation associated with the light press intensity threshold or the deep press intensity threshold. Generally, unless otherwise stated, these intensity thresholds are consistent across different groups of user interface figures.
[0182] An increase in contact intensity from below a light press intensity threshold to an intensity between the light press intensity threshold and the deep press intensity threshold is sometimes referred to as a "light press" input. An increase in contact intensity from below a deep press intensity threshold to an intensity above the deep press intensity threshold is sometimes referred to as a "deep press" input. An increase in contact intensity from below a contact detection intensity threshold to an intensity between the contact detection intensity threshold and the light press intensity threshold is sometimes referred to as detecting a contact on the touch surface. A decrease in contact intensity from above a contact detection intensity threshold to an intensity below the contact detection intensity threshold is sometimes referred to as detecting a contact being lifted off the touch surface. In some embodiments, the contact detection intensity threshold is zero. In some embodiments, the contact detection intensity threshold is greater than zero.
[0183] In some embodiments described herein, one or more operations are performed in response to detecting a gesture including a corresponding press input or in response to detecting a corresponding press input performed using a corresponding contact (or multiple contacts), wherein the corresponding press input is detected at least in part based on detecting that the intensity of the contact (or multiple contacts) increases to above a press input intensity threshold. In some embodiments, the corresponding operation is performed in response to detecting that the intensity of the corresponding contact increases to above a press input intensity threshold (e.g., a "downward stroke" of the corresponding press input). In some embodiments, the press input includes the intensity of the corresponding contact increasing to above a press input intensity threshold and the intensity of the contact subsequently decreasing to below the press input intensity threshold, and the corresponding operation is performed in response to detecting that the intensity of the corresponding contact subsequently decreases to below the press input threshold (e.g., an "upward stroke" of the corresponding press input).
[0184] In some implementations, the device employs intensity hysteresis to avoid unintended inputs sometimes referred to as "jitter," wherein the device defines or selects a hysteresis intensity threshold that has a predefined relationship with a press input intensity threshold (e.g., the hysteresis intensity threshold is X intensity units lower than the press input intensity threshold, or the hysteresis intensity threshold is 75%, 90%, or some reasonable percentage of the press input intensity threshold). Therefore, in some implementations, a press input includes an increase in the intensity of the corresponding contact above the press input intensity threshold and a subsequent decrease in the intensity of that contact below the hysteresis intensity threshold corresponding to the press input intensity threshold, and an operation is performed in response to detecting that the intensity of the corresponding contact subsequently decreases below the hysteresis intensity threshold (e.g., an "upstroke" of the corresponding press input). Similarly, in some implementations, a press input is detected only when the device detects that the contact intensity increases from an intensity equal to or below the hysteresis intensity threshold to an intensity equal to or above the press input intensity threshold and optionally the contact intensity subsequently decreases to an intensity equal to or below the hysteresis intensity threshold, and an operation is performed in response to detecting a press input (e.g., an increase or decrease in contact intensity depending on the environment).
[0185] For ease of explanation, optionally, the description of an operation triggered in response to a press input associated with a press input strength threshold or in response to a gesture including a press input is provided in response to detecting any of the following conditions: the contact strength increases to above the press input strength threshold, the contact strength increases from below a hysteresis strength threshold to above the press input strength threshold, the contact strength decreases to below the press input strength threshold, and / or the contact strength decreases to below the hysteresis strength threshold corresponding to the press input strength threshold. Additionally, in the example where the operation is described as being performed in response to detecting a decrease in contact strength below the press input strength threshold, the operation is optionally performed in response to detecting a decrease in contact strength below a hysteresis strength threshold corresponding to and less than the press input strength threshold.
[0186] Now let’s turn our attention to the implementation of user interfaces (“UIs”) on electronic devices, such as portable multifunction devices 100, 300 or 500, and the associated processes.
[0187] Figure 6A This is a diagram illustrating an exemplary local area network configuration based on some implementation schemes, and Figures 6B to 6SAn exemplary user interface is shown for managing and securing a local network (e.g., a home network) using an electronic device 600 (e.g., similar to portable multifunction devices 100, 300, and 500 described above; a smartphone). The electronic device 600 includes a display 602 (e.g., a touch-sensitive display, as described above). In some embodiments, the electronic device includes wireless communication radio components (e.g., for WiFi, cellular, LTE, NFC, and / or Bluetooth connectivity). The user interface in these figures is used to illustrate the processes described below, including... Figures 7A to 7D The process in.
[0188] Figure 6A An exemplary local network (e.g., local area network (LAN); home network) of multiple devices connected via router 651 (e.g., a Wi-Fi router; a packet-forwarding networking device for managing a local network). In some embodiments, router 651 is a third-party device from a third-party manufacturer different from the manufacturer of electronic device 600.
[0189] exist Figure 6A In this embodiment, electronic device 600 is connected to the local network via router 651. In some embodiments, a second electronic device 600B (e.g., a laptop computer; PC) is also connected to the local network via router 651. In some embodiments, a group of first-type external devices 653A-653B (e.g., smart light bulbs) are also connected to the local network via router 651. In some embodiments, a second-type external device 655 (e.g., a smart plug) is also connected to the local network via router 651. In some embodiments, the second electronic device 600B is not a device type that can be controlled by electronic device 600 (e.g., access, manage, and configure network security settings) when connected to the local network. In some embodiments, external devices 653A and 653B (e.g., smart light bulbs) and external device 655 are device types that can be controlled by electronic device 600. That is, electronic device 600 is connected to multiple external devices and is configured to use a home application to control (e.g., remotely control) one or more functions of each external device, as described in more detail below.
[0190] Figure 6B An electronic device 600 is shown displaying a third-party router user interface 655 on a display 602, corresponding to a third-party router application for router 651. In some embodiments, the third-party router user interface 655 includes information about the current online status of router 651 (therefore...). Figure 6AThe local network is currently online. In some implementations, the third-party router user interface 655 includes a capability indicator 608 for adding the router 651 to a home application (e.g., a smart home management application; a home automation management application; an application for managing smart devices and / or smart accessories connected to the local network; a first-party application managed by the manufacturer of the electronic device 600).
[0191] exist Figure 6B In this context, router 651 is a new router that has not yet been added to the home application. In some implementations, as described in more detail below, adding the router to the home application includes enabling the management and configuration of router settings (e.g., network security settings) via the home application on electronic device 600.
[0192] exist Figure 6B In this process, electronic device 600 detects activation 601 (e.g., selection; tap gesture or tap input on it; user input pointing to it) of power indicator 608 via display 602, which is used to add router 651 to the home application.
[0193] exist Figure 6C In response to the detection of activation 601 of the enablement indication 608 for the third-party router user interface 655, the electronic device 600 displays the user interface 610 of the home application on the display 602. This user interface is used to initiate the process of adding the router 651 to the home application. In some embodiments, the user interface 610 of the home application is displayed on top of a portion rather than all of the third-party router user interface 655, such that a portion of the third-party router user interface 655 remains visible on the display 602. That is, in some embodiments, the user interface 610 of the home application (e.g., and all other user interfaces of the home application) is displayed on the display 602 as a card-style (e.g., pop-up; overlay) user interface.
[0194] In some embodiments, the user interface 610 of the home application includes an indication 612 (e.g., a graphical representation) of a router 651 to be added to the home application. In some embodiments, the user interface 610 of the home application includes a power indication 614 for continuing the process of adding the router 651 to the home application.
[0195] exist Figure 6CIn the process of displaying the home application on user device 610, electronic device 600 detects activation 603 (e.g., selection; tap gesture or tap input on it; user input pointing to it) of enable display 614 via display 602, which is used to continue the process of adding router 651 to the home application.
[0196] exist Figure 6D In response to detecting activation 603 of the enablement indicator 614 for the user interface 610 of the home application, the electronic device 600 displays (e.g., replacing the display of the user interface 610) the user interface 616 of the home application on the display 602. This user interface indicates the initiation of a process for adding and enabling one or more network access policies for the local network connected via router 651. In some embodiments, such as in Figure 6C In this context, a portion of the third-party router's user interface 655 remains visible on the display 602 while the user interface 616 of the home application is being displayed.
[0197] In some embodiments, the user interface 616 of the home application includes indications 618 (e.g., graphical representations) relating the user interface 616 to network access policy settings for a local network managed by router 651. In some embodiments, the user interface 616 of the home application includes a capability representation 620 for adding and enabling individual network access policies (e.g., global network access policies; general network access policies) on all controllable external devices (e.g., smart cameras, smart light bulbs, smart plugs) on the local network (in this example, for example, the group of first-type external devices 653A-653B (e.g., smart light bulbs) and second-type external devices 655 (e.g., smart plugs)). In some embodiments, the network access policies applied by the home application control the access of controllable external devices (in this example, the group of first-type external devices 653A-653B and second-type external devices 655) to one or more local and / or remote network domains / addresses, and are managed and enforced via router 651 (e.g., via one or more functions and / or settings of router 651).
[0198] In some implementations, the user interface 616 of the home application includes optional options 622 (e.g., power indication) for customizing network access policies, enabling different network access policies to be applied to different controllable external devices on the local network managed by router 651.
[0199] exist Figure 6DIn the process of displaying the user interface 616 of the home application, the electronic device 600 detects activation 605 (e.g., selection; tap gesture or tap input on it; user input pointing to it) of the power indicator 620 via the display 602. The power indicator is used to add and enable a single network access policy (e.g., a global network access policy; a general network access policy) to all controllable external devices on the local network (in this example, the group of first-type external devices 653A-653B (e.g., smart light bulbs) and second-type external devices 655 (e.g., smart plugs).
[0200] exist Figure 6E In response to detecting activation 605 of the power indicator 620, the electronic device 600 applies a single network access policy (e.g., automatically, without further input) to all controllable external devices on the local network (in this example, the group of first-type external devices 653A-653B (e.g., smart light bulbs) and second-type external devices 655 (e.g., smart plugs)). The electronic device 600 also adds a router 651 to a home application, thereby allowing management of one or more settings of the router 651 (e.g., security settings) via the home application, as described in more detail below.
[0201] Further in response to detecting activation 605 of the power indicator 620, the electronic device 600 displays (e.g., replacing the display of user interface 616) a router profile user interface 624 of the home application on the display 602, wherein the router profile user interface 624 includes information about the router 651 (e.g., setup information; activity information; configuration information). In some embodiments, the router profile user interface 624 includes indications 626 for the local network connected via the router 651, indications 628 for the manufacturer of the router 651, indications 630 for the serial number of the router 651, and indications 632 for the firmware version of the router 651. In some embodiments, the router profile user interface 624 includes a power indicator 634 for removing the router 651 from the home application. In some embodiments, such as Figures 6C to 6D As shown, a portion of the third-party router user interface 655 remains visible on the display 602 while the user interface 616 of the home application is displayed.
[0202] Figure 6F The diagram illustrates a user interface 636 of a home application displayed on a display 602 (e.g., by replacing the display of user interface 616) in response to the detection of a selection of an optional option 622 on user interface 616, as referenced above. Figure 6DAs described above. In some embodiments, selecting option 622 also adds router 651 to the home application, thereby allowing management of one or more settings (e.g., security settings) of router 651 via the home application. The user interface 636 of the home application directs (e.g., as shown in information area 638) to enable customized network access policies, such that different network access policies can be applied to different controllable external devices on the local network, rather than applying a single network access policy (e.g., a global or general network access policy) to all controllable external devices on the local network.
[0203] In some embodiments, user interface 636 includes a first optional user interface element 640 corresponding to a set of first-type external devices 653A-653B (e.g., smart light bulbs) connected to the local network via router 651. In some embodiments, user interface 636 includes a second optional user interface element 642 corresponding to a second-type external device 655 (e.g., smart plug) on the local network. In some embodiments, the optional user interface elements include information about the currently selected network access policy settings for their respective external devices.
[0204] In some embodiments, user interface 636 includes a continue enable display 644 for confirming and applying the currently configured network access policy settings. In some embodiments, user interface 636 includes a disable enable display 646 for disabling the current network access policy settings. Figure 6F As shown in the implementation plan, select Figure 6D The optional option 622 of the user interface 616 enables both the first type of external devices 653A-653B and the second type of external devices 655 to be associated with the network access setting “Allow Any”, which effectively prevents the application of network access policies (e.g., policies that provide additional security).
[0205] exist Figure 6F In the process of displaying the user interface 636 of the home application, the electronic device 600 detects a selection 607 (e.g., a tap gesture or tap input on it; user input pointing to it) of a first optional user interface element 640 via a display 602, the first optional user interface element 640 corresponding to a group of first-type external devices 653A-653B (e.g., smart light bulbs) of the local network managed by the router 651.
[0206] exist Figure 6GIn response to detecting a selection 607 of the first optional user interface element 640, the electronic device 600 displays (e.g., replacing the display of user interface 636) a user interface 648 of the Home application on the display 602. This user interface includes multiple optional network access policy options, including a first option 650 corresponding to the first network access policy (in this example, a "Local Only" option), a second option 652 corresponding to the second network access policy (in this example, an "Automatic" option), and a third option 654 corresponding to the third network access policy (in this example, an "Allow Any Connection" option). These options can be applied to the corresponding external devices (in this example, the group of first-type external devices 653A-653B). In this example, the third option 654 includes a selection indicator 654A because the third network access policy is the currently selected policy for the corresponding external device (in this example, the group of first-type external devices 653A-653B).
[0207] exist Figure 6G In the process of displaying a user interface 648 of a home application corresponding to the set of first-type external devices 653A-653B (e.g., smart bulbs) using a third network access policy selected for the corresponding external device, the electronic device 600 detects a selection 609 (e.g., a tap gesture or tap input thereon; user input pointing thereon) of a first option 650 via a display 602, the first option corresponding to a first network access policy (in this example, the "local only" option).
[0208] exist Figure 6H In response to detecting a selection 609 of the first option 650 corresponding to the first network access policy, the electronic device 600 applies the first network access policy to the external device group 653A and 653B, such that network access for the external devices 653A and 653B is now restricted based on the network settings of the first network access policy (in this example, the "local only" network access policy). In some embodiments, further in response to detecting a selection 609 of the first option 650 corresponding to the first network access policy, the electronic device 600 displays the first option 650 with a selection indicator 650A, thereby indicating that the first network access policy has been applied to the corresponding external device (in this example, the group of external devices 653A-653B of the first type).
[0209] Figure 6IAn electronic device 600 is shown displaying a control user interface 658 of the home application on a display 602 after router 651 has been added to the home application (e.g., network access policy settings, whether global or custom, have been applied to controllable external devices on the local network). In some embodiments, the control user interface 658 of the home application includes a controllable device area 660 that includes optional controls corresponding to individual controllable external devices on the local network (e.g., smart cameras, smart light bulbs, smart plugs) (in this example, external devices 653A and 653B (e.g., smart light bulbs) and external device 655 (e.g., smart plugs)).
[0210] exist Figure 6I In this implementation, electronic device 600 displays a first optional control 660A (e.g., a smart bulb) corresponding to external device 653A and a second optional control 660B (e.g., a smart bulb) corresponding to external device 653B in the controllable device area 660 of the controllable user interface 658 of the home application. In some embodiments, external devices 653A and 653B can be controlled (e.g., turned on and off) using optional controls 660A and 660B respectively (e.g., via selection of the respective optional control). In some embodiments, electronic device 600 also displays a third optional control 660C corresponding to external device 602C (e.g., a smart plug) in the controllable device area 660 of the controllable user interface 658 of the home application. In some embodiments, external device 655 can be controlled (e.g., activated and deactivated; enabled and disabled) using optional control 660C (e.g., via selection of the optional control). In some embodiments, the control user interface 658 of the home application also includes a setting power indicator 662. This is displayed on electronic device 600 after router 651 has been added to the home application. Figure 6I This allows management of one or more settings of router 651 via the Home app. However, although optional controls are added to the Home app, they are not displayed in zone 660 for router 651. In some implementations, optional controls for router 651 are not displayed because providing such controls could lead to the unintentional disabling of router functions (e.g., router security functions).
[0211] exist Figure 6J In the process of displaying the home application on user device 658, electronic device 600 detects activation 611 of setting enablement display 662 (e.g., selection; tap gesture or tap input on it; user input pointing to it) via display 602.
[0212] exist Figure 6KIn response to detecting activation 611 of the setting enablement indicator 662, the electronic device 600 displays a setup user interface 664 of the home application on the display 602. In some embodiments, the setup user interface 664 of the home application includes an optional option 666 for enabling the display of router information for the network and the local network. In some embodiments, the optional option 666 includes an indication of the number of routers and router extenders managing the local network.
[0213] exist Figure 6K In the process of displaying a home application on a user device 664, an electronic device 600 detects a selection 613 (e.g., a tap gesture or tap input thereon; user input pointing thereon) of an optional option 666 via a display 602, the optional option being used to display router information for the network and the local network.
[0214] exist Figure 6L In response to detecting a selection 613 of optional option 666, electronic device 600 displays (e.g., replacing the display of settings user interface 664) network and router information user interface 668 of the home application on display 602.
[0215] In some implementations, the network and router information user interface 668 includes an optional option 670 that indicates that router 651 is managing the local network and, when selected, causes detailed information about router 651 to be displayed (e.g., similar to...). Figure 6E(Information shown). In some embodiments, the network and router information user interface 668 includes a connected device area 672 (e.g., labeled "accessory") that includes optional options corresponding to controllable external devices and / or similar / related groups of controllable external devices (e.g., external devices 653A-653B, external device 655) connected to the local network managed by router 651. In this example, the connected device area 672 includes a first optional option 672A corresponding to the first type of external devices 653A-653B (e.g., smart light bulbs) and a second optional option 672B corresponding to the second type of external device 655 (e.g., smart plugs). In some embodiments, the optional options of the connected device area 672 include an indication of the type of network access policy currently being applied to the corresponding controllable external device or group of external devices. In this example, the first optional option 672A indicates that a second network access policy (in this example, an "automatic" network access policy) is currently applied to a group of first-type external devices 653A-653B (e.g., smart light bulbs), and the second optional option 672B indicates that a third network access policy (in this example, an "allow any connection" network access policy) is currently applied to a second-type external device 655 (e.g., a smart plug). In some implementations, the "automatic" policy allows the corresponding device to access devices and addresses on the local area network, and also allows the corresponding device to access devices and addresses outside the approved (e.g., whitelisted) local area network (e.g., a remote network).
[0216] exist Figure 6L In the process of displaying the network and router information user interface 668 of the home application, the electronic device 600 detects the selection 615 of a first optional option 672A via the display 602. The first optional option corresponds to a set of external devices 653A-653B of a first type (e.g., smart bulbs).
[0217] exist Figure 6M In response to detecting a selection 615 of the first optional option 672A, the electronic device 600 displays a policy selection user interface 674 of the home application on the display 602 (e.g., similar to the one referenced above). Figures 6G to 6H The user interface 648 of the aforementioned home application.
[0218] In some implementations, similar to user interface 648, policy selection user interface 674 includes multiple optional network access policy options, including a first option 676 corresponding to a first network access policy (in this example, the "Local Only" option), a second option 678 corresponding to a second network access policy (in this example, the "Automatic" option), and a third option 680 corresponding to a third network access policy (in this example, the "Allow Any Connection" option), which can be applied to the corresponding external devices (in this example, the group of first-type external devices 653A-653B). In this example, the second option 678 includes a selection indicator 678A because the second network access policy is the currently selected network access policy for the group of first-type external devices 653A-653B. User interface 648 also includes indications of network events associated with the selected type of external device. Figure 6M As shown, based on the network access policy already set for the selected type of external device, events may include software updates (e.g., "firmware update"), access blocked events (e.g., "some unexpected connection blocked"), and access granted events (e.g., "CLOUD.COM - data storage").
[0219] Figure 6N An electronic device 600 is shown displaying a third-party router user interface 682 on a display 602, which corresponds to a replacement router different from router 651. In some embodiments, the replacement router is manufactured by the same third-party manufacturer as router 651. In some embodiments, the replacement router is manufactured by a different third-party manufacturer than router 651. In some embodiments, the third-party router user interface 682 includes an indication 684 that the replacement router is currently online (and therefore part of the local network). In some embodiments, the third-party router user interface 682 includes a power indicator 686 for adding the replacement router to a home application.
[0220] exist Figure 6N In this process, electronic device 600 detects activation 617 (e.g., selection; tap gesture or tap input on it; user input pointing to it) of power indicator 686 via display 602, which is used to add a replacement router to the home application.
[0221] exist Figure 6O In response to detecting activation 617 of the power indicator 686, the electronic device 600 displays a user interface 688 of a home application on the display 602. This user interface is used to initiate a process of replacing router 651 using a replacement router on the home application (e.g., similar to the above reference). Figure 6CThe user interface 610 of the home application used to initiate the process of adding router 651 to the home application. In some embodiments, the user interface 688 of the home application is displayed above a portion rather than the entirety of the third-party router user interface 682, such that a portion of the third-party router user interface 682 remains visible on the display 602.
[0222] In some embodiments, the user interface 688 of the home application includes an instruction 690 (e.g., a graphical representation) for replacing a router, which will replace router 651 in the home application. In some embodiments, the user interface 688 of the home application includes a capability indicator 692 for continuing the process of replacing router 651 with the replacement router in the home application.
[0223] exist Figure 6O In the process of displaying the user interface 688 of the Home Application, the electronic device 600 detects activation 619 (e.g., selection; tap gesture or tap input on it; user input pointing to it) of the power indicator 692 via the display 602, which is used to continue the process of replacing router 651 with a replacement router in the Home Application.
[0224] exist Figure 6P In response to the detection of activation 619 on enable representation 692, when replacing routers such as router 651, electronic device 600 continues to apply the same one or more network access policies to controllable external devices on the local network (in this example, the first type of external devices 653A-653B (e.g., smart light bulbs) and the second type of external devices 655 (e.g., smart plugs)).
[0225] In some implementations, further in response to detecting activation 619 of the power indicator 692, the electronic device 600 displays (e.g., a display of a replacement user interface 688) a router summary user interface 694 corresponding to the replacement router (e.g., similar to the one referenced above) on the display 602. Figure 6E The router summary user interface 624 (corresponding to the home application of router 651) includes information about the replacement router (e.g., setup information; activity information, configuration information). In some embodiments, the router summary user interface 694 includes an indication 696 of the replacement router's manufacturer, an indication 698 of the replacement router's serial number, and an indication 699 of the replacement router's firmware version. In some embodiments, the router summary user interface 694 includes a power indicator 697 for removing the replacement router from the home application.
[0226] exist Figure 6P In the process of displaying a user interface 694 corresponding to a replacement router, the electronic device 600 detects activation 621 (e.g., selection; tap gesture or tap input on it; user input pointing to it) of a power indicator 697 via a display 602, the power indicator being used to remove the replacement router from the home application.
[0227] In some implementations, when electronic device 600 detects an attack... Figure 6P When the activation of 621 of the function 697 is completed, the replacement router is connected to the local network, and all controllable external devices on the local network (in this example, the first type of external devices 653A-653B (e.g., smart light bulbs) and the second type of external devices 655 (e.g., smart plugs) support network reconfiguration)
[0228] exist Figure 6Q In response to detecting activation 621 of the power indicator 697, and based on the determination that the replacement router is connected to the local network and all controllable external devices on the local network support network reconfiguration, the electronic device 600 displays a notification 695 via a user interface 694, including an indication 693 that network access policies implemented by one or more current home applications will be disabled and that all applicable external devices on the local network (in this example, the first type of external devices 653A-653B (e.g., smart light bulbs) and the second type of external devices 655 (e.g., smart plugs) will be reverted to the regular non-home application-implemented network policies) will be implemented. In some embodiments, the notification 695 also includes a removal power indicator 691 for continuing the removal of the replacement router and a cancellation power indicator 689 for not continuing the removal of the replacement router.
[0229] In some implementations, in response to the detection of activation of the removal enablement 691 (e.g., selection; tap gesture or tap input on it; user input pointing to it), the electronic device 600 removes one or more current network access policies (e.g., based on a virtualized security network) implemented by a home application on the local network, such that all controllable external devices on the local network (in this example, the first type of external devices 653A-653B (e.g., smart light bulbs) and the second type of external devices 655 (e.g., smart plugs) are returned to the regular network policies implemented by non-home applications (e.g., based on a non-virtualized security network).
[0230] In some implementations, when electronic device 600 detects an attack... Figure 6PWhen the activation of the power indicator 697 in the middle is 621, the replacement router is connected to the local network, but at least one of the controllable external devices on the local network (in this example, at least one of external devices 653A-653B (e.g., a smart light bulb) and / or a second type of external device 655 (e.g., a smart plug) does not support network reconfiguration.
[0231] exist Figure 6R In response to detecting activation 621 of the power indication 697, and based on the determination that a replacement router is connected to the local network, but at least one of the controllable external devices on the local network does not support network reconfiguration, the electronic device 600 displays a notification 687 via a user interface 694. This notification includes an instruction 685 that at least one of the controllable external devices on the local network will require manual reconfiguration (e.g., reboot, re-plugging) so that the corresponding external device reverts to the network policy implemented by the regular non-home application. In some embodiments, the notification 687 also includes a removal power indication 683 for continuing the removal of the replacement router and a cancellation power indication 681 for not continuing the removal of the replacement router.
[0232] In some implementations, in response to the detection of activation of the removal enablement 683 (e.g., selection; tap gesture or tap input on it; user input pointing to it), the electronic device 600 removes one or more current network access policies (e.g., virtualization-based secure network) implemented by a home application on the local network, such that compatible external devices on the local network (e.g., the group of first-type external devices 653A-653B (e.g., smart light bulbs) automatically revert to network policies implemented by non-home applications (e.g., non-virtualization-based compatible external devices) while incompatible external devices on the local network (e.g., second-type external device 655) do not automatically revert to the regular network policies implemented by non-home applications.
[0233] In some implementations, when electronic device 600 detects an attack... Figure 6P When the activation of indicator 697 in the middle is 621, the replacement router is not connected to the local network (e.g., because the replacement router has been manually removed from the local network (e.g., unplugged)).
[0234] exist Figure 6SIn response to the detection of activation 621 of the power indicator 697, and based on the determination that the replacement router is not connected to the local network, the electronic device 600 displays a notification 679 via a user interface 694. This notification includes an indication 677 that the replacement router is disconnected (or appears to be disconnected) from the local network, and that removing the replacement router from this group will cause all controllable external devices (in this example, the first type of external devices 653A-653B (e.g., smart light bulbs) and the second type of external devices 655 (e.g., smart plugs)) to be manually reconfigured (e.g., restarted, re-plugged) so that the respective external devices return to normal non-home application network policy enforcement. In some embodiments, the notification 679 also includes a removal power indicator 673 for continuing the removal of the replacement router and a cancellation power indicator 675 for not continuing the removal of the replacement router.
[0235] In some implementations, in response to the detection of activation of the removal enablement display 673 (e.g., selection; tap gesture or tap input on it; user input pointing to it), the electronic device 600 removes the replacement router but does not automatically return the controllable external devices (in this example, the first type of external devices 653A-653B (e.g., smart light bulbs) and the second type of external devices 655 (e.g., smart plugs) to the network policy implemented by regular non-home applications) to the network policy.
[0236] Figures 7A to 7D This is a flowchart illustrating a method for managing a local network using an electronic device according to some embodiments. Method 700 is performed at an electronic device (e.g., 100, 300, 500, 600) having a display (e.g., 602; a touch-sensitive display). Some operations in method 700 are optionally combined, some operations are optionally changed in order, and some operations are optionally omitted.
[0237] In some embodiments, the electronic device (e.g., 600) includes a computer system. The computer system optionally communicates (e.g., wired communication, wireless communication) with a display generating component (e.g., a monitor, a touch-sensitive display) and one or more input devices (e.g., touch-sensitive surfaces). The display generating component is configured to provide visual output, such as a display via a CRT monitor, a display via an LED monitor, or a display via image projection. In some embodiments, the display generating component is integrated with the computer system. In some embodiments, the display generating component is separate from the computer system. One or more input devices are configured to receive input, such as a touch-sensitive surface that receives user input. In some embodiments, one or more input devices are integrated with the computer system. In some embodiments, one or more input devices are separate from the computer system. Therefore, the computer system can transmit data (e.g., image data or video data) to the integrated or external display generating component via a wired or wireless connection to visually generate content (e.g., using a display device), and can receive input from one or more input devices via a wired or wireless connection.
[0238] As described below, method 700 provides an intuitive way to manage a local network using an electronic device (e.g., 600). This method reduces the cognitive burden on users when managing a local network (e.g., a home network) using an electronic device (e.g., 600), thereby creating a more efficient human-machine interface. For battery-powered computing devices, it enables users to manage the local network more quickly and efficiently, saving power and increasing the time interval between battery charging sessions.
[0239] When an electronic device (e.g., 600) is connected (e.g., wirelessly; via wire) to a router (e.g., 651; a packet-forwarding networking device for managing a local area network) and multiple external devices (e.g., 653A-653B, 655; controllable electronic devices (e.g., smart lights, smart sockets) (e.g., connected via a router (e.g., the electronic device and multiple external devices are on the same local area network managed by the router)), the controllable electronic device includes a first group of one or more external devices (e.g., 653A-653B) and a second group of one or more external devices (e.g., 655), the electronic device displays (702) a first user interface (e.g., 616) including a first power indicator (e.g., 620) and a second power indicator (e.g., 622). In some In some implementations, an electronic device (e.g., 600) is connected to multiple external devices (e.g., 653A-653B, 655) and is configured to control (e.g., remotely control) one or more functions of each of the multiple external devices using a first application that generates a first user interface (e.g., 616). In some implementations, the first user interface (e.g., 616) is displayed during a configuration process for configuring one or more settings of a router and / or for associating the router with the first application (e.g., configuring the router and / or the first application to allow the first application to control one or more functions of the router). In some implementations, the electronic device (e.g., 600) is part of a local area network managed by a router (e.g., 651).
[0240] In some embodiments, one or more devices in the first group of one or more devices are associated with a first device source (e.g., a manufacturer, distributor, supplier) (e.g., identified as being associated with or provided by the first device source). In some embodiments, one or more devices in the second group of one or more devices are associated with a second device source different from the first device source. In some embodiments, the third power indication (e.g., 640) and the fourth power indication (e.g., 642) described below each include an indication of the associated device source.
[0241] In some embodiments, one or more devices in the first group of one or more devices are devices of a first type (e.g., a class of devices, such as a light or a socket). In some embodiments, one or more devices in the second group of one or more devices are devices of a second type, different from the first type. In some embodiments, the third power indication (e.g., 640) and the fourth power indication (e.g., 642) described below each include an indication of the associated device type.
[0242] In some embodiments, before displaying the first user interface (e.g., 616), the electronic device (e.g., 600) displays a sixth user interface (e.g., 655, 682; a user interface generated by an application provided by the router's source), which includes a seventh power indicator (e.g., 608, 686). In some embodiments, the electronic device (e.g., 600) receives third user input corresponding to the seventh power indicator (e.g., 608, 686). In some embodiments, the display of the first user interface (e.g., 616) occurs in response to the third user input. In some embodiments, displaying the first user interface (e.g., 616) includes maintaining at least a first portion of displaying the sixth user interface (e.g., 655, 682). In some embodiments, the first user interface (e.g., 616) overlays a portion of the sixth user interface (e.g., 655, 682). In some embodiments, de-enclosing the first user interface (e.g., after completing the router configuration process) restores / uncovers the sixth user interface. Displaying the first user interface while maintaining at least a first portion of the sixth user interface and / or displaying the first user interface overlaid on a portion of the sixth user interface allows the user to recognize that all sixth user interfaces can be quickly and easily redisplayed. Providing additional control options enhances device operability without cluttering the UI with additional displayed controls and makes the user-device interface more efficient (e.g., by helping users provide appropriate input and reducing user errors when operating / interacting with the device), which in turn reduces power consumption and extends device battery life by enabling users to use the device more quickly and efficiently.
[0243] An electronic device (e.g., 600) receives (704) a first input (e.g., a tap at a location on a touch-sensitive display (e.g., 602) of the electronic device).
[0244] In response to receiving a first input (706), and based on determining that the first input corresponds to a selection of a first power indicator (e.g., 620; auto-configuration power indicator) (708), an electronic device (e.g., 600) applies (710) a first network access policy (e.g., a policy controlling access to one or more local and / or remote network domains / addresses by one group of one or more external devices; a policy managed / enforced via a router (e.g., via one or more functions and / or settings of a router)) to the first group of one or more external devices (e.g., 653A-653B). The automatic application of the first network access policy to the first group of one or more external devices based on determining that the first input corresponds to a selection of a first power indicator allows the user to quickly and easily apply network access policies to the first group of one or more external devices. Reducing the amount of input required to perform operations enhances device operability and makes the user device interface more efficient (e.g., by helping the user provide appropriate input and reducing user errors when operating / interacting with the device), thereby further reducing power consumption and extending device battery life by enabling users to use the device more quickly and efficiently.
[0245] In response to receiving a first input (706), and based on determining that the first input corresponds to a selection of a first power indicator (e.g., 620; auto-configuration power indicator) (708), the electronic device (e.g., 600) applies a first network access policy (712) to a second group of one or more external devices (e.g., 655). The automatic application of the first network access policy to the second group of one or more external devices, based on determining that the first input corresponds to a selection of the first power indicator, allows the user to quickly and easily apply the network access policy to the second group of one or more external devices. Reducing the amount of input required to perform operations enhances device operability and makes the user device interface more efficient (e.g., by helping the user provide appropriate input and reducing user errors when operating / interacting with the device), thereby further reducing power consumption and extending device battery life by enabling users to use the device more quickly and efficiently.
[0246] In some embodiments, a first user interface (e.g., 616) is associated with (e.g., generated by) a first application configured to control one or more functions of a first group of one or more external devices (e.g., 653A-653B) and one or more functions of a second group of one or more external devices (e.g., 655). In some embodiments, in response to receiving a first input (706), based on determining that the first input corresponds to a selection of a first power indication (e.g., 620) (708), an electronic device (e.g., 600) configures (714) the first application to control one or more functions of a router (e.g., 651). In some embodiments, the electronic device (e.g., 600) also initiates a process of associating the router (e.g., 651) with a location (e.g., a room) that is also associated with one of the external devices in the first application.
[0247] In some embodiments, upon receiving a first input, the electronic device (e.g., 600) displays a seventh user interface (e.g., 658; a control user interface). In some embodiments, the seventh user interface (e.g., 658) includes a first control indication (e.g., 660A, 660B), which, upon selection, transmits commands to a first set of external devices (e.g., 653A, 653B) to perform a first function (e.g., turning a light on, turning a light off). In some embodiments, the seventh user interface (e.g., 658) includes a second control indication (e.g., 600C), which, upon selection, transmits commands to a second set of external devices (e.g., 655) to perform a second function. In some embodiments, the seventh user interface (e.g., 658) does not include a third control indication. When the third control power indication is selected, a command is transmitted to the router (e.g., 651) to perform a third function (e.g., a function of the router; any function of the router). In some embodiments, the seventh user interface (e.g., 658) does not include any power indication associated with the router (e.g., 651). It does not include a third control power indication, when selected, which transmits a command to the router to perform a third function that prevents the UI from unnecessarily clustering with features that are impossible to use. This, in turn, enhances the operability of the device and makes the user-device interface more effective (e.g., by helping the user provide appropriate input and reducing user errors when operating / interacting with the device). This, in turn, reduces power consumption and extends the battery life of the device by enabling the user to use the device more quickly and effectively.
[0248] In some implementations, a router (e.g., 651) is connected to a first external device (e.g., 600B). In some implementations, the first external device (e.g., 600B) is a device that is part of a local area network managed by the router (e.g., 651), but is not a device that can be controlled by an electronic device (e.g., 600). In some implementations, in response to receiving a first input (706), based on determining that the first input corresponds to a selection of a first enablement representation (e.g., 620) (708), the electronic device (e.g., 600) abandons the application (716) of a first network access policy to the first external device (e.g., 600B). In some implementations, the selection of the first enablement representation (e.g., 620) only applies the first network access policy to the external device (e.g., 653A-653B, 655) that is currently configured to control one or more of its functions.
[0249] In some implementations, the first network access policy is managed by a router (e.g., 651) (e.g., managed and controlled by the router's packet routing function). In some implementations, after the first network access policy is applied to a first group of one or more external devices (718), the electronic device (e.g., 600) detects (720) that the electronic device is connected to a second router different from the first router (e.g., and is no longer connected to the second router) (e.g., it is detected that the electronic device is now part of a LAN managed by the second router, and no longer part of a LAN managed by the first router). In some implementations, in response to detecting that the electronic device (e.g., 600) is connected to the second router, the electronic device continues to apply the first network access policy (722) to the first group of one or more external devices (e.g., 653A-653B). In some implementations, the applied network access policy is transmitted to the second router and then managed by the second router. Continuing to apply the first network access policy to the first group of one or more external devices in response to detecting that the electronic device is connected to the second router (e.g., without any further user input) allows users to quickly and easily switch routers without having to reapply the first network access policy to the first group of one or more external devices. Reducing the amount of input required to perform an operation enhances device operability and makes the user device interface more efficient (e.g., by helping users provide appropriate input and reducing user errors when operating / interacting with the device), thereby further reducing power consumption and extending device battery life by enabling users to use the device more quickly and efficiently.
[0250] In some embodiments, in response to receiving a first input and determining that the first input corresponds to a selection of a first capability representation (e.g., 620), an electronic device (e.g., 600) displays a fourth user interface (e.g., 624, 694; a router information user interface). In some embodiments, the fourth user interface (e.g., 624, 694) includes first information associated with the router (e.g., 651), selected from the group consisting of: serial number, firmware version, and router source (e.g., manufacturer, distributor, supplier). In some embodiments, the fourth user interface (e.g., 624, 694) includes second information associated with the router, selected from the group consisting of: serial number, firmware version, and router source. In some embodiments, the fourth user interface (e.g., 624, 694) includes one or more capability representations for adjusting router settings.
[0251] In some implementations, the fourth user interface (e.g., 624, 694) includes a sixth power indicator, which, when selected, causes a fifth user interface generated by an application other than the application that generated the first user interface to be displayed. In some implementations, the fifth user interface is generated by an application provided by a router source (e.g., a manufacturer, distributor, or supplier).
[0252] In response to receiving a first input (706), and based on determining that the first input corresponds to a selection of a second enable representation (e.g., 622) (724), the electronic device (e.g., 600) displays (726) a second user interface (e.g., 636; router network access policy setting interface). In some embodiments, based on receiving the first input, the electronic device (e.g., 600) also waives the application of a first network access policy to a first group of one or more external devices (e.g., 653A-653B) and a second group of one or more external devices (e.g., 655).
[0253] The second user interface (e.g., 636) includes (726) a third power indication (e.g., 640; a power indication associated with a subset of multiple external devices including one or more external devices in the first group), which, when selected, initiates a process for applying a network access policy to one or more external devices in the first group (e.g., 653A-653B) (e.g., not applying the policy to one or more external devices in the second group), the network access policy being selected from a group consisting of a first network access policy and a second network access policy different from the first network access policy (728).
[0254] The second user interface (e.g., 636) includes (726) a fourth power indicator (e.g., 642; a power indicator associated with a subset of multiple external devices including one or more external devices in the second group), which, when selected, initiates the application of a network access policy to the second group of one or more external devices (e.g., 655) (e.g., a policy independent of the policy applied to the first group of one or more external devices), the network access policy being selected from a group consisting of a first network access policy and a second network access policy different from the first network access policy (730). Displaying the second user interface with the second and fourth power indicators allows the user to quickly and easily customize security settings for different groups of external devices connected to the network. Providing additional control options enhances device operability without cluttering the UI with additional displayed controls and makes the user-device interface more efficient (e.g., by helping the user provide appropriate input and reducing user errors when operating / interacting with the device), which in turn reduces power consumption and extends device battery life by enabling users to use the device more quickly and efficiently.
[0255] In some implementations, the first network access policy (and in some implementations, the second network access policy) is selected from the group consisting of: a network access policy that allows (e.g., only allows) the affected device to access devices, addresses, and domains (e.g., 651) on the local area network managed by the router; and a network access policy that allows (e.g., only allows) the affected device to access devices, addresses, or domains on the local area network managed by the router or included in a whitelist of approved devices, addresses, or domains. In some implementations, the first access policy may also be a policy that allows access to any device, address, or domain.
[0256] In some embodiments, when displaying a second user interface (e.g., 636), an electronic device (e.g., 600) receives (732) a set of two or more inputs, including inputs corresponding to the selection of a third power indicator (e.g., 640) and inputs corresponding to a fourth power indicator (e.g., 642). In some embodiments, in response to receiving the set of two or more inputs (734), the electronic device (e.g., 600) applies (736) a first network access policy to a first group of one or more external devices (e.g., 653A-653B). In some embodiments, in response to receiving the set of two or more inputs (734), the electronic device (e.g., 600) applies (738) a second network access policy to a second group of one or more external devices (e.g., 655).
[0257] In some embodiments, upon receiving two or more inputs from the set, the electronic device (e.g., 600) displays (740) a third user interface (e.g., 636; router network access policy setting interface; second user interface), which includes a fifth enable indicator (e.g., 646; disabled enable indicator). In some embodiments, the electronic device (e.g., 600) receives (742) a second input corresponding to a selection of the fifth enable indicator (e.g., 646). In some embodiments, in response to receiving the second input (744), the electronic device (e.g., 600) stops (746) applying the first network access policy to a first group of one or more external devices (e.g., 653A-653B). In some embodiments, in response to receiving the second input (744), the electronic device (e.g., 600) stops (748) applying the second network access policy to a second group of one or more external devices (e.g., 655). In some embodiments, the selection of the fifth enable indicator (e.g., 646) disables the network access policy managed by the electronic device (e.g., 600). Upon receiving two or more inputs from a given group, the application of a first network access policy to one or more external devices in the first group is stopped, and the application of a second network access policy to one or more external devices in the second group is also stopped. This allows users to quickly and easily disable active security settings on the network when needed. Reducing the amount of input required to perform operations enhances device operability and makes the user device interface more efficient (e.g., by helping users provide appropriate input and reducing user errors when operating / interacting with the device), thereby further reducing power consumption and extending device battery life by enabling users to use the device more quickly and efficiently.
[0258] In some embodiments, upon receiving the first input, the electronic device (e.g., 600) displays (750) an eighth user interface (e.g., a management interface for a first group of one or more external devices). In some embodiments, the eighth user interface includes an eighth power indicator, which, when selected, applies a first network access policy to the first group of one or more external devices (e.g., 653A-653B) (752). In some embodiments, the eighth user interface includes a ninth power indicator, which, when selected, applies a first network access policy to a second group of one or more external devices (e.g., 655) (754). In some embodiments, the eighth user interface includes indications (756) of first events associated with the first group of one or more external devices (e.g., software / firmware updates; connection block events based on the applied network access policy; connection allow events based on the applied network access policy). In some embodiments, the eighth user interface includes event logs (e.g., network-related events) affecting the first group of one or more external devices (e.g., 653A-653B).
[0259] For purposes of explanation, the foregoing description has been given by reference to specific embodiments. However, the illustrative discussion above is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations are possible based on the teachings above. These embodiments were chosen and described in order to best explain the principles of these techniques and their practical applications. Others skilled in the art will thus be able to best utilize these techniques and the various embodiments with various modifications suitable for the particular intended use.
[0260] While this disclosure and examples have been fully described with reference to the accompanying drawings, it should be noted that various changes and modifications will become apparent to those skilled in the art. It should be understood that such changes and modifications are considered to be included within the scope of this disclosure and examples as defined by the claims.
[0261] As described above, one aspect of this technology involves collecting and using data from various sources to improve cybersecurity. This disclosure anticipates that, in some instances, such collected data may include personal information that uniquely identifies or can be used to contact or locate specific individuals. This personal information may include demographic data, location-based data, telephone numbers, email addresses, Twitter IDs, home addresses, data or records relating to a user's health or fitness level (e.g., vital sign measurements, medication information, exercise information), date of birth, or any other identifying or personal information.
[0262] This disclosure recognizes that the use of such personal information data in the techniques of this invention can benefit users. For example, personal information data can be used to improve the security of a local WiFi network. Furthermore, this disclosure also anticipates other uses for personal information data that benefit users. For example, health and fitness data can be used to provide insights into a user's overall health status or as positive feedback for individuals using technology to pursue health goals.
[0263] This disclosure assumes that entities responsible for collecting, analyzing, disclosing, transmitting, storing, or otherwise using such personal information data will comply with established privacy policies and / or privacy practices. Specifically, such entities should implement and adhere to privacy policies and practices that are generally recognized as meeting or exceeding industry or governmental requirements for maintaining the privacy and security of personal information data. Such policies should be easily accessible to users and should be updated as data collection and / or use change. Personal information from users should be collected for the entity's lawful and reasonable purposes and not shared or sold outside of these lawful uses. Furthermore, such collection / sharing should be conducted only after obtaining informed consent from users. In addition, such entities should consider taking any necessary steps to protect and safeguard access to such personal information data and ensure that others with access to such personal information data comply with their privacy policies and processes. Additionally, such entities may be subject to third-party evaluations to demonstrate their compliance with widely accepted privacy policies and practices. Furthermore, policies and practices should be adapted to the specific types of personal information data collected and / or accessed, and to applicable laws and standards, including specific considerations regarding jurisdiction. For example, in the United States, the collection or acquisition of certain health data may be governed by federal and / or state laws, such as the Health Insurance Portability and Accountability Act (HIPAA); while in other countries, health data may be subject to other regulations and policies and should be handled accordingly. Therefore, different privacy practices should be maintained for different types of personal data in each country.
[0264] Regardless of the foregoing, this disclosure also contemplates implementation schemes for users to selectively block the use or access to personal information data. That is, this disclosure contemplates providing hardware and / or software components to prevent or block access to such personal information data. For example, with respect to advertising delivery services, the technology of this invention can be configured to allow users to opt-in or opt-out at any time during or after registration for the service to participate in the collection of personal information data. As another example, users may choose not to provide account information regarding their router hardware and / or their associated accounts. In addition to providing opt-in and opt-out options, this disclosure envisions providing notifications related to access to or use of personal information. For example, users may be notified when downloading an application that their personal information data will be accessed, and then reminded again just before the application accesses the personal information data.
[0265] Furthermore, the purpose of this disclosure is to manage and process personal information data to minimize the risk of unintentional or unauthorized access or use. Once data is no longer needed, this risk can be minimized by limiting data collection and deleting data. Additionally, and where applicable, including in certain health-related applications, data deidentification can be used to protect user privacy. Deidentification can be facilitated, where appropriate, by removing specific identifiers (e.g., date of birth, etc.), controlling the amount or specificity of stored data (e.g., collecting location data at the city level rather than the address level), controlling how data is stored (e.g., aggregating data among users), and / or other methods.
[0266] Therefore, while this disclosure broadly covers the use of personal information data to implement one or more of the various disclosed embodiments, it is also contemplated that various embodiments can be implemented without access to such personal information data. That is, various embodiments of the present invention will not be rendered inoperable due to the absence of all or part of such personal information data. For example, preferences can be inferred based on non-personal information data or an absolute minimum of personal information (such as content requested by a device associated with a user, other non-personal information available to external device management software, or publicly available information), thereby selecting content and delivering it to the user.
Claims
1. A method of applying a network access policy, the method comprising: at an electronic device with a display: applying, with a first router, the network access policy to one or more devices of a local network, wherein the first router is associated with an automation application; displaying, via the display, a user interface including an affordance for associating a second router with the automation application; receiving user input directed to the affordance for associating the second router with the automation application; and in response to receiving the user input: associating the automation application with the second router; and applying, with the second router, the network access policy to the one or more devices.
2. The method of claim 1, further comprising: in response to receiving the user input, removing the first router from the automation application. the user interface includes an indication that the second router is online. the automation application is a smart home management application.
3. The method of any one of claim 1 or claim 2, wherein, the network access policy includes a plurality of security settings for the one or more devices of the local network.
4. The method of any one of claim 1 or claim 2, wherein, applying, with the second router, the network access policy to the one or more devices includes continuing to apply, with the second router, the network access policy that was applied with the first router.
5. The method of any one of claims 1 or 2, wherein, 7. A computer-readable storage medium storing one or more programs configured to be executed by one or more processors of an electronic device with a display, the one or more programs including instructions for performing the method of any of claims 1-6.
6. The method of any one of claims 1 or 2, wherein, 8. An electronic device, comprising: a display; one or more processors; and 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 of any of claims 1-6.
9. A computer program product, comprising one or more programs configured to be executed by one or more processors of an electronic device with a display, the one or more programs including instructions for performing the method of any of claims 1-6.
Citation Information
Patent Citations
Method and apparatus for integrating manual input
US20020015024A1
Acceleration-based theft detection system for portable electronic devices
US20050190059A1
Methods and apparatuses for operating a portable device based on an accelerometer
US20060017692A1
Gestures for touch sensitive input devices
US20060026521A1
Gestures for touch sensitive input devices
US20060026536A1