The detailed description is described with reference to the accompanying figures. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The use of the same reference numbers in different instances in the description and the figures may indicate similar or identical items.
Overview
Users have access to ever increasing varieties of content. In some instances, interaction with this content is used to provide information. For example, a user may interact with content to input a user name, password and billing information to form an account to purchase goods and services. During the entry of this information, however, the user may have questions regarding the entry process, such as why particular information is needed (e.g., identification of letters in a picture), where to locate the information (e.g., a code on the back of a credit card), and so forth. Previous techniques which were used to provide this information, however, may involve manual initiation on the part of the user of a feature to output help information, may result in “cluttering” of a user interface that outputs the content and the information, and so on.
Accordingly, techniques are described in which help elements are output that correspond to selectable portions of content. For example, a user may receive a web page from a service provider having a variety of portions that are selectable by the user to enter information. As the user sequentially navigates through the selectable portions, help elements may also be sequentially displayed in the user interface, thereby reducing the amount of “clutter” in the user interface. In an implementation, the help elements are retrieved locally from the client after identification of the particular selectable portion, e.g., a title field, name field, and so on. Thus, the elements are provided from “outside” of the content and may thus be used with content that was not specifically configured to provide the elements. Further discussion of sequential navigation through selectable portions may be found in relation to
In another implementation, the selectable elements may be placed in groups, such as related by topic and so on. Help elements may then be provided based on these groupings, such as to provide a “default” help element when a help element that matches the particular selectable portion cannot be found. The client, for instance, may identify a particular selectable portion as relating to a particular topic but does not have a specific help element that matches the portion. Therefore, a default help element that relates to that topic may be output to assist the user, further discussion of which may be found in relation to
In a further implementation, a control is provided to place the user interface in different modes to control output of the help elements. In a first mode, when a single portion is selected, a single help element relating to the selected portion is output and when in a second mode, a plurality of help elements corresponding to a plurality of portions is displayed in the user interface. For example, the control may be used to enable sequential display of the help elements during sequential selection of the elements such that a single element is displayed at any one time in the first mode. When in the second mode, each help element that corresponding to a portion displayed in the user interface is output concurrently. Further discussion of the use of the control and modes may be found in relation to
In the following discussion, an exemplary environment and user interfaces are first described that are operable to perform techniques to output help elements that correspond to selectable portions of content. Exemplary procedures are then described that may be employed in the exemplary environment, as well as in other environments.
Exemplary Environment and User Interfaces
The client 104 may be configured in a variety of ways for network 106 access. For example, the client 104 may be configured as a computing device as illustrated, such as a desktop computer, a mobile station, an entertainment appliance, a set-top box communicatively coupled to a display device, a wireless phone, a game console, and so forth. The client 104, in portions of the following discussion, may also relate to a person and/or entity that operate the clients. In other words, one or more of the clients 104 may describe logical clients that include users, software, and/or devices.
The service provider 102 is illustrated in
Although the network 106 is illustrated as the Internet, the network may assume a wide variety of configurations. For example, the network 106 may include a wide area network (WAN), a local area network (LAN), a wireless network, a public telephone network, an intranet, and so on. Further, although a single network 106 is shown, the network 106 may be configured to include multiple networks.
The client 104 is illustrated as executing a communication module 112 on the processor 108, which is also storable in memory 110. The communication module 112 is representative of an executable module that is configured to communicate with the service provider 102 over the network 106. For example, the communication module 112 may be configured as a web browser that allows the client 104 to “surf” the Internet. In another example, the communication module 112 is configured as a “smart” module that is configured to provide other network functionality as a part of its operation, such as an instant messaging module, an email module, an online banking module, and so on. A wide variety of other examples are also contemplated.
The communication module 112, for instance, when executed on the processor 108 may interact with one or more network-based services 114(s) that are managed by the service provider 102 through execution of a service manager module 116. The network-based services 114(s) may be configured in a variety of ways, such as to provide email, instant messaging, web pages, online banking, web logs (i.e., blogs), and so on. As previously described, one or more of the network-based services 114(s) may be configured to accept information input by a user, such as to “logon” to the network-based service 114(s).
To assist the user in inputting the information and otherwise interacting with the network-based service 114(s), the communication module 112 is illustrated as including a help module 118. The help module is representative of functionality to locate one or more help elements 120(h) which correspond to selectable portions of the content, such as a field to enter text, select from a drop-down menu, and so on. Thus, in this example, the help module 118 retrieves help elements 120(h) stored locally on the client 104 that correspond to selectable portions of content (e.g., a web page) received via a network-based service 114(s) over the network.
The help elements may be arranged for output in a variety of ways. For example, output of the help elements 120(b) may be synchronized with selection of the selectable portions such that a single help element 120(h) is displayed at a particular point in time, further discussion of which may be found in relation to
Generally, any of the functions described herein Can be implemented using software, firmware, hardware (e.g., fixed logic circuitry), manual processing, or a combination of these implementations. The terms “module,” “functionality,” and “logic” as used herein generally represent software, firmware, hardware, or a combination thereof. In the case of a software implementation, for instance, the module, functionality, or logic represents program code that performs specified tasks when executed on a processor (e.g., CPU or CPUs). The program code can be stored in one or more computer readable memory devices, e.g., memory 110. The features of the techniques to output help elements described below are platform-independent, meaning that the techniques may be implemented on a variety of commercial computing platforms having a variety of processors.
The user interfaces 200, 300 include a plurality of selectable portions which may be configured in a variety of ways. For example, a drop-down selectable portion 202 may be used to select from a variety of different choices, such as “country/region” in the illustrated instance. The user interfaces 200, 300 may also include a text-entry selectable portion 204 to receive text input by a user, which in the illustrated instance is utilized to enter a proposed ID. Further, the user interfaces 200, 300 may also include a button 206 which is selectable to initiate functionality, such as to check availability the proposed ID entered in the selectable portion 204. A variety of other examples of selectable portions are also contemplated.
When interacting with the content, the user may select the selectable portions in sequence to input data, such as through the use of a cursor control device, “tabbing”, and so on. In an implementation, the output of help elements is synchronized with the sequential selection such that information relevant to the currently selected portion is output, thereby reducing clutter as opposed to traditional techniques.
A user, for example, may select the portion 202 to input a country/region. Upon selection of the portion, a help element 208 is output. For instance, the help element 208 may be output using non-modal techniques such that the help element 208 does not require an input from the user to be removed from the user interface 200. In other words, the help element 208 may be output yet not interfere with interaction with the selectable portion. A variety of other examples are also contemplated, such as through the use of “modal” elements. The help element 208 includes information relating to the portion that is selected. In an implementation, information contained within the help element 208 may change to address data as it is being entered in the field, such as to acknowledge that a selection was made successfully, unsuccessfully, that data entered is not compatible, and so on. The “changing” of the help element may be performed as interaction is being performed, and thus may be accomplished before a user selects an “enter” key and so on. Again, a variety of other examples are also contemplated.
The user may then select another one of the selectable portions as shown in
In an implementation, the user interface, through execution of the help module 118, may also support functionality to allow a user to “turn on” each help element that relates to a selectable portion on the page, such as through selection of a “show all” button 304 as illustrated in
Exemplary Procedures
The following discussion describes output techniques that may be implemented utilizing the previously described systems and devices. Aspects of each of the procedures may be implemented in hardware, firmware, or software, or a combination thereof. The procedures are shown as a set of blocks that specify operations performed by one or more devices and are not necessarily limited to the orders shown for performing the operations by the respective blocks. In portions of the following discussion, reference will be made to the environment 100 of
The user interface is updated in response to sequential selection of the portions (block 604). The user, for instance, may use a cursor control device and/or keyboard to navigate to different selectable portions 202-206.
Through this interaction, an input may be received selecting one of the portions (block 606). For example, the communication module 112 may receive the input from a user that “tabs” to a particular portion 202 in the user interface 202 to select the portion. The select portion is identified (block 608), such as by reading a tag that corresponds to the portion by the help module 118. A help element is retrieved that corresponds to the select portion (block 610). The help module 118, for example, may “look” at help elements 120(h) included in storage (e.g., memory 110) that is local to the client 104 to locate one or more help elements 120(h) that correspond to the selected portion.
The help module 118, for instance, may determine whether the client includes a help element that matches the selected portion (decision block 612), such as a help element that specifically corresponds to an identified tag. If so (“yes” from decision block 612), the matching help element is retrieved (block 614) and output concurrently and proximally to the selected portion (block 618). Help element 208 of
When a matching help element is not included on the client (“no” from decision block 612), a default help element is retrieved (block 616) that corresponds to the selected portion. For example, even though a particular help element may not be found that matches the selected portion, e.g., is configured for a particular tag included in hypertext markup language (HTML) content, a default tag may be found that corresponds to a general topic of the selected portion. The help elements, for instance, may be arranged into groups 122 based on topic, such as location-based topics (e.g., country, state, street address), password (e.g., enter password, verify password), and so on. Therefore, when a particular help element cannot be found that matches the selected portion (e.g., there is not a help topic for “Windows Live ID”), a default topic may be found that relates to an ID in general. This default help element may also be output concurrently and proximal to the selected portion (block 618) as previously described. A variety of other techniques are also contemplated to locate default help elements, such as through a keyword search.
This procedure 600 may also be iterative, such that, when an input is received that selects another portion of the content (block 620), another determination is performed as to whether the client includes a help element that matches the selected portion (block 612). Additionally, although this procedure 600 described location of help elements as being stored locally on the client 104, the help elements may be stored in a variety of other ways, such as accessible of the network 106 from a service provider 102 that provided the content via an application programming interface, from a database of help elements that are accessible by other users (and further which may be modifiable by the other users), and so on.
Although the groups (e.g., the first, second and third groups 210, 212, 214) are delineated through the use of lines in
An input is received (block 704), such as through interaction with a cursor-control device (e.g., a touch screen of a wireless phone), a mouse, “tabbing” through use of a keyboard, and so on. A determination is then made as to whether the received input selects another selectable portion of the user interface (decision block 706). If not (“no” from decision block 706), output of the help element is continued (block 708). For example, an input may be receive that “clicks” on a blank area of the user interface and therefore output of the help element 208 is continued to assist the user with the last selected portion.
When the received input selects another selectable portion (“yes” from decision block 706), a determination is made as to whether the selectable portion is included in a group having the focus (decision block 710). The user, for instance, may navigate from the selectable portion 202 to another selectable portion that is included within a same topic group, e.g., “logon” in this instance. Therefore, in this instance the output of the help element may be continued (block 708), such as in an instance in which the subject matter of the help element still pertains to the newly selected portion. In another instance, however, another help element may be output that pertains to the newly selected portion, as described in relation to
When the selectable portion is not included in the group having the focus (“no” from decision block 710), the user interface is output as having focus switched to another group having the selectable portion and having another help element relating to the portion (block 712). As before, focus may be shown in a variety of ways, such as through shadowing, bolding, italicizing, highlighting, and/or a color change of selectable portions to differentiate the group having focus from another group that does not have focus. A variety of other examples are also contemplated. Thus, selectable portions that are within a same group may be differentiated from other groups and help elements output based on the groups. A variety of other examples are also contemplated.
When in the first mode, the user interface is configured such that when a single one of the portions is selected, a single help element relating to the selected portion is output (block 804). For example, the first mode may correspond to sequential output as described in relation to
When in the second mode, the user interface is configured such that a plurality of help elements corresponding to a plurality of the portions is displayed in the user interface (block 806). The second mode, for example, may correspond to the output of a plurality of help elements as shown in
Although the invention has been described in language specific to structural features and/or methodological acts, it is to be understood that the invention defined in the appended claims is not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as exemplary forms of implementing the claimed invention.