Many conventional selection interfaces permit users to select files, applications, and the like by selecting an associated icon within the interface. These interfaces often show these icons in a flat list, a file-based hierarchy, or grouped by page. Each of these types of interfaces, however, can be tedious or time-consumer for users to manage or use.
If a user wishes to select a particular icon in a flat list, for example, the user often must scroll through many icons without the benefit of organization. Without organization, users typically study each icon in the list in an attempt to find the particular icon. Users do so because, without organization, there is little way in which to understand the likelihood that any arbitrary icon in the list is the particular icon desired by the user.
If a user wishes to select a particular icon in a file-based hierarchy, for example, the user often must search through multiple levels of the hierarchy. The user starts at a higher level of the hierarchy, searching through the higher level to find a most-likely lower level of the hierarchy, searches through that lower level, and so forth until the user sees a group showing the icons from which to search and select. Even if the group includes the particular icon, getting to that group can be tedious and time consuming. If the group doesn't include the particular icon, the user searches through the hierarchy again, and so forth, until the user finds the group having the particular icon.
If a user wishes to select a particular icon in an interface where icons are grouped by page, for example, the user may struggle with the constraints dictated by those pages. Organization is useful, but mental groupings of icons may be included in one, two, three, or more pages. When a mental group covers multiple pages, the multipage group can suffer from some of the tedium present in flat lists. Users are often aware of this deficiency and, to address it, are forced to constrain or modify their natural mental groupings to fit the page sizes. Even with this problem of multipage groups partly addressed, users often struggle with the groups they have built because, as noted, the groupings are not natural mental groups for the user.
This document describes techniques for grouping selectable tiles. These techniques enable a user to create and manage flexibly-sized groups rather than constrain the user to groups of a particular size. Further, these techniques enable users to view selectable tiles in multiple groups simultaneously, which can help user quickly and easily find and select a desired tile.
This summary is provided to introduce simplified concepts for grouping selectable tiles that are further described below in the Detailed Description and/or shown in the Figures. This summary is not intended to identify essential features of the claimed subject matter, nor is it intended for use in determining the scope of the claimed subject matter. The term “techniques” as used herein can include devices, systems, apparatuses, operations, and/or methods as permitted by the context in which the term is used.
Embodiments for grouping selectable tiles are described with reference to the following drawings. The same numbers are used throughout the drawings to reference like features and components:
Overview
This document describes techniques for grouping selectable tiles. These techniques enable users to create groups, manage those groups, and select tiles from within groups quickly and easily. For application-launching interfaces, for example, the techniques permit a user to create and organize groups of selectable tiles according to that user's natural mental grouping for applications. A user may build a group of work-related tiles for work-related applications, whether that group fills half a page or many, a group of play-related tiles for fun applications, again based on the user's selected size, and so forth.
While techniques for grouping selectable tiles can be implemented in any number of different devices, systems, environments, and/or configurations, example embodiments for grouping selectable tiles are described in the context of the following example devices, systems, and methods.
Example System
Computing device 102 includes computer processor(s) 116 and computer-readable storage media 118 (media 118). Media 118 includes an operating system 120, windows-based mode module 122, immersive mode module 124, manager 126, and applications 128. Computing device 102 also includes or has access to one or more displays 130, four examples of which are illustrated in
Windows-based mode module 122 is capable of presenting applications 128 through windows having frames. These frames may provide controls through which to interact with an application and/or controls enabling a user to move and size the window.
Immersive mode module 124 provides a mode by which a user may view and interact with applications 128. In some embodiments, this mode presents content of, and enables interaction with, applications with little or no window frame and/or without a need for a user to manually size or position content. This mode can be, but is not required to be, hosted and/or surfaced without use of a typical desktop (e.g., windows-based) mode. Thus, in some cases immersive mode module 124 presents an immersive mode that is not a window (even one without a substantial frame) and precludes usage of desktop-like displays (e.g., a taskbar). Further still, in some embodiments this immersive mode is similar to an operating system in that it is not closeable or capable of being un-installed.
Manager 126 provides an application-selection interface that permits selection to launch, present, or revisit applications 128, whether of windows-based or immersive modes, and itself can be presented in a windows-based or immersive mode. Manager 126 also enables users to group tiles within the application-selection interface. Note that while system 100 and manager 126 are described in the context of application-selection interfaces, manager 126 may operate to group tiles, icons, or labels in other contexts, such as file systems, image retrieval systems, document retrieval systems, and the like.
Operating system 120, mode modules 122 and 124, and manager 126 can be separate from each other or combined or integrated in some form. Thus, in some cases operating system 120 includes mode modules 122 and 124 and manager 126.
Example Methods
This document now describes example methods for grouping selectable tiles. These methods are shown as sets of blocks that specify operations performed, but are not necessarily limited to the order shown. Portions of the following discussion reference system 100 of
By way of example, consider
As noted, each of groups 302, 304, and 306 do not include identifiers, such as group names. Instead, each of the groups can be identified as a group by blank space and differentiated from each other based on the tiles in the groups. In effect, a user may differentiate groups based on the contents of the group rather than metadata or some abstraction of the contents. A user may recognize his or her photography applications, for example, based on it being a small group or the group that has two small tiles on top (group 304). Or a user may recognize her work applications or favorite early-morning content providers (e.g., websites with news content) based on it having, on the upper left corner, two similar boxes-within-boxes, as shown in group 306. These are but two example ways in which users can, without an title or identifier, recognize groups, many others are possible as well (e.g., colors, sizes, where in the order a particular group resides, etc.).
Method 200 enables selection of selectable tiles at various sizes in a selection interface. The selection interface may, by default or user selection, show tiles at smaller or larger sizes. In the ongoing embodiment, selection interface 300 shows tiles at smaller sizes, from which method 200 permits immediate selection of the tiles or enables selection to increase the size and resolution responsive to a user selection. This alternative is shown in method 200 along an “Increase Size” path from block 202 to block 204.
Block 204 enables selection to zoom into a selected group prior to receiving selection of a selectable tile. In response to receiving selection of a selectable group, block 206 zooms into the selected group to show the tiles at a larger size and greater resolution.
By way of example, assume that a user selects, such as by a tap gesture through selection interface 300, to see tiles of group 302 at a larger size and greater resolution. In response, manager 126 zooms into group 302, which is illustrated in
Whether method 200 performs blocks 204 and 206 or proceeds directly to block 208, block 208 enables selection of the selectable tiles, including with as little as one selection. This selection can be through any of various inputs, such as hotkeys, a mouse or gesture tap, a gesture drag-and-drop, and the like. Note that these tiles are selectable when one or multiple groups are presented. As this example illustrates, the techniques permit users to see multiple, selectable tiles from multiple groups and select these tiles without having to find the groups through a hierarchy or find the tiles without the benefit of organization.
Block 210, responsive to selection of a selected tile, causes an operation to be performed, such as performing an operation or launching or presenting an application associated with the selected tile.
Block 502 presents multiple tiles. These tiles can be presented grouped or otherwise, and in an interface through which the tiles can be selected or a separate interface from which groups of tiles can be selected for later presentation in a selection interface.
By way of example, consider again
Block 504 receives a selection grouping a first group of selected tiles. This selection can be received in various manners, such as with one or more multiple gestures dragging tiles to a new group location or a holding area for later creation of the group.
Assume, by way of a first example, that a user selects three tiles from group 306 by moving each of the three tiles from their original locations to a marked region of selection interface 300. This is illustrated in
Block 506, responsive to receiving the selection of the first group, presents the selected tiles as a new group. This is illustrated in
Blocks of method 500 can be repeated to build and manage groups, as shown with a dashed line in
As part of this second example, or for other types of selections, manager 126 may provide feedback as to a result of moving the tiles to various locations, such as blank space 808. This feedback may indicate the result, such as adding the selected tiles to an existing group or creating a new group. Thus, on passing tiles over (or hovering over) blank space 808, manager 126 may move apart the other groups 302 and 304, tilt the other groups 302 and 304, or provide an indicator, such as a blinking line or pop-up window with text “Create new group?”.
Manager 126, at block 506, presents, in the same, single user interface (interface 300), this group (which includes only tile 806 at this point), shown in
Following block 506, method 500 may proceed to enable selection of tiles and, responsive to selection, perform an operation associated with the selected tile, such as according to blocks 208 and 210 of method 200.
Block 1002 presents multiple groups of tiles within a single user interface, such as those groups presented and described above. By way of example, consider again
Block 1004 receives selection to move a selected group of the groups from an original location to a new location in the single user interface. The original location can be displayed at a same time as the new location or otherwise. The new location can be between, in front of, or adjacent to another group. Continuing the ongoing example, consider
Block 1006, responsive to selection, presents movement of the selected group from the original location to the new location, the movement showing tiles within the selected group. In the ongoing example, manager 126 shows all of the tiles of the group “stuck” to a selector of the gesture, such as stylus tip, fingertip, or mouse selector as that selector moves.
Block 1008 presents the selected group at the new location. Here manager 126 presents the selected group between groups 902 and 304, as shown in
The techniques permit other management of groups of tiles as well, such as automatically deleting groups responsive to removing a last tile of a group. Manager 126, in response to selection to move the only tile of group 902 of
Also, as noted above, the techniques permit selection to name any one or more of the groups. While not required, in some cases names, titles, and other identifiers aid users in finding a particular group, and thus a selectable tile. On selection of a name or other identifier, manager 126 places the name or identifier geographically proximate the appropriate group.
The preceding discussion describes methods in which the techniques may operate to group tiles. Aspects of these methods may be implemented in hardware (e.g., fixed logic circuitry), firmware, software, manual processing, or any combination thereof A software implementation represents program code that performs specified tasks when executed by a computer processor. The example methods can be performed through computer-executable instructions, which can include software, applications, routines, programs, objects, components, data structures, procedures, modules, functions, and the like. The program code can be stored in one or more computer-readable memory devices, both local and/or remote to a computer processor. The methods may also be practiced in a distributed computing mode by multiple computing devices. Further, the features described herein are platform-independent and can be implemented on a variety of computing platforms having a variety of processors.
By way of example, these techniques may be embodied on one or more of the entities shown in system 100 of
Example Device
Device 1300 includes communication devices 1302 that enable wired and/or wireless communication of device data 1304 (e.g., received data, data that is being received, data scheduled for broadcast, data packets of the data, etc.). The device data 1304 or other device content can include configuration settings of the device, media content stored on the device, and/or information associated with a user of the device. Media content stored on device 1300 can include any type of audio, video, and/or image data. Device 1300 includes one or more data inputs 1306 via which any type of data, media content, and/or inputs can be received, such as user-selectable inputs, messages, music, television media content, recorded video content, and any other type of audio, video, and/or image data received from any content and/or data source.
Device 1300 also includes communication interfaces 1308, which can be implemented as any one or more of a serial and/or parallel interface, a wireless interface, any type of network interface, a modem, and as any other type of communication interface. The communication interfaces 1308 provide a connection and/or communication links between device 1300 and a communication network by which other electronic, computing, and communication devices communicate data with device 1300.
Device 1300 includes one or more processors 1310 (e.g., any of microprocessors, controllers, and the like), which process various computer-executable instructions to control the operation of device 1300 and for grouping selectable tiles. Alternatively or in addition, device 1300 can be implemented with any one or combination of hardware, firmware, or fixed logic circuitry that is implemented in connection with processing and control circuits which are generally identified at 1312. Although not shown, device 1300 can include a system bus or data transfer system that couples the various components within the device. A system bus can include any one or combination of different bus structures, such as a memory bus or memory controller, a peripheral bus, a universal serial bus, and/or a processor or local bus that utilizes any of a variety of bus architectures.
Device 1300 also includes computer-readable storage media 1314, such as one or more memory devices that enable persistent and/or non-transitory data storage (i.e., in contrast to mere signal transmission), examples of which include random access memory (RAM), non-volatile memory (e.g., any one or more of a read-only memory (ROM), flash memory, EPROM, EEPROM, etc.), and a disk storage device. A disk storage device may be implemented as any type of magnetic or optical storage device, such as a hard disk drive, a recordable and/or rewriteable compact disc (CD), any type of a digital versatile disc (DVD), and the like. Device 1300 can also include a mass storage media device 1316.
Computer-readable storage media 1314 provides data storage mechanisms to store the device data 1304, as well as various device applications 1318 and any other types of information and/or data related to operational aspects of device 1300. For example, an operating system 1320 can be maintained as a computer application with the computer-readable storage media 1314 and executed on processors 1310. The device applications 1318 may include a device manager, such as any form of a control application, software application, signal-processing and control module, code that is native to a particular device, a hardware abstraction layer for a particular device, and so on.
The device applications 1318 also include any system components or modules to implement techniques for grouping selectable tiles. In this example, the device applications 1318 can include windows-based mode module 122, immersive mode module 124, and manager 126.
Conclusion
Although embodiments of techniques and apparatuses for grouping selectable tiles have been described in language specific to features and/or methods, the appended claims are not necessarily limited to the specific features or methods described. Rather, the specific features and methods are disclosed as example implementations for grouping selectable tiles.