Device and method to move applicaion using handle portion
Patent Information
- Application Number
- KR1020210105492
- Authority / Receiving Office
- KR · KR
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-08-10
- Publication Date
- 2026-10-13
- Estimated Expiration
- 2041-08-10
Smart Images

Figure 112021092294317-PAT00004_ABST
Abstract
Description
Technology Field
[0001] The following disclosure relates to the movement of an application using a handle portion. Background Technology
[0002] The electronic device can control the application window in response to manipulation of the handle portion. In the application, the difficulty of the user touching the handle portion may vary depending on the visualization size of the handle portion (e.g., size of the graphic representation) and the size of the touchable region. The problem to be solved
[0004] If touching the handle area becomes difficult, failures may occur when the user attempts to move the application window (e.g., a pop-up window).
[0005] Even for the same size and area of the handle portion in a popup view, the failure rate of interaction may vary by user. Additionally, if the size and position of the handle portion are customized for each user, the difficulty of application development may increase because the application developer must design the user interface taking into account the customized position.
[0006] An electronic device according to one embodiment can assist touch assistance for the handle of a pop-up view and assist movement of the window.
[0007] An electronic device according to one embodiment can variably set the visualization size and touchable area of a handle based on the user's experience.
[0008] An electronic device according to one embodiment can solve interaction problems including gesture input in the edge area as well as the handle. means of solving the problem
[0009] An electronic device according to one embodiment includes: a display; a memory in which computer-executable instructions are stored; and a processor that accesses the memory and executes the instructions. The instructions may be configured to monitor user input related to the movement of a window object in areas related to a handle portion of a window object output on the display, and in response to detecting a first input in an input area for the handle portion, determine an input failure regarding the movement of the window object based on a comparison between a second input prior to the first input and the first input, and adjust the input area for the handle portion when the input failures for the window object have accumulated.
[0010] A method implemented by a processor according to one embodiment may include: monitoring user input related to the movement of a window object in areas related to a handle portion of a window object output on a display; determining an input failure regarding the movement of the window object based on a comparison between a second input prior to the first input and the first input in response to detecting a first input in the input area for the handle portion; and adjusting the input area for the handle portion when the input failure has accumulated for the window object. Effects of the invention
[0011] An electronic device according to one embodiment can improve touch accuracy and enhance user experience by setting a touchable area for a handle to match the user's failure experience.
[0012] An electronic device according to one embodiment can reduce the failure rate of moving a popup window using a handle by improving the aforementioned touch accuracy.
[0013] An electronic device according to one embodiment can increase touch accuracy by variably setting the visualization size and touchable area of the handle based on the user's experience.
[0014] An electronic device according to one embodiment can improve the accuracy of gesture input by adjusting the area for gesture input at the edge area of a display screen. Brief explanation of the drawing
[0015] FIG. 1 illustrates a block diagram of an electronic device in a network environment according to various embodiments. FIG. 2 illustrates a hierarchy of electronic devices according to various embodiments. FIG. 3 illustrates the movement of a window object having a handle portion based on user input according to various embodiments. FIG. 4 is a flowchart illustrating the operation method of an electronic device for adjusting an input area following a failure to move a window object according to various embodiments. FIG. 5 illustrates an exemplary configuration of a window object according to various embodiments. FIG. 6 is a flowchart illustrating a method of operation based on user input detected in areas related to the handle portion of a window object according to various embodiments. FIG. 7 illustrates examples of input areas and detectable areas for handle portions according to various embodiments. FIG. 8 is a flowchart illustrating an operation for determining input failure according to various embodiments. FIGS. 9 and 10 are drawings illustrating input failure determination based on detection times according to various embodiments. FIG. 11 is a diagram illustrating input failure determination based on input detection locations according to various embodiments. FIG. 12 is a flowchart illustrating the adjustment operation of an input area according to various embodiments. FIG. 13 is a drawing illustrating the adjustment of an input area according to various embodiments. FIG. 14 is a diagram illustrating a screen hiding operation according to the movement of a window object of an application according to various embodiments. FIG. 15 is a drawing illustrating the minimization operation of a window object according to various embodiments. FIG. 16 is a drawing illustrating the adjustment of a swipe area according to various embodiments. FIG. 17 is a drawing illustrating the adjustment of an area for setting a divider line according to various embodiments. Specific details for implementing the invention
[0016] Hereinafter, embodiments will be described in detail with reference to the attached drawings. In the description with reference to the attached drawings, identical components are given the same reference numeral regardless of the drawing number, and redundant descriptions thereof will be omitted.
[0017] FIG. 1 is a block diagram of an electronic device (101) in a network environment (100) according to various embodiments. Referring to FIG. 1, in the network environment (100), the electronic device (101) may communicate with an electronic device (102) through a first network (198) (e.g., a short-range wireless communication network) or may communicate with at least one of an electronic device (104) or a server (108) through a second network (199) (e.g., a long-range wireless communication network). According to one embodiment, the electronic device (101) may communicate with the electronic device (104) through a server (108). According to one embodiment, the electronic device (101) may include a processor (120), memory (130), input module (150), sound output module (155), display module (160), audio module (170), sensor module (176), interface (177), connection terminal (178), haptic module (179), camera module (180), power management module (188), battery (189), communication module (190), subscriber identification module (196), or antenna module (197). In some embodiments, at least one of these components (e.g., connection terminal (178)) may be omitted from the electronic device (101), or one or more other components may be added. In some embodiments, some of these components (e.g., sensor module (176), camera module (180), or antenna module (197)) may be integrated into a single component (e.g., display module (160)).
[0018] The processor (120) can control at least one other component (e.g., hardware or software component) of the electronic device (101) connected to the processor (120) by executing software (e.g., program (140)), for example, and can perform various data processing or operations. According to one embodiment, as at least part of the data processing or operations, the processor (120) can store commands or data received from other components (e.g., sensor module (176) or communication module (190)) in volatile memory (132), process the commands or data stored in volatile memory (132), and store the resulting data in non-volatile memory (134). According to one embodiment, the processor (120) may include a main processor (121) (e.g., central processing unit or application processor) or an auxiliary processor (123) that can operate independently or together with it (e.g., graphics processing unit, neural processing unit (NPU), image signal processor, sensor hub processor, or communication processor). For example, if the electronic device (101) includes a main processor (121) and an auxiliary processor (123), the auxiliary processor (123) may be configured to use lower power than the main processor (121) or to be specialized for a designated function. The auxiliary processor (123) may be implemented separately from the main processor (121) or as part thereof.
[0019] The auxiliary processor (123) may control at least some of the functions or states associated with at least one component of the electronic device (101) (e.g., display module (160), sensor module (176), or communication module (190)) on behalf of the main processor (121) while the main processor (121) is in an inactive (e.g., sleep) state, or together with the main processor (121) while the main processor (121) is in an active (e.g., application execution) state. According to one embodiment, the auxiliary processor (123) (e.g., image signal processor or communication processor) may be implemented as part of another functionally related component (e.g., camera module (180) or communication module (190)). According to one embodiment, the auxiliary processor (123) (e.g., neural network processing unit) may include a hardware structure specialized for processing an artificial intelligence model. The artificial intelligence model may be generated through machine learning. Such learning may be performed, for example, on the electronic device (101) itself where the artificial intelligence model is executed, or through a separate server (e.g., server (108)). The learning algorithm may include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but is not limited to the examples described above. The artificial intelligence model may include a plurality of artificial neural network layers.An artificial neural network may be a deep neural network (DNN), a convolutional neural network (CNN), a recurrent neural network (RNN), a restricted Boltzmann machine (RBM), a deep belief network (DBN), a bidirectional recurrent deep neural network (BRDNN), a deep Q-network, or a combination of two or more of the above, but is not limited to the examples described above. In addition to the hardware structure, the artificial intelligence model may include a software structure, either additionally or substantially.
[0020] The memory (130) can store various data used by at least one component of the electronic device (101) (e.g., processor (120) or sensor module (176)). The data may include, for example, input data or output data for software (e.g., program (140)) and related commands. The memory (130) may include volatile memory (132) or non-volatile memory (134).
[0021] The program (140) may be stored as software in memory (130) and may include, for example, an operating system (142), middleware (144), or an application (146).
[0022] The input module (150) can receive commands or data to be used for a component of the electronic device (101) (e.g., processor (120)) from outside the electronic device (101) (e.g., user). The input module (150) may include, for example, a microphone, a mouse, a keyboard, a key (e.g., a button), or a digital pen (e.g., a stylus pen).
[0023] The sound output module (155) can output a sound signal to the outside of the electronic device (101). The sound output module (155) may include, for example, a speaker or a receiver. The speaker may be used for general purposes, such as multimedia playback or recording playback. The receiver may be used to receive incoming calls. According to one embodiment, the receiver may be implemented separately from the speaker or as part thereof.
[0024] The display module (160) can visually provide information to the outside of the electronic device (101) (e.g., a user). The display module (160) may include, for example, a display, a holographic device, or a projector and a control circuit for controlling said device. According to one embodiment, the display module (160) may include a touch sensor configured to detect a touch, or a pressure sensor configured to measure the intensity of the force generated by said touch. The display module (160) may be implemented as an exemplary foldable structure and / or a rollable structure. For example, the size of the display screen of the display module (160) may be reduced when folded and expanded when unfolded.
[0025] The audio module (170) can convert sound into an electrical signal or, conversely, convert an electrical signal into sound. According to one embodiment, the audio module (170) can acquire sound through the input module (150) or output sound through the sound output module (155) or an external electronic device (e.g., electronic device (102)) (e.g., speaker or headphones) connected directly or wirelessly to the electronic device (101).
[0026] The sensor module (176) can detect the operating state of the electronic device (101) (e.g., power or temperature) or the external environmental state (e.g., user state) and generate an electrical signal or data value corresponding to the detected state. According to one embodiment, the sensor module (176) may include, for example, a gesture sensor, a gyroscope sensor, a barometric pressure sensor, a magnetic sensor, an accelerometer sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biosensor, a temperature sensor, a humidity sensor, or an illuminance sensor.
[0027] The interface (177) may support one or more specified protocols that can be used for the electronic device (101) to be connected directly or wirelessly to an external electronic device (e.g., electronic device (102)). According to one embodiment, the interface (177) may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.
[0028] The connection terminal (178) may include a connector through which the electronic device (101) can be physically connected to an external electronic device (e.g., electronic device (102)). According to one embodiment, the connection terminal (178) may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphone connector).
[0029] The haptic module (179) can convert an electrical signal into a mechanical stimulus (e.g., vibration or movement) or an electrical stimulus that the user can perceive through tactile or kinesthetic senses. According to one embodiment, the haptic module (179) may include, for example, a motor, a piezoelectric element, or an electric stimulation device.
[0030] The camera module (180) can capture still images and video. According to one embodiment, the camera module (180) may include one or more lenses, image sensors, image signal processors, or flashes.
[0031] The power management module (188) can manage the power supplied to the electronic device (101). According to one embodiment, the power management module (188) can be implemented, for example, as at least part of a power management integrated circuit (PMIC).
[0032] The battery (189) can supply power to at least one component of the electronic device (101). According to one embodiment, the battery (189) may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.
[0033] The communication module (190) can support the establishment of a direct (e.g., wired) communication channel or a wireless communication channel between an electronic device (101) and an external electronic device (e.g., electronic device (102), electronic device (104), or server (108)), and the performance of communication through the established communication channel. The communication module (190) may include one or more communication processors that operate independently of the processor (120) (e.g., application processor) and support direct (e.g., wired) communication or wireless communication. According to one embodiment, the communication module (190) may include a wireless communication module (192) (e.g., cellular communication module, short-range wireless communication module, or GNSS (global navigation satellite system) communication module) or a wired communication module (194) (e.g., LAN (local area network) communication module, or power line communication module). The corresponding communication module among these communication modules can communicate with an external electronic device (104) through a first network (198) (e.g., a short-range communication network such as Bluetooth, WiFi (wireless fidelity) direct, or IrDA (infrared data association)) or a second network (199) (e.g., a legacy cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., a LAN or WAN)). These various types of communication modules may be integrated into a single component (e.g., a single chip) or implemented as multiple separate components (e.g., multiple chips). The wireless communication module (192) can identify or authenticate the electronic device (101) within a communication network such as the first network (198) or the second network (199) using subscriber information (e.g., International Mobile Subscriber Identifier (IMSI)) stored in the subscriber identification module (196).
[0034] The wireless communication module (192) can support 5G networks and next-generation communication technologies following 4G networks, for example, new radio access technology. NR access technology can support high-speed transmission of high-capacity data (enhanced mobile broadband (eMBB)), minimization of terminal power and connection of multiple terminals (massive machine type communications (mMTC)), or high reliability and low latency (ultra-reliable and low-latency communications (URLLC)). The wireless communication module (192) can support a high-frequency band (e.g., mmWave band) to achieve a high data transmission rate, for example. The wireless communication module (192) can support various technologies for securing performance in the high-frequency band, such as beamforming, massive MIMO (multiple-input and multiple-output), full-dimensional MIMO (FD-MIMO), array antenna, analog beam-forming, or large-scale antenna. The wireless communication module (192) can support various requirements specified in the electronic device (101), external electronic device (e.g., electronic device (104)), or network system (e.g., second network (199)). According to one embodiment, the wireless communication module (192) can support a Peak data rate (e.g., 20 Gbps or more) for realizing eMBB, loss coverage (e.g., 164 dB or less) for realizing mMTC, or U-plane latency (e.g., downlink (DL) and uplink (UL) each 0.5 ms or less, or round trip 1 ms or less) for realizing URLLC.
[0035] An antenna module (197) can transmit a signal or power to or from an external source (e.g., an external electronic device). According to one embodiment, the antenna module (197) may include an antenna comprising a radiator made of a conductor or a conductive pattern formed on a substrate (e.g., a PCB). According to one embodiment, the antenna module (197) may include a plurality of antennas (e.g., an array antenna). In this case, at least one antenna suitable for a communication method used in a communication network, such as a first network (198) or a second network (199), may be selected from the plurality of antennas, for example, by a communication module (190). A signal or power may be transmitted or received between the communication module (190) and an external electronic device through the selected at least one antenna. According to some embodiments, in addition to the radiator, other components (e.g., a radio frequency integrated circuit (RFIC)) may be additionally formed as part of the antenna module (197).
[0036] According to various embodiments, the antenna module (197) may form a mmWave antenna module. According to one embodiment, the mmWave antenna module may include a printed circuit board, an RFIC disposed on or adjacent to a first surface (e.g., bottom surface) of the printed circuit board and capable of supporting a specified high frequency band (e.g., mmWave band), and a plurality of antennas (e.g., array antennas) disposed on or adjacent to a second surface (e.g., top surface or side surface) of the printed circuit board and capable of transmitting or receiving a signal of the specified high frequency band.
[0037] At least some of the above components can be connected to each other via a communication method between peripheral devices (e.g., bus, GPIO (general purpose input and output), SPI (serial peripheral interface), or MIPI (mobile industry processor interface)) and exchange signals (e.g., commands or data) with each other.
[0038] According to one embodiment, commands or data may be transmitted or received between the electronic device (101) and an external electronic device (104) through a server (108) connected to a second network (199). Each of the external electronic devices (102, or 104) may be the same or different type of device as the electronic device (101). According to one embodiment, all or part of the operations performed on the electronic device (101) may be performed on one or more of the external electronic devices (102, 104, or 108). For example, if the electronic device (101) needs to perform a function or service automatically or in response to a request from a user or another device, the electronic device (101) may request one or more external electronic devices to perform at least part of the function or service instead of performing the function or service itself or additionally. One or more external electronic devices that receive the above request may execute at least part of the requested function or service, or additional function or service related to the request, and transmit the result of the execution to the electronic device (101). The electronic device (101) may provide the result as is or additionally processed as at least part of the response to the request. For this purpose, for example, cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing technology may be used. The electronic device (101) may provide ultra-low latency services using, for example, distributed computing or mobile edge computing. In another embodiment, the external electronic device (104) may include an Internet of Things (IoT) device. The server (108) may be an intelligent server using machine learning and / or neural networks. According to one embodiment, the external electronic device (104) or the server (108) may be included within a second network (199).The electronic device (101) can be applied to intelligent services (e.g., smart home, smart city, smart car, or healthcare) based on 5G communication technology and IoT-related technology.
[0039] The electronic device according to the various embodiments disclosed in this document may be a device of various forms. The electronic device may include, for example, a portable communication device (e.g., a smartphone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a consumer electronics device. The electronic device according to the embodiments of this document is not limited to the devices described above.
[0040] The various embodiments of this document and the terms used therein are not intended to limit the technical features described in this document to specific embodiments, and should be understood to include various modifications, equivalents, or substitutions of said embodiments. In connection with the description of the drawings, similar reference numerals may be used for similar or related components. The singular form of a noun corresponding to an item may include one or more of said items unless the relevant context clearly indicates otherwise. In this document, each of phrases such as "A or B," "at least one of A and B," "at least one of A or B," "A, B or C," "at least one of A, B and C," and "at least one of A, B, or C" may include any one of the items listed together in the corresponding phrase, or all possible combinations thereof. Terms such as “first,” “second,” or “first” or “second” may be used simply to distinguish a component from another component and do not limit the components in any other aspect (e.g., importance or order). Where any (e.g., first) component is referred to as “coupled” or “connected” to another (e.g., second) component, with or without the terms “functionally” or “communicationally,” it means that said component may be connected to said other component directly (e.g., wired), wirelessly, or through a third component.
[0041] The term “module” as used in the various embodiments of this document may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic block, component, or circuit, for example. A module may be a component formed integrally, or a minimum unit of said component or a part thereof that performs one or more functions. For example, according to one embodiment, a module may be implemented in the form of an application-specific integrated circuit (ASIC).
[0042] Various embodiments of the present document may be implemented as software (e.g., program (140)) comprising one or more instructions stored in a storage medium (e.g., internal memory (136) or external memory (138)) readable by a machine (e.g., electronic device (101)). For example, a processor (e.g., processor (120)) of the machine (e.g., electronic device (101)) may call at least one of the one or more instructions stored in the storage medium and execute it. This enables the machine to be operated to perform at least one function according to the at least one called instruction. The one or more instructions may include code generated by a compiler or code that can be executed by an interpreter. The storage medium readable by the machine may be provided in the form of a non-transitory storage medium. Here, 'non-temporary' simply means that the storage medium is a tangible device and does not contain a signal (e.g., electromagnetic waves), and the term does not distinguish between cases where data is stored semi-permanently and cases where it is stored temporarily.
[0043] According to one embodiment, the method according to the various embodiments disclosed herein may be provided by being included in a computer program product. The computer program product may be traded between a seller and a buyer as a product. The computer program product may be distributed in the form of a device-readable storage medium (e.g., compact disc read-only memory (CD-ROM)) or an application store (e.g., Play Store). TM It can be distributed online (e.g., downloaded or uploaded) through ) or directly between two user devices (e.g., smartphones). In the case of online distribution, at least a portion of the computer program product may be temporarily stored or temporarily created on a device-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or a relay server.
[0044] According to various embodiments, each component (e.g., module or program) of the components described above may include a singular or multiple entities, and some of the multiple entities may be separated and placed in other components. According to various embodiments, one or more of the components or operations among the aforementioned components may be omitted, or one or more other components or operations may be added. Generally or additionally, multiple components (e.g., module or program) may be integrated into a single component. In this case, the integrated component may perform one or more functions of each of the multiple components in the same or similar manner as those performed by the corresponding component among the multiple components prior to integration. According to various embodiments, operations performed by the module, program, or other components may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, omitted, or one or more other operations may be added.
[0045] FIG. 2 illustrates a hierarchy of electronic devices according to various embodiments.
[0046] An electronic device (200) based on various embodiments (e.g., the electronic device (101) of FIG. 1) may include an application layer (210), a framework layer (220), a hardware abstraction layer (230), a kernel layer (240), and a hardware layer (250). However, the illustrated structure is a partial embodiment, and at least some of the illustrated configurations may be changed depending on the platform in which the electronic device (200) is included.
[0047] The application layer (210) may include at least one application and a system UI (user interface). The application may draw at least one layer based on the resolution of the display screen of the display. The application may draw at least one layer based on the resolution of the display area of the display using a drawing library (e.g., a view). According to one embodiment, the application may not be limited in type, such as a phone application, an internet browser, a video application, or a game application. The system UI may refer to an application that constitutes various graphical user interface (GUI) screens implemented on the system of an electronic device, such as a notification bar or a quick view.
[0048] The framework layer (220) may include a window manager, a view system, an activity manager, and a sensor manager. The framework layer (220) may provide various functions to an application so that functions or information provided from one or more resources of the electronic device can be used by the application. The window manager may manage one or more GUI resources used on the screen of the electronic device. For example, when a change in the state of the electronic device (200) (e.g., screen expansion by unfolding or screen reduction by folding) is identified through the sensor module, the window manager may transmit information of the display screen corresponding to the changed state of the electronic device (200) to the application. For example, when a change in the state of the electronic device (200) is identified, the window manager may transmit information of the display screen corresponding to the changed state of the electronic device (200) to an application that has established continuity among the running applications. The view system may be a program that draws at least one layer based on the resolution of the display screen of the display module. The application of the aforementioned application layer (210) can output (e.g., draw) a view (e.g., a view representing a window object corresponding to the application) based on the resolution of the display screen of the display module using a view system. A sensor manager can represent a software module that controls the application of a sensor. An activity manager can manage the lifecycle and activity stack of the application. An activity manager can monitor the activities of the application.
[0049] The hardware abstraction layer (230) (hardware abstraction layer, HAL) may represent an abstracted layer between a plurality of hardware modules included in the hardware layer (250) and the software of the electronic device (200). The hardware abstraction instrument may include an event hub and a surface flinger. The event hub may represent an interface module that standardizes events occurring in touch modules and sensor modules. The surface flinger may synthesize a plurality of layers. In one embodiment, the surface flinger may provide data representing a plurality of synthesized layers to a display controller.
[0050] The kernel layer (240) may include various drivers for controlling various hardware modules included in the electronic device (200). The kernel layer may include a sensor driver and a display driver IC (integrated circuit) controller (DDI controller). The sensor driver may include an interface module that controls a sensor controller connected to a sensor. The display driver IC controller may control a display driver circuit (DD) of a display panel. The display controller (DDI controller) may be implemented in hardware or in software.
[0051] The hardware layer (250) may include a sensor controller and a display panel. The sensor controller can identify a change in the state of the electronic device (200) based on the sensor module. The display panel can provide the aforementioned display screen.
[0052] According to various embodiments, the application layer (210) may include a multi-window handle (MW handle) module (290). The MW handle module (290) may be located in the application layer (210). Additionally, the MW handle module (290) may process input related to the handle portion of a window object corresponding to the application and perform a corresponding operation. The handle portion may represent a portion defined for controlling the window object. Below, the adjustment of an input area (e.g., a touchable area) related to the movement of the window object based on user input related to the handle portion is described.
[0053] FIG. 3 illustrates the movement of a window object having a handle portion based on user input according to various embodiments.
[0054] An electronic device (300) according to one embodiment (e.g., the electronic device (101) of FIG. 1) can output an application to a display screen. When the application is executed as a popup view, the electronic device (300) can output a window object (310) corresponding to the application to the display screen. The electronic device (300) can display a handle portion (311) on a part of the window object (310). The electronic device (300) can receive user input (391) from a user (390).
[0055] The electronic device (300) may select a window object (310) when it detects user input (391) for the handle portion (311). While the window object (310) is selected, the electronic device (300) may move the window object (310) within the display screen of the display along the movement trajectory (395) of the user input (391). The movement trajectory (395) may, for example, be a set of points pointed by the user input (391) until the user input (391) is formed and released. For example, the electronic device (300) may detect a touch input for the handle portion (311). The electronic device (300) may select the window object (310) when it detects a touch formation in an area related to the handle portion (311) (e.g., an input area described below). The electronic device (300) may move the window object (310) according to the movement of the touch point. The electronic device (300) can stop moving the window object (310) when the touch is released.
[0056] However, although the present specification primarily describes an example in which the electronic device includes a touch sensor and a pressure sensor, and the user input (391) is primarily a touch input through a display module, it is not limited thereto. The user input (391) may be input by a pointing device (e.g., a mouse and a pen) separated from the display module. For example, in an electronic device (300) that receives input by a mouse, the formation of the user input (391) may be a mouse click, and the release of the user input (391) may be a click release. In another example, in an electronic device (300) that receives input by a stylus pen, the formation of the user input (391) may be a touch using a stylus pen, and the release of the user input (391) may be a touch release using a stylus pen. The movement trajectory (395) may be the path along which the pointer (e.g., a mouse cursor) moved while being clicked.
[0057] As illustrated in FIG. 3, the area occupied by the handle portion (311) in the window object (310) may be relatively small compared to the total display area of the window object (310). Due to the small area of the handle portion (311), failure of user input (391) for the handle portion (311) may occur. An electronic device (300) according to one embodiment may collect a failure history of user input (391) related to the handle portion (311). For example, the electronic device (300) may determine whether an input is a failed input based on the detection times and / or detection locations of the inputs related to the handle portion (311). Based on the failure history, the electronic device (300) may dynamically adjust at least one of the input area for the handle portion (311) and / or the location and area of the graphic representation indicating the handle portion (311).
[0058] FIG. 4 is a flowchart illustrating the operation method of an electronic device for adjusting an input area following a failure to move a window object according to various embodiments.
[0059] In operation (410), an electronic device (e.g., the electronic device (101) of FIG. 1) can monitor user input related to the movement of a window object in areas associated with a handle portion of the window object corresponding to an application output on a display. The areas associated with the handle portion may include an input area and a detectable area. The input area may represent an area designated to receive input for the control of the window object (e.g., movement, screen switching, and minimization of the window object). The detectable area may represent an area designated to detect attempts to move the window object. The electronic device can distinguish between user input detected in the input area and user input detected in the detectable area. The input area and the detectable area are described in FIG. 7 below.
[0060] In operation (420), the electronic device may determine an input failure regarding the movement of a window object based on a comparison between the first input and a second input prior to the first input, in response to the detection of a first input in an input area for the handle portion. An electronic device according to one embodiment may compare the first input and the second input using the detection time points and detection locations of user inputs. For example, the first input may represent an input detected in an input area, and the second input may represent an input detected in a detectable area. If the electronic device determines that the second input for the handle portion of the application is a failed input, it may update the input failure history of the application. An input failure may represent a failure of control (e.g., movement) of the window object through the handle portion intended by the user in the user input. The determination of an input failure is described in FIGS. 8 to 11 below. In one embodiment, if no input failures have accumulated for the window object, the electronic device may increase the failure count of the input failure for the window object and perform operation (440).
[0061] In operation (430), the electronic device may adjust the input area for the handle portion when input failures accumulate for the window object. According to one embodiment, the electronic device may sequentially increase the input area whenever the accumulated failure count for each input failure for the application exceeds a threshold count. For example, the electronic device may also change the graphic representation indicating the handle portion in response to the change in the input area. The electronic device may also output the handle portion as a graphic representation having an area corresponding to the changed input area. Dynamic changes to the input area are described in FIGS. 12 and 13 below.
[0062] For reference, the electronic device may reduce the input area for the handle portion based on the accumulation of successful inputs for the handle portion. The electronic device may gradually reduce the input area whenever the success count of the input exceeds a success threshold. The input area may be reduced to a default area. The default area is described in Fig. 13 below.
[0063] In operation (440), the electronic device can move a window object based on a first input. The electronic device can move the window object according to the first input independently of the accumulation of input failures for the application. For example, when the electronic device receives a touch input as the first input in an input area for a handle portion, it can move the window object along a path from the point where the touch input is formed to the point where the touch is released. The electronic device can move the window object according to the first input in an input area that has been changed according to the accumulation of input failures for the application. For example, the electronic device can increase the input area whenever the failure count accumulated for each input failure for the application exceeds a threshold count, and move the window object according to the first input in the increased input area.
[0064] FIG. 5 illustrates an exemplary configuration of a window object according to various embodiments.
[0065] An electronic device according to one embodiment (e.g., the electronic device (101) of FIG. 1) may, for example, output a window object (500) corresponding to a pop-up view of an application on a display screen. For example, the electronic device may output a handle portion (540) from a window object (500) corresponding to an application in response to the execution of an application. As described above, the handle portion (540) may represent a portion defined for the control (e.g., movement) of the window object (500). The electronic device may control the pop-up view state of an application in response to user input associated with the handle portion (540). The pop-up view state is a state in which the electronic device provides the application as a multi-window (MW), and one or more applications that have been switched to the pop-up view state may be output as a window object (500) on a display screen of the electronic device's display.
[0066] For example, a window object (500) may include a background (510), an application screen (520), a view frame (530), and a handle portion (540).
[0067] The background (510) can be placed on a layer below the application screen (520). The background (510) can fill the parts where the application screen (520) is not displayed within the area defined by the view frame (530). In other words, the background (510) can prevent the blank parts where the application screen (520) is not displayed within the view frame (530) from appearing open.
[0068] The application screen (520) can represent the screen of an application that supports a pop-up view, which is drawn on the display screen of the display.
[0069] The view frame (530) can be placed on a layer above the application screen (520). As shown in FIG. 5, the corners of the view frame (530) may be rounded, but are not limited thereto.
[0070] The handle portion (540) may be overlaid and displayed on top of the aforementioned background (510), application screen (520), and view frame (530). For example, the electronic device may display the handle portion (540) at a specified default size and default position in a window object (500) corresponding to the application that has been switched to a popup view. As described above, the electronic device may control the popup view state of the application in response to detecting input in the area associated with the handle portion (540). For example, if the electronic device detects movement of the formed touch point after a touch is formed in the area associated with the handle portion (540), it may move the window object (500) of the application together with the handle portion (540). As another example, the electronic device may switch the window object (500) of the application to either a split view or a full-screen view in response to detecting a screen switching input in the area associated with the handle portion (540). As another example, the electronic device can adjust the transparency of the window object (500) of the application displayed in a pop-up view state in response to an input related to transparency at the handle portion (540). The electronic device can release the split view of the window object (500) in response to detecting a switching input to full screen while the window object (500) is being displayed in a split view. As another example, the electronic device can minimize the window object (500) of the application in response to detecting a screen minimization input for the application in a pop-up view state. The electronic device can stop the output of the window of the application and display an icon object corresponding to the application on the screen in response to detecting a minimization input for the application in a pop-up view state.
[0071] FIG. 6 is a flowchart illustrating a method of operation based on user input detected in areas related to the handle portion of a window object according to various embodiments. FIG. 7 illustrates examples of input areas and detectable areas for the handle portion according to various embodiments.
[0072] In operation (611), the electronic device (700) (e.g., the electronic device (101) of FIG. 1) can detect user input (790) in an area associated with the handle portion (710) (e.g., an input area (720) and a detectable area (750)). The electronic device can detect user input (790) in the handle portion (710) and in a surrounding area including the handle portion (710). As illustrated in FIG. 7, the areas associated with the handle portion (710) may include an input area (720) and a detectable area (750). The input area (720) may be designated as an area larger than the graphic representation corresponding to the handle portion (710) and the handle portion (710). The detectable area (750) may be designated as an area outside the input area (720).
[0073] In operation (612), the electronic device (700) can determine whether user input (790) is detected in the input area (720). User input (790) detected in the input area (720) can be indicated as the first input. The electronic device (700) can determine that user input (790) detected in the input area (720) is the first input if it is maintained for a minimum time or longer. The minimum time may represent a time specified as a criterion for determining whether the user input (790) is intended to move the window object. To move the window object, the user can maintain the user input (790) for the input area (720) for the handle portion (710) for a minimum time or longer.
[0074] In operation (613), the electronic device (700) can determine whether the window object is moving based on the first input detected in the aforementioned operation (612). The electronic device (700) can track the movement of the point pointed to by the first input. If the first input moves, the electronic device (700) can determine whether the input failed in operation (420). Additionally, if the first input moves, the electronic device (700) can move the window object in operation (440) in correspondence with the trajectory of the first input's movement.
[0075] In operation (614), the electronic device (700) can determine whether the user input (790) is detected in the detectable area (750). If the user input (790) is detected outside the detectable area (750), the electronic device (700) can determine that the user input (790) is an input unrelated to the handle portion (710).
[0076] In operation (615), the electronic device (700) may record the user input (790) as a second input if the user input (790) is detected in the detectable area (750). The second input may be a potential failure candidate input that may have attempted to control (e.g., move) the window object but failed. For reference, the electronic device may delete the record of the second input after the retention period has elapsed following the detection of the second input. As illustrated in FIG. 6, the electronic device (700) may continue monitoring the user input (790) in the input area (720) for the handle portion (710) of the window object until the first input is detected in the input area (720) of the handle portion (710).
[0077] In operation (616), if there is no movement of the window object even when the first input is detected, the electronic device (700) may present menu items related to the handle portion (710). For example, even if the electronic device (700) detects the first input for a minimum amount of time in the input area (720) for the handle portion (710), the first input may be released without movement of the window object. When the first input is released without movement of the window object, the electronic device (700) may output operation items for screen switching, transparency adjustment, and minimization as described in FIG. 5.
[0078] FIG. 8 is a flowchart illustrating an operation for determining input failure according to various embodiments.
[0079] In operation (821), the electronic device (e.g., the electronic device (101) of FIG. 1) can determine whether there is a previously recorded second input. For example, the electronic device can determine whether the second input was recorded in operation (615) described above in FIG. 6. The electronic device can check whether there is a history of the second input for which the retention period has not elapsed from the current point in time. If the second input does not exist or the second input has been deleted because the retention period has elapsed, the electronic device can move the window object based on the first input according to operation (440).
[0080] In operation (822), the electronic device can determine an input failure based on the detection times and locations of user inputs. For example, the electronic device can determine whether an input failure has occurred in the application based on a comparison between the detection time of the first input and the detection time of the second input. Determining an input failure using the detection time is described in FIGS. 9 and 10 below. As another example, the electronic device can determine whether an input failure has occurred in the application based on a comparison between the detection location of the first input and the detection location of the second input. Determining an input failure based on the detection location of the user input is described in FIG. 11 below.
[0081] For reference, when determining whether an input to an application has failed, the electronic device may exclude past attempts to move the application (e.g., history prior to the occurrence of the second input). The electronic device may consider the failure of the immediately preceding input (e.g., the second input) within a time interval determined based on the current detection point from the currently detected user input (e.g., the first input). The electronic device may exclude failure history prior to that from the determination of input failure.
[0082] An electronic device according to one embodiment can collect and manage user input failure history for a handle portion on an application-by-application basis. In other words, among a plurality of applications, the input failure history in a first application and the input failure history in a second application can be managed and updated individually and independently. The electronic device can dynamically adjust the graphic representation of the handle portion and / or the size of the input area based on the user input failure history for each application.
[0083] An electronic device according to one embodiment can quantify input failure experiences and, based on the quantified input failure experiences, automatically provide a customized operable area (e.g., an input area for a handle portion) to the user. The input area for the handle portion can be adjusted to a size that maximizes user operability through the aforementioned information collection. However, while this specification primarily describes the adjustment of the input area for the handle portion of a window object, it is not limited thereto and may also be applied to the adjustment of the area for a side swipe described in FIG. 16 below.
[0084] FIGS. 9 and FIGS. 10 are drawings illustrating the determination of input failure based on detection times according to various embodiments. An electronic device according to one embodiment (e.g., the electronic device (101) of FIG. 1) may determine whether an input failure has occurred for a window object based on a comparison between the detection time of a second input (920) and the detection time of the first input (910) in response to the window object initiating movement by the first input (910). For example, the electronic device may determine the second input (920) as a failed input in response to the case where the time difference between the detection time of the second input (920) and the detection time of the first input (910) is less than a threshold time. The electronic device may check whether there is a second input (920) recorded within the threshold time from the detection time of the first input (910). The electronic device may determine that an input failure has occurred for the application if the first input (910) is detected within a threshold time (e.g., the second threshold time described below) from the detection time of the second input (920) (e.g., the movement start time (922) described below). Since user inputs to the window object of the same application have occurred consecutively during the threshold time, it may be interpreted that the user intended to move the window object in the previous input.
[0085] In addition, the electronic device can divide the aforementioned critical time into two stages to first determine it as a failure candidate and secondarily confirm the input failure.
[0086] For example, the electronic device may set the window object as a potential failure candidate if the time difference between the detection times (e.g., the input occurrence time (921) of the second input (920) (e.g., ACTION_DOWN) and the movement start time (922) of the second input (920) (e.g., ACTION_MOVE)) is less than the first threshold time (FAIL_DETECTION_TIMEOUT_DURATION) (e.g., 300ms). The movement start time (922) may indicate the time when the touch point formed within the detectable area at the input occurrence time (921) begins to move. The movement of the touch point may be interpreted as a movement attempt to move the window object. For reference, the second input (920) may be an input in which the touch point formed in the detectable area moves toward the input area (e.g., touchable area) or moves into the input area. For example, the electronic device can record the second input (920) detected at the time of input occurrence (921) as described in the operation (615) of FIG. 6.
[0087] As described above, after setting the second input (920) as a potential failure candidate, the electronic device can compare the detection times between the second input (920) and the first input (910) when detecting the first input (910) at the detection time (911). For example, the electronic device can determine that an input failure has occurred in the window object in response to the window object starting to move (startDrag) by the first input (910) within a second threshold time (FAIL_CONFIRM_TIMEOUT_DURATION) (e.g., 1000ms) from the movement start time (922) of the detection time of the second input (920). In other words, the electronic device can determine whether a previously determined potential failure candidate has failed by comparing the detection time of the second input (920) (e.g., the start time of movement (922)), the detection time of the first input (910) (911), and the second threshold time (FAIL_CONFIRM_TIMEOUT_DURATION). The electronic device may ignore failures that occurred in the distant past based on the detection time (911) of the first input (910) that occurred later, and count failures that occurred within the threshold times as input failures.
[0088] FIG. 10 is a diagram illustrating a function call for the operation described in FIG. 9. In FIG. 10, TaskTapPointerEventListener can receive a touch event. TaskPositioner can move the position of a window object corresponding to the application. ElasticHandleDetector can determine whether the movement input of the window object has failed, record the number of failures, and determine the size of the input area. The electronic device can detect the second input (920) at a detection point (e.g., the movement start point (922)) in operation (1020). Subsequently, the electronic device can compare the detection points (922, 911) between the second input (920) and the first input (910) in operation (1010). For example, the electronic device can start monitoring the movement of the window object by the first input (910) from the detection point (911) of the first input (910) in operation (1012).
[0089] The electronic device can increase the fail count for the application through the aforementioned operations. Figure 11 below illustrates input failure determination based on the input detection locations.
[0090] FIG. 11 is a diagram illustrating input failure determination based on input detection locations according to various embodiments.
[0091] An electronic device (1100) according to one embodiment can determine whether an input failure has occurred for a handle portion (1110) of a window object based on detection locations of a first input (1191) and a second input (1192). As illustrated in FIG. 11, the areas related to the handle portion (1110) may include an input area (1120) and a detectable area (1150) for the handle portion (1110).
[0092] For example, the electronic device (1100) may determine that an input failure regarding the movement of a window object has occurred if the first input (1191) is detected in the input area (1120) and the second input (1192) is detected in the detectable area (1150) outside the input area (1120). Since the first input (1191) occurs in the input area (1120) closer to the handle portion (1110) after the second input (1192) occurs in the detectable area (1150) further away from the handle portion (1110), the electronic device (1100) may determine the previous second input (1192) as a failure regarding the movement of a window object.
[0093] Additionally, in FIGS. 9 and 10, the electronic device (1100) can determine a movement intention to move a user's window object based on whether the area where the first input (e.g., subsequent touch) occurs is more adjacent to the area of the handle portion (1110) than the area where the second input (e.g., preceding touch) occurs, together with the aforementioned threshold times. According to one embodiment, the electronic device (1100) can determine that an input failure for moving the window object has occurred if the second input (1192) is detected in the detectable area (1150) and the first input (1191) is detected in the input area (1120) before the threshold time elapses. In other words, the electronic device (1100) can count the second input (1192) that precedes the first input (1191) within the threshold time as a movement failure. For example, the electronic device (1100) may set the application as a fail candidate if a second input (1192) that occurred prior to the detection time of the first input (1191) in the application is recorded within a threshold time. The electronic device (1100) may determine that an input failure has occurred in the application set as a fail candidate if the movement of a window object in the input area (1120) begins within a second threshold time from the detection time of the first input (1191).
[0094] The electronic device (1100) can control the movement of the window object based on the first input (1191) as described above.
[0095] FIG. 12 is a flowchart illustrating the adjustment operation of an input area according to various embodiments. FIG. 13 is a diagram illustrating the adjustment of an input area according to various embodiments.
[0096] In operation (1231), the electronic device (1300) (e.g., the electronic device (101) of FIG. 1) can determine whether input failures have accumulated sufficiently. In one embodiment, the electronic device (1300) can accumulate input failures by increasing the failure count recorded for the window object in response to the determination that an input failure has occurred regarding the movement of the window object in FIG. 8. For example, the electronic device (1300) can add one failure count whenever an input failure for the window object is confirmed. The electronic device (1300) can determine whether the accumulated failure count has exceeded a threshold count (e.g., 4 times).
[0097] In operation (1232), the electronic device (1300) can determine whether the input area (1320) set for the current handle portion (1310) has been extended to the maximum area when the failure count exceeds the threshold count.
[0098] In operation (1233), the electronic device (1300) may increase the input area (1320) by adding a reserve area corresponding to the threshold count to the basic area (1321) for the handle portion (1310) in response to the failure count being updated according to the accumulation of input failures exceeding the threshold count. The electronic device (1300) may increase the input area (1320) and reset the failure count. The electronic device (1300) may accumulate the failure count again after reset. Thus, the electronic device (1300) may increase the input area (1320) stepwise whenever the accumulation exceeding the threshold of the failure count is repeated until the input area (1320) becomes the maximum area. FIG. 13 illustrates an example in which the input area (1320) of the handle portion (1310) includes a basic area (1321) and an added area (1322). The electronic device (1300) can increase the input area (1320) by extending the added area (1322) up to the reserve area boundary (1330) when the failure count exceeds a threshold. Although only one reserve area boundary (1330) is shown in FIG. 13, it is not limited thereto, and multiple reserve area boundaries may be set between the basic area (1321) and the maximum extension boundary line (1339). As described above, whenever the accumulation of the failure count is repeated, the electronic device (1300) can sequentially add the added area (1322) to the basic area (1321) from the inner boundary to the outer boundary.
[0099] As illustrated in FIG. 13, the input area (1320) (e.g., touchable area) may include a base area (1321) and an added area (1322). The base area (1321) may include an area occupied by a graphic representation indicating a handle portion (1310) and an area surrounding the graphic representation. The added area (1322) may be a portion of the area outside the boundary of the base area (1321) as an area added for the operation of the handle portion (1310) based on the aforementioned failure count. The added area (1322) may be extended stepwise (e.g., in 5 steps) by the number of reserve area boundaries up to the maximum extension boundary line (1339). The maximum area may represent the area defined by the maximum extension boundary line (1339). The detectable area (1350) may be a portion of the area outside the boundary of the aforementioned touchable area. The maximum extension boundary line (1339) can be located within the detectable area (1350).
[0100] In operation (1234), the electronic device (1300) can maintain the input area (1320) for the handle portion (1310) when failures have not accumulated sufficiently or when the input area (1320) has been extended to the maximum area.
[0101] For reference, the electronic device (1300) may reduce the area of the input area (1320) for the handle area if the failure experience is reduced. For example, if the movement of a window object by user input to the adjusted input area (1320) continues to be successful, the electronic device (1300) may gradually reduce the input area (1320) to the basic area (1321) in proportion to the success count.
[0102] However, it is not limited to the foregoing, and multiple thresholds may be set for the failure count. The electronic device (1300) may set reserve areas corresponding to the multiple thresholds. The first reserve area to the m-th reserve area may be individually designated from the first threshold to the m-th threshold. Here, m is an integer greater than or equal to 2. The i-th reserve area may be larger than the i-1-th reserve area and may include the i-1-th reserve area. Here, i may be an integer greater than or equal to 2 and less than or equal to m. The electronic device (1300) may have multiple reserve areas, ranging from an initial additional area to a maximum additional area. In this example, the electronic device (1300) may continue to accumulate the failure count for the corresponding application without resetting the failure count even if the failure count exceeds one of the multiple thresholds.
[0103] For example, the electronic device (1300) can set a touchable area for the handle portion (1310) by adding a reserve area corresponding to the threshold to the basic area (1321) in response to when the failure count exceeds one of the multiple thresholds. The electronic device (1300) can set a touchable area for the handle portion (1310) including the i-1 reserve area and the basic area (1321) up to a failure count greater than or equal to the i-1 threshold and less than the i-1 threshold. The electronic device (1300) can set a touchable area for the handle portion (1310) by adding a i-1 reserve area to the basic area (1321) to replace the i-1 reserve area in response to when the failure count is greater than or equal to the i-1 threshold, that is, when the failure count reaches the i-1 threshold. Thus, the electronic device (1300) can change to a touchable area including the next reserve area whenever the failure count reaches one of the multiple thresholds. Accordingly, the electronic device (1300) can provide the user with a touchable area that increases stepwise for the handle portion (1310) as the failure count increases. However, although the present specification mainly describes an example in which the electronic device automatically sets the touchable area when the failure count reaches a threshold, it is not limited thereto. When the aforementioned failure count reaches a threshold, the electronic device may present one or more adjustable reserve areas to the user. The electronic device may also add a reserve area selected by the user among the one or more reserve areas to the touchable area.
[0104] As illustrated in FIG. 13, the area of an input area (1320) (e.g., a touchable area) set as invisible for the handle portion (1310) can be adjusted to be larger than the area of the handle portion (1310) that is visually displayed.
[0105] As described above, the electronic device can control a window of an application screen corresponding to the handle portion (1310) in response to user input regarding a touchable area adjusted for the handle portion (1310) based on a failure count. Thus, the electronic device (1300) can assist in controlling a window object using the user's handle portion (1310) despite the small size of the handle portion (1310). For reference, the present specification mainly describes examples in which a reserve area is added to the touch area in stages, but is not limited thereto. The electronic device may determine the area of the region to be added to the touch area based on the user's touch type, the width of the area being touched (e.g., finger thickness), and / or the speed of movement of the touch (e.g., drag). For example, the electronic device may extend directly from the basic area (1321) to the maximum extension boundary line (1339).
[0106] FIG. 14 is a diagram illustrating a screen hiding operation according to the movement of a window object of an application according to various embodiments.
[0107] An electronic device (1400) according to one embodiment (e.g., the electronic device (101) of FIG. 1) may cover a portion of an application screen displayed as a pop-up view when moving. For example, while moving a window object (1410) corresponding to an application screen while maintaining an input (1490) for a handle portion (1420), the electronic device (1400) may monitor whether at least one or more combinations of the outer boundary of the window object (1410), the inner boundary of the window object (1410), and the handle portion (1420) approach the boundary of the display screen. The outer boundary of the window object (1410) may represent the border of the window object (1410) displayed as a pop-up view. The inner boundary of the window object (1410) may represent a boundary defined within the area occupied by the window object (1410) displayed as a pop-up view.
[0108] As described above, when at least one or more combinations of the outer boundary, inner boundary, and handle portion (1420) approach the boundary of the display screen, the electronic device (1400) can expose a portion of the edge of the application screen to the display screen and remove the remaining portion from the display screen. When the distance (1450) between the boundary (1429) of the handle portion (1420) and the boundary (1409) of the display screen becomes less than a threshold distance, the electronic device (1400) can perform the hide operation described below.
[0109] The electronic device (1400) can determine a portion of the exposed area (1411) based on the handle portion (1420). For example, the electronic device (1400) can move the remaining area (1412) outside the display screen and cover it by moving the application screen according to the touch drag direction based on the handle portion (1420), while keeping the portion of the area (1411) within the display screen.
[0110] Accordingly, the electronic device (1400) can hide a portion of the application screen based on the handle portion (1420) and the drag direction in response to user input (1490) through the handle portion (1420). For example, the handle portion (1420) can be moved relative to the application in either the left or right direction from the top bar of the window object (1410).
[0111] FIG. 15 is a drawing illustrating the minimization operation of a window object according to various embodiments.
[0112] According to one embodiment, an electronic device (1500) (e.g., the electronic device (101) of FIG. 1) can determine the position of a minimized icon object (1519) of an application window object (1510) displayed in a popup view. For example, the electronic device (1500) can output an icon object (1519) corresponding to the minimized application adjacent to the nearest edge among the left and right edges of the display screen based on the Y value of the handle portion (e.g., a coordinate along the horizontal axis). In other words, the electronic device (1500) can output an icon object (1519) of the minimized window object (1510) on one side of the bezel (e.g., left or right) based on the center of the screen according to the horizontal axis coordinate (e.g., x coordinate) of the window object (1510) displayed in a popup view.
[0113] Subsequently, the electronic device (1500) can record the location at the time of termination as the last location when the minimized application is terminated by the user. For example, the electronic device (1500) can display the minimize icon (e.g., icon object (1519)) of the window object (1510) displayed as a popup view at the last location (e.g., the location where it was terminated after being minimized).
[0114] FIG. 16 is a drawing illustrating the adjustment of a swipe area according to various embodiments.
[0115] According to one embodiment, an electronic device (1600) (e.g., the electronic device (101) of FIG. 1) can determine whether a gesture input has malfunctioned at the boundary of a display screen. The electronic device (1600) can adjust the area for the gesture input (1690) according to the malfunction count.
[0116] For example, the electronic device (1600) may increase the edge area for swipe back inputs on the display in response to the accumulation of failures of swipe back inputs for switching to a previous view. The electronic device (1600) may detect a content swipe input and determine a previous content swipe input as a failure of the swipe back input if it detects the swipe back input at a location closer to the boundary of the display screen within a threshold time. If swipe back failures accumulate, the electronic device (1600) may increase the edge area for swipe back inputs as illustrated in FIG. 16. The electronic device (1600) may detect swipe back inputs in the increased edge area (1602).
[0117] In another example, the electronic device (1600) may reduce the edge area for swipe back inputs on the display in response to the accumulation of failures of content swipe inputs for switching content. The electronic device (1600) may determine the previous swipe back input as a failure of the content swipe input if it detects a swipe back input and detects a content switching input at a location further from the boundary of the display screen within a threshold time. If content switching failures accumulate, the electronic device (1600) may reduce the edge area illustrated in FIG. 16. The electronic device (1600) may detect swipe back inputs in the reduced edge area (1601) and detect content swipe inputs in the remaining area.
[0118] FIG. 17 is a drawing illustrating the adjustment of an area for setting a divider line according to various embodiments.
[0119] According to one embodiment, an electronic device (1700) (e.g., the electronic device (101) of FIG. 1) can simultaneously display two or more applications (App1, App2) on a display screen. The electronic device (1700) can divide the display screen into multiple regions and display two or more applications (App1, App2) in each allocated region. The line separating the two or more applications (App1, App2) can be referred to as a divider line (1780). The electronic device (1700) can change the position of the divider line (1780) in response to user input (1790) regarding the divider line (1780). In other words, the area of the regions defined by the divider line (1780) can be changed. The electronic device (1700) can determine whether the user input (1790) regarding the aforementioned divider line (1780) is malfunctioning. The electronic device (1700) can adjust the area for user input (1790) for the divider line (1780) according to the malfunction count.
[0120] For example, the electronic device (1700) may increase the area for adjusting the divider line (1780) on the display in response to the accumulation of failures of drag inputs for changing the position of the divider line (1780). The electronic device (1700) may detect inputs from two or more applications (App1, App2) and determine the inputs from the previous two or more applications (App1, App2) as failures to adjust the divider line (1780) if a drag input is detected at a position closer to the divider line (1780) on the display screen within a threshold time. When failures to adjust the divider line (1780) accumulate, the electronic device (1700) may increase the area for adjusting the divider line (1780) as illustrated in FIG. 17. The electronic device (1700) may detect drag inputs in the increased area (1702).
[0121] In another example, the electronic device (1700) may reduce the area for adjusting the divider line (1780) on the display in response to the accumulation of successful inputs to the divider line (1780). The electronic device (1700) may increase the input success count for the divider line (1780) when the divider line (1780) is adjusted without input failure. When successful inputs accumulate, the electronic device (1700) may reduce the area for adjusting the divider line (1780) as shown in FIG. 17. The electronic device (1700) may detect drag inputs in the reduced area (1701) and detect inputs for two or more applications (App1, App2) in the remaining area.
Claims
Claim 1 An electronic device comprising: a display; a memory in which computer-executable instructions are stored; and a processor that accesses the memory and executes the instructions, wherein when the instructions are executed by the processor, the electronic device: monitors user input related to the movement of a window object in areas related to a handle portion of a window object output on the display; in response to detecting a first input in an input area for the handle portion, determines an input failure regarding the movement of the window object based on a comparison between a second input prior to the first input and the first input; and, when the input failures for the window object accumulate, adjusts the input area for the handle portion. Claim 2 An electronic device according to claim 1, wherein, when the instructions are executed by the processor, the electronic device: determines whether an input failure has occurred for the window object based on a comparison between the detection time of the first input and the detection time of the second input in response to the case where the window object begins to move by the first input. Claim 3 In paragraph 2, the above instructions, when executed by the processor, cause the electronic device to: determine the second input as a failed input in response to the time difference between the detection time of the first input and the detection time of the second input being less than a threshold time. Claim 4 An electronic device according to paragraph 2, wherein, when the instructions are executed by the processor, the electronic device: sets the window object as a failure candidate when the time difference between the time of the input occurrence of the second input and the time of the movement start of the second input is less than a first threshold time, and determines that an input failure has occurred in the window object in response to the window object starting to move by the first input within a second threshold time from the time of the movement start of the second input. Claim 5 An electronic device according to claim 1, wherein, when the instructions are executed by the processor, the electronic device determines whether an input failure has occurred for the handle portion of the window object based on the detection locations of the first input and the second input. Claim 6 In paragraph 5, the above instructions, when executed by the processor, cause the electronic device to determine that an input failure has occurred for the movement of the window object when the first input is detected in the input area and the second input is detected in a detectable area outside the input area. Claim 7 In paragraph 6, the above instructions, when executed by the processor, cause the electronic device to determine that an input failure for the movement of the window object has occurred if the second input is detected in the detectable area and the first input is detected in the input area before a threshold time has elapsed. Claim 8 An electronic device according to claim 1, wherein the instructions, when executed by the processor, cause the electronic device to: accumulate input failures by increasing a failure count recorded for the window object in response to the determination that an input failure regarding the movement of the window object has occurred. Claim 9 An electronic device according to claim 1, wherein, when the instructions are executed by the processor, the electronic device causes: in response to the failure count updated according to the accumulation of the input failures exceeding a threshold count, the electronic device to increase the input area by adding a reserve area corresponding to the threshold count to the basic area for the handle portion. Claim 10 An electronic device according to claim 1, wherein, when the instructions are executed by the processor, the electronic device causes: to increase the edge area for the swipe back input on the display in response to the accumulation of failures of swipe back inputs for switching to a previous view, and to decrease the edge area for the swipe back input on the display in response to the accumulation of failures of content swipe inputs for switching content. Claim 11 A method implemented by a processor comprising: monitoring user input related to the movement of a window object in areas related to a handle portion of a window object output to a display; determining an input failure regarding the movement of the window object based on a comparison between a second input prior to the first input and the first input in response to detecting a first input in the input area for the handle portion; and adjusting the input area for the handle portion when the input failure has accumulated for the window object. Claim 12 In claim 11, the operation of determining the input failure includes, in response to the case where the window object begins to move due to the first input, the operation of determining whether an input failure has occurred for the window object based on a comparison between the detection time of the first input and the detection time of the second input. Claim 13 In claim 12, the operation of determining whether the above input failure has occurred includes an operation of determining the second input as a failed input in response to the case where the time difference between the detection time of the first input and the detection time of the second input is less than a threshold time. Claim 14 A method according to claim 12, wherein the operation of determining whether the input failure has occurred comprises: an operation of setting the window object as a failure candidate when the time difference between the time of the second input's input occurrence and the time of the second input's movement start is less than a first threshold time; and an operation of determining that an input failure has occurred in the window object in response to the case where the window object starts moving due to the first input within a second threshold time from the time of the second input's movement start. Claim 15 In claim 11, the operation of determining the input failure includes an operation of determining whether an input failure has occurred for the handle portion of the window object based on the detection locations of the first input and the second input. Claim 16 In claim 15, the operation of determining whether the above input failure has occurred includes the operation of determining that an input failure has occurred for the movement of the window object when the first input is detected in the input area and the second input is detected in a detectable area outside the input area. Claim 17 In claim 16, the operation of determining whether an input failure has occurred includes the operation of determining that an input failure has occurred for the movement of the window object when the second input is detected in the detectable area and the first input is detected in the input area before a threshold time has elapsed. Claim 18 In claim 11, the operation of adjusting the input area includes an operation of accumulating input failures by increasing a failure count recorded for the window object in response to a determination that an input failure regarding the movement of the window object has occurred. Claim 19 In claim 11, the operation of adjusting the input area comprises increasing the input area by adding a reserve area corresponding to the threshold count to the basic area for the handle portion in response to the failure count updated according to the accumulation of the input failures exceeding the threshold count. Claim 20 A computer-readable recording medium storing one or more computer programs comprising instructions for performing the method of any one of claims 11 through 19.
Citation Information
Patent Citations
Controlling Method based on a communication status and Electronic device supporting the same
KR1020160026141A
Dynamically customizable touch screen keyboard for adapting to user physiology
US20130019191A1
Systems, Methods, and User Interfaces for Interacting with Multiple Application Windows
US20200326820A1