SELECTING A DESIRED ITEM FROM A SET OF ITEMS
20220397993 · 2022-12-15
Inventors
Cpc classification
G06F3/0488
PHYSICS
G06F3/04812
PHYSICS
G06F3/0484
PHYSICS
International classification
G06F3/04812
PHYSICS
Abstract
Methods, devices and computer program products are provided for display and interaction at a user interface. A guide is displayed that includes a number of guide frames arranged in a chain, each guide frame being associated with a subset of items from within a set of items and having a guide symbol displayed therein. In response to receiving user input associated with continuous movement of a pointer in the user interface, the guide is continuously changed so as to enlarge guide frames towards which the pointer is moving. Upon the pointer crossing a first threshold, the guide is replaced with a number of item frames which display items selected from the set of items. The item frames may be displayed in substantially the same position and of the same size as the guide frames which they replace.
Claims
1. A computer program product comprising a non-transitory computer readable storage medium having instructions encoded thereon that, when executed by a processor, cause the processor to perform, at a user interface, the steps of: displaying a guide that includes a number of guide frames arranged in a chain, each guide frame being associated with a subset of items from within a set of items and having a guide symbol displayed therein; in response to receiving a user input associated with continuous movement of a pointer in the user interface, continuously changing the guide so as to enlarge guide frames towards which the pointer is moving, the enlarging being in proportion to the movement; upon the pointer crossing a first threshold, replacing the guide with a number of item frames, wherein the item frames display items selected from the set of items; and enabling selection of an item displayed in the item frames.
2. The computer program product as claimed in claim 1 wherein the step of replacing the guide includes replacing the guide with the number of item frames displayed in substantially the same position and of the same size as the guide frames which they replace.
3. The computer program product as claimed in claim 1 wherein the guide frames are arranged in a closed chain and the first threshold is a closed loop.
4. The computer program product as claimed in claim 1 wherein the guide frames are each elliptical and lie along a track formed between an inner elliptical border and outer elliptical border, with the guide frames all being tangent to the inner elliptical border and outer elliptical border.
5. The computer program product as claimed in claim 4 wherein each elliptical guide frame touches its two neighbors in the chain.
6. The computer program product as claimed in claim 4 wherein continuously changing the guide continuously changes the size of the inner elliptical border and continuously changes a position of a center of the inner elliptical border.
7. The computer program product as claimed in claim 4 wherein a center of the inner elliptical border is moved in an opposite direction to which the pointer moves.
8. The computer program product as claimed in claim 4 wherein the guide frames are continuously resized based on their position along the track, so that the guide frames all remain tangent to the inner elliptical border and outer elliptical border.
9. The computer program product as claimed in claim 4 wherein the guide frames, inner elliptical border, outer elliptical border and item frames are hidden from view on the user interface while the guide symbols and items are displayed.
10. The computer program product as claimed in claim 4 wherein the first threshold is coincident with the inner elliptical border.
11. The computer program product as claimed in claim 3 wherein a second threshold is provided which is within the first threshold, and wherein crossing the second threshold causes the item frames to be replaced by the guide frames so that the guide is displayed.
12. The computer program product as claimed in claim 1 wherein the items displayed in the item frames are selected from within the set of items based on a direction of crossing the first threshold.
13. The computer program product as claimed in claim 1 wherein the items displayed in the item frames are selected from within the set of items based on a proximity of the pointer to one or more guide frames when the pointer crosses the first threshold.
14. The computer program product as claimed in claim 1 wherein an item is selected by navigating to the item and lifting the pointer from the user interface.
15. The computer program product as claimed in claim 1 wherein selection of an item causes details of only that item to enlarge and be displayed within the user interface.
16. The computer program product as claimed in claim 1 wherein, upon the guide being replaced by the set of item frames, the item frames are provided in a chain and movement of the pointer along the chain of item frames causes the item frames to move and resize.
17. The computer program product as claimed in claim 1, wherein the item frames are each elliptical and lie along a track formed between an inner elliptical border and outer elliptical border, with the item frames all being tangent to the inner elliptical border and outer elliptical border, and wherein movement of the pointer along the track causes the item frames to move along the track in an opposite direction to which the pointer moves and to resize so that a largest item frame remains at the pointer.
18. The computer program product as claimed in claim 3 including the steps of, in response to an initial pointer touch down inside the first threshold, changing the guide chain to reflect the eccentricity of the initial pointer touch down position with respect to a center of the chain; and in response to an initial pointer touch down outside the first threshold, replacing the guide with the number of item frames.
19. A device having a user interface and comprising: a processor; a non-transitory computer readable storage medium having instructions encoded thereon that, when executed by the processor, cause the processor to: display a guide that includes a number of guide frames arranged in a chain, each guide frame being associated with a subset of items from within a set of items and having a guide symbol displayed therein; in response to receiving a user input associated with continuous movement of a pointer in the user interface, continuously change the guide so as to enlarge guide frames towards which the pointer is moving, the enlarging being in proportion to the movement; upon the pointer crossing a first threshold, replace the guide with a number of item frames, wherein the item frames display items selected from the set of items; and enable selection of an item displayed in the item frames.
20. A display and interaction method in a user interface of a device including the steps of: displaying a guide that includes a number of guide frames arranged in a chain, each guide frame being associated with a subset of items from within a set of items and having a guide symbol displayed therein; in response to receiving a user input associated with continuous movement of a pointer in the user interface, continuously changing the guide so as to enlarge guide frames towards which the pointer is moving, the enlarging being in proportion to the movement; upon the pointer crossing a first threshold, replacing the guide with a number of item frames, wherein the item frames display items selected from the set of items; and enabling selection of an item displayed in the item frames.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0048] In the drawings:
[0049]
[0050]
[0051]
[0052]
[0053]
[0054]
[0055]
[0056]
DETAILED DESCRIPTION WITH REFERENCE TO THE DRAWINGS
[0057] This disclosure provides methods, devices and computer program products which may allow a user to navigate to and select a desired item from a set of items, and to interact with the selected item to obtain a desired result. The disclosure enables a user to make a fast and easy selection of a desired item from a relatively large set of items.
[0058]
[0059] The example of
[0060] The method begins by displaying a guide (16) to the items, as shown in
[0061] In this example, the guide symbol of each category is shown in a guide frame (18), where each guide frame (18) is associated with a subset of items from within a set of items—e.g., the guide frame with symbol “Q” is associated with a subset of items from the phone book, the subset being the contacts that start with the letter “Q”.
[0062] Each guide frame (18) may be an elliptical frame that may or may not be visible to the user. In this illustration, the elliptical frames are circular frames. The symbols are displayed inside these circular guide frames (18), with the circular guide frames (18) forming a closed chain. The illustrated chain consists of a finite number of ellipses (being the guide frames (18)) that are all tangent to two non-intersecting given ellipses—being an inner elliptical border (20) adjacent an inner edge of the chain and an outer elliptical border (22) adjacent an outer edge of the chain. The guide frames (18) therefore lie along a track (23) which is formed between the inner elliptical border (20) and outer elliptical border (22). In addition, in this embodiment with a closed chain, every circular guide frame (18) also touches its two neighbors in the chain while in other embodiments the guide frames (18) may be spaced apart or may partly overlap. The radius ratio of the outer and inner elliptical borders (22, 20) of a closed chain is constrained by the number of circles in the chain. The inner and outer elliptical borders (20, 22) are shown in broken lines as they are, in this embodiment, not shown on the display screen (12). In the illustrated embodiment, the inner and outer elliptical borders (20, 22) are circular.
[0063] As shown in
[0064] Further movement in a radial direction causes the pointer (24) to cross a predefined first threshold (28), shown in
[0065] When the navigation crosses the first threshold (28), the guide (16) is replaced with a set of item frames (30), each item frame (30) containing a single item (32) selected from the set of items. The item frames (30) may be rendered in substantially the same position and of the same size as the guide frames (18) which they replace. In this example, the items (32) are particular contact names stored in a list or phonebook of contacts. The items (32) displayed in the item frames (30) are selected from within the set of items based on the proximity of the pointer to one or more guide frames (18) when the pointer crosses the first threshold (28), or based on the direction of movement of the pointer (24) relative to one or more guide frames (18) when the pointer (24) crosses the first threshold (28). For example, if the pointer (24) were to cross the first threshold (28) exactly mid-way between “Q” and “R”, then the displayed contact names shown within the set of items (32) would be the end of the R-subset and the beginning of the Q-subset of contact names.
[0066] The method may end with the user concluding the continuous navigation, for example by lifting the pointer (24) from the display screen (12) while over a particular contact (e.g., Quiet Hotel). This signals selection of the indicated item and causes details of only that item to be displayed, as shown in
[0067] The method therefore has two distinct phases or modes, namely a context mode in which the guide (16) is displayed as shown in
[0068] After having crossed the first threshold (28) as was shown in
[0069] In
[0070]
[0071] The user can make transitions between the context mode in which only the guide (16) is displayed and the focus mode in which only the item frames (30) are displayed, at will and in either direction. Clutching is avoided since the symbols or items of interest are quickly moved into the correct position through a continuous navigation within the same display area. Navigation during the context mode covers many items in a short distance, while navigation during the focus mode glides from a single item to an adjacent item with enough space for easy control. The control of focus and context navigation by a single uninterrupted user movement, enables fast and easy selection of any desired item.
[0072] The user may initially touch down with a finger or pointer either inside or outside of the first threshold (28). If a user touches down inside the first threshold (28), the guide (16) chain is changed to reflect the eccentricity of the touch down point with respect to the original center (46—
[0073] However, if the finger is moved radially towards the inside of the chain, it may cross the second threshold (44), which is a circle well inside the first threshold to provide a degree of hysteresis. On such crossing, the guide (16) chain is restored with suitable asymmetry to reflect the current finger position (as shown in
[0074] The crucial ‘memory’ in this method is an index to the currently indicated item, maintained during the focus mode. The index is set based on the position of crossing the first threshold (or the starting point, if beyond the first threshold) and it is updated during further focus navigation. Initially, and on any subsequent return to the context mode, the index is undefined.
[0075] A further feature is that if the user touches down outside the first threshold (28), the chain of item frames is immediately displayed as it would appear had the user followed a path crossing the first threshold from the inside in the direction of the touch down point, and ending at the touch down point. Subsequent interaction is the same as described above for a touch down inside the first threshold.
[0076] The user can of course not be prevented from executing any touch trajectory that is possible within the physical constraints of the device. Some sensible provision therefore has to be made for all possible trajectories. For example, the user may repeatedly switch between the focus and context modes and circle around the chain multiple times. The user may also tap on a guide.
[0077] According to the description above, this would almost always lead to selection of an unintended item, due to the display space limitations of the guide. The implemented response to a tap is therefore to keep the guide display unchanged, and to inform the user of a better way to approach interaction with this method such as by a hovering message such as “Please stroke from the center!” or the like.
[0078] In the illustrated example embodiment, while the guide symbols and items (32) are displayed in the user interface (10), the guide frames (18), inner elliptical border (20), outer elliptical border (22) and item frames (30) are all hidden from view. It will, of course, be apparent that any of these could be partially or fully displayed depending on the specific user interface implementation required.
[0079] To support users of different languages in a contact picker, the symbols in this embodiment may be replaced with those of the respective scripts used to write contact names, which may be alphabets (e.g. Greek, Cyrillic, Hangul), or non-alphabetic writing systems (like Devanagari or Hanzi).
[0080] In another embodiment on a touch screen, the display items may represent the keys on a keyboard, and the guide simply contains all of the keys standing for themselves. There may be 101 keys on a chain as the guide, and the item frames form another chain, but with a smaller number of members, e.g., thirty members. On crossing the first threshold or touching down outside it, the focus mode appears with the thirty keys closest to the apparent key of interest, enabling quick adjustment after an imprecise start. The user lifts to select the then indicated key, which enters its symbol into the buffer. The reduction in the number of circles from 101 in the context mode to thirty in the focus mode represents a real motor advantage during selection, in addition to the display advantage that is commonly found in keyboards with enlarged display on touch down.
[0081] In another embodiment on a touch screen, the items may be photos or videos, while the guide is based on the photo/video dates or locations.
[0082] The method may be implemented on display screens that are round or any other shape. For example, a specific display area may be provided on a display device, for example a rectangular screen, and the present display and interaction method may be equally well used on such a display. Examples of devices with rectangular screens include mobile phones, tablets, phablets, televisions, or the like. An elliptical or circular area may be demarcated on such rectangular screen, where the present display and interaction method may be implemented.
[0083] It should be noted that the present invention may be usable with any type of user interface provided by any suitable electronic device. It need not only be used with a smartwatch as per the above examples. The user interface may be provided by a smartphone, a tablet, a laptop computer, a desktop computer, or the like. Instead of circles, ellipses could also be used.
[0084] The disclosed method and system may enable relatively quick access to an item from a relatively large group of display items, such as 100, 500, or even 1,000 or more items.
[0085]
[0086] Selection of an item displayed in the item frames is then enabled (710). Selection an item may be by means of using the pointer to navigate (712) to the item and then lifting (714) the pointer from the user interface. This may cause details of only that item to enlarge (716) and be displayed within the user interface.
[0087] Further steps of the method (700) may provide that upon the pointer crossing a second threshold which is provided within (i.e., inside) the first threshold, the item frames are replaced (718) with the guide frames again so that the guide is displayed. The guide frames are displayed in substantially the same position and of the same size as the item frames which they replace.
[0088]
[0089] The computing device (800) may be suitable for storing and executing computer program code. The various participants and elements previously described may use any suitable number of subsystems or components of the computing device (800) to facilitate the functions described herein. The computing device (800) may include subsystems or components interconnected via a communication infrastructure (805) (for example, a communications bus, a network, etc.). The computing device (800) may include one or more processors (810) and at least one memory component in the form of computer-readable media. The one or more processors (810) may include one or more of: CPUs, graphical processing units (CPUs), microprocessors, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs) and the like. In some configurations, a number of processors may be provided and may be arranged to carry out calculations simultaneously. In some implementations various subsystems or components of the computing device (800) may be distributed over a number of physical locations (e.g., in a distributed, cluster or cloud-based computing configuration) and appropriate software units may be arranged to manage and/or process data on behalf of remote devices.
[0090] The memory components may include system memory (815), which may include read only memory (ROM) and random access memory (RAM). A basic input/output system (BIOS) may be stored in ROM. System software may be stored in the system memory (815) including operating system software. The memory components may also include secondary memory (820). The secondary memory (820) may include a fixed disk (821), such as a hard disk drive, and, optionally, one or more storage interfaces (822) for interfacing with storage components (823), such as removable storage components (e.g. magnetic tape, optical disk, flash memory drive, external hard drive, removable memory chip, etc.), network attached storage components (e.g. NAS drives), remote storage components (e.g. cloud-based storage) or the like.
[0091] The computing device (800) may include an external communications interface (830) for operation of the computing device (800) in a networked environment enabling transfer of data between multiple computing devices (800) and/or the Internet. Data transferred via the external communications interface (830) may be in the form of signals, which may be electronic, electromagnetic, optical, radio, or other types of signal. The external communications interface (830) may enable communication of data between the computing device (800) and other computing devices including servers and external storage facilities. Web services may be accessible by and/or from the computing device (800) via the communications interface (830).
[0092] The external communications interface (830) may be configured for connection to wireless communication channels (e.g., a cellular telephone network, wireless local area network (e.g. using Wi-Fi™), satellite-phone network, Satellite Internet Network, etc.) and may include an associated wireless transfer element, such as an antenna and associated circuitry.
[0093] The computer-readable media in the form of the various memory components may provide storage of computer-executable instructions, data structures, program modules, software units and other data. A computer program product may be provided by a computer-readable medium having stored computer-readable program code executable by the central processor (810). A computer program product may be provided by a non-transient or non-transitory computer-readable medium, or may be provided via a signal or other transient or transitory means via the communications interface (830).
[0094] Interconnection via the communication infrastructure (805) allows the one or more processors (810) to communicate with each subsystem or component and to control the execution of instructions from the memory components, as well as the exchange of information between subsystems or components. Peripherals (such as printers, scanners, cameras, or the like) and input/output (I/O) devices (such as a mouse, touchpad, keyboard, microphone, touch-sensitive display, input buttons, speakers and the like) may couple to or be integrally formed with the computing device (800) either directly or via an I/O controller (835). One or more user interfaces (845) (which may be touch-sensitive displays) may be coupled to or integrally formed with the computing device (800) via a display or video adapter (840).
[0095] The foregoing description has been presented for the purpose of illustration; it is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Persons skilled in the relevant art can appreciate that many modifications and variations are possible in light of the above disclosure.
[0096] Any of the steps, operations, components or processes described herein may be performed or implemented with one or more hardware or software units, alone or in combination with other devices. Components or devices configured or arranged to perform described functions or operations may be so arranged or configured through computer-implemented instructions which implement or carry out the described functions, algorithms, or methods. The computer-implemented instructions may be provided by hardware or software units. In one embodiment, a software unit is implemented with a computer program product comprising a non-transient or non-transitory computer-readable medium containing computer program code or instructions, which can be executed by a processor for performing any or all of the steps, operations, or processes described. Software units or functions described in this application may be implemented as computer program code using any suitable computer language such as, for example, Java™ C++, or Perl™ using, for example, conventional or object-oriented techniques. The computer program code may be stored as a series of instructions, or commands on a non-transitory computer-readable medium, such as a random access memory (RAM), a read-only memory (ROM), a magnetic medium such as a hard-drive, or an optical medium such as a CD-ROM. Any such computer-readable medium may also reside on or within a single computational apparatus, and may be present on or within different computational apparatuses within a system or network.
[0097] Flowchart illustrations and block diagrams of methods, systems, and computer program products according to embodiments are used herein. Each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, may provide functions which may be implemented by computer readable program instructions. In some alternative implementations, the functions identified by the blocks may take place in a different order to that shown in the flowchart illustrations.
[0098] Some portions of this description describe the embodiments of the invention in terms of algorithms and symbolic representations of operations on information. These algorithmic descriptions and representations, such as accompanying flow diagrams, are commonly used by those skilled in the data processing arts to convey the substance of their work effectively to others skilled in the art. These operations, while described functionally, computationally, or logically, are understood to be implemented by computer programs or equivalent electrical circuits, microcode, or the like. The described operations may be embodied in software, firmware, hardware, or any combinations thereof.
[0099] The language used in the specification has been principally selected for readability and instructional purposes, and it may not have been selected to delineate or circumscribe the inventive subject matter. It is therefore intended that the scope of the invention be limited not by this detailed description, but rather by any claims that issue on an application based hereon. Accordingly, the disclosure of the embodiments of the invention is intended to be illustrative, but not limiting, of the scope of the invention set forth in any accompanying claims.