PROVIDING HELP ON VISUAL COMPONENTS DISPLAYED ON TOUCH SCREENS

An aspect of the present disclosure provides help on visual components of interest displayed on a touch screen. In an embodiment, a help icon is displayed along with visual components generated for interaction with an application. The user is permitted to associate the help icon with a visual component of interest (for example, by dragging and dropping the help icon on the visual component), and help passage associated with the visual component is displayed as a response. As the user can accurately indicate the visual components of interest, the relevant help passages can be accurately identified and displayed.

DETAILED DESCRIPTION OF THE INVENTION

An aspect of the present disclosure provides help on visual components of interest displayed on a touch screen. In an embodiment, a help icon is displayed along with visual components generated for interaction with an application. The user is permitted to associate the help icon with a visual component of interest (for example, by dragging and dropping the help icon on the visual component), and help passage associated with the visual component is displayed as a response.

As the user can accurately indicate the visual components of interest, the relevant help passages can be accurately identified and displayed. According to another aspect, only the help passage corresponding to the specific visual component of interest is displayed when such passage is available associated with the visual component.

According to yet another aspect, the visual components are displayed in a hierarchy for convenient interaction by a user. In case a user selects a visual component at a lower level, and there is no corresponding help passage for the component, the help passages corresponding to only the higher level component and the sub-components of the higher level component are searched for suitable text to display. The corresponding matching text is displayed for the help passage, as a response.

2. Example System

FIG. 1is a block diagram illustrating the details of an example special purpose computing system in which several aspects of the present disclosure can be implemented. Special purpose computing system (System)100, which may for example correspond to a personal digital assistant (PDA), a mobile phone, etc., is shown containing central processing unit (CPU)110), random access memory (RAM)120, secondary memory130, touch screen controller160, touch screen170, mouse interface180and keypad interface190. All the components except touch screen170may communicate with each other over communication path150, which may contain several buses as is well known in the relevant arts.

CPU110may execute instructions stored in RAM120to provide various features of system100. Thus, for example, when system100corresponds to a PDA, the operation of CPU110may enable a user to use one or more of many user applications stored in the PDA and executable by CPU110. The applications may include, for example, word processors, web browsers, email client, data organizers such as address books, etc. CPU110may contain multiple processing units, with each processing unit potentially being designed for a specific task. Alternatively, CPU110may contain only a single general-purpose processing unit.

RAM120may receive instructions from secondary memory130using communication path150. RAM120is shown currently containing software instructions constituting shared environment125and user programs126. Shared environment125contains utilities shared by user programs126, and such shared utilities include operating system, device drivers, etc., which provide a (common) run-time environment for execution of user programs/applications. User programs126may include applications such as word processing, email client, etc., noted above. One or more of user programs126may be designed to interact with a user via a graphical user interface (GUI) presented on touch screen170, described below.

Secondary memory130represents a non-transitory machine readable storage medium, and may store data and software instructions (for example, for performing the steps of the flowchart ofFIG. 2, described below), which enables system100to provide several features in accordance with the present disclosure. Further, secondary memory130may store data representing various ‘help passages’ corresponding to an application executed by CPU110. Secondary memory130may be implemented using one or several non-volatile memory technologies such as flash memory. The code/instructions stored in secondary memory130may either be copied to RAM prior to execution by CPU110for higher execution speeds, or may be directly executed by CPU110.

Mouse interface180enables user-inputs to be provided to system100via a mouse (not shown) connected on path181. Keypad interface190is connected to a keypad (not shown) via path191, and enables user-inputs to be provided to system100via a keypad.

Touch screen controller160generates display signals (e.g., in RGB format) to cause corresponding text or images (for example, in the form of a GUI) to be displayed on touch screen170. Touch screen controller160receives touch signals generated by touch screen170, in response to touch/pressure (in general, the touch operations) applied on touch screen170. Touch screen controller160may process such touch signals and generate digital data representing the touch signals.

The generated digital data is passed to appropriate execution entities via the shared environment125. For example, if a touch operation is performed with respect to a visual component controlled by a user application, the digital data is eventually delivered to the user application.

Touch screen170displays text/images, etc, defined by the display signals received from touch screen controller160. Thus, touch screen170may display a GUI generated by an application executed by CPU110. Touch screen170generates touch signals in response to touch operations using finger(s) or stylus, etc., with respect to a corresponding portion (for example a visual component) of touch screen170. Touch screen controller160and touch screen170may be implemented in a known way.

A GUI displayed on touch screen170may include one or more visual components, as noted above. A user using the corresponding application generating the GUI may wish to obtain help on one or more of the visual components. The manner in which such help is provided is described next with respect to a flowchart.

3. Providing Help on Visual Components

FIG. 2is flowchart illustrating the manner in which help is provided on visual components displayed on a touch screen, in an embodiment of the present disclosure. The steps in the flowchart are described with respect to the example system ofFIG. 1, and in a specific sequence merely for illustration. Alternative embodiments in other devices/environments, and using a different sequence of steps can also be implemented without departing from the scope and spirit of several aspects of the present disclosure, as will be apparent to one skilled in the relevant arts by reading the disclosure provided herein. The flowchart starts in step201, in which control passes immediately to step210.

In step210, a help icon is displayed along with visual components on a display screen. In the embodiments described below, the help icon corresponds to a graphical icon (another visual component). However, alternative embodiments can employ simpler (e.g., as simple as a line or a circle) or complex visual components, without departing from the scope and spirit of the present disclosure, as will be clear to one skilled in the relevant arts by reading the disclosure herein. As described below, the help icon is provided to enable a user to obtain help text/topics related to the other visual components displayed on the display screen.

In step220, touch signals are received indicating that the help icon has been associated (by a user) with a displayed visual component. Any suitable conventions based on touch operations of users, can be employed for such association. In the example embodiments described below, a user is shown employing a drag and drop touch operation (where the first touch/tap represents the selection of the help icon and swiping continues until the help icon is dropped on the component of interest) for such an association. Such a convention requires only a single finger of a user. However, alternative conventions using multiple fingers, etc., can be employed in combination with the help icon, without departing from the scope and spirit of several aspects of the present disclosure.

In step250, a help passage associated with the component is retrieved. Thus, help passages may be maintained for at least each of the displayed visual components, for which users are likely to seek help. When the user thereafter selects a displayed visual component by the association noted in step220, the help passage corresponding to the associated displayed visual component is selected. The help passage for each visual component may represent information describing the component, its use or any other related information the user may be interested in.

In step270, the retrieved help passage is displayed on the touch screen. The term display includes sending the corresponding command/data, which causes the eventual display to be caused on a display screen. The flowchart ends in step299.

It may thus be appreciated that help is conveniently provided associated with visual components of interest using a help icon and the touch features present associated with the touch screen. In addition, since the intent of the user as to the specific visual component of interest is certain, relevant help passages can be displayed with a higher probability at least compared to text-based search approaches. The description is continued with respect to example user interface(s) implementing the approach noted above.

4. User Interface

FIGS. 3-8together depict an example user interface using which help is provided on visual components, in one embodiment.FIG. 3depicts a simplified user interface300provided by a word processor application. User interface300is shown containing text edit area320and ribbon330.

Text edit area320is shown containing text presently being edited by a user with the cursor and mouse pointer respectively shown at321and322. As is well known, a cursor represents the position where any text inputs would be inserted (using keypad/board) and a mouse pointer represents the position pointed by the mouse. It should be appreciated that the embodiments of the present disclosure can be implemented in mobile phones/PDA type of devices, which may not have keyboard, mouse, etc., and the users of such devices can conveniently use the approaches described herein to seek help on the displayed visual components of interest.

Ribbon330is shown containing various tabs (examples of visual components) ‘File’, ‘Format’, ‘Layout’ and ‘View’, in addition to help icon310. It may be observed that each visual component is designed for corresponding interaction by a user. The functions thus provided are organized hierarchically for convenient navigation by the user.

The ‘File’ tab (representing a visual component) is shown as having been selected and accordingly the sub-options ‘New’, ‘Save’ and ‘Print’ (all representing visual components as well) are also shown in the ribbon. It is now assumed that the user wishes to seek help on the ‘Save’ sub-option, and the manner in which the features of the present disclosure can be used for obtaining help is described below with respect toFIG. 4.

FIG. 4represents the display as a user uses a drag-and-drop operation to associate the help icon with the ‘Save’ sub-option. The user performs a drag-and-drop operation by first placing a finger (or stylus, etc.) on help icon at310and dragging (i.e., maintaining continuous touch with the screen) the icon along the path shown until the icon is placed over the ‘Save’ sub-option, as shown at410. The various positions of the icon along the drag and drop operation are shown along the dotted path.

Upon completion of the dropping (i.e., finger being lifted) of icon310, help message510is shown displayed in edit portion320, as depicted inFIG. 5.

FIG. 6depicts the organization of help passages corresponding to various visual components of GUI300. The help passages available for some of the components of GUI300are shown. The help passages together may be viewed as a help text and thus the help passages are shown stored as successive portions of the help text.

Help passages605,620,630,640and650are assumed to be tagged associated with visual components ‘Save’, ‘Format’, ‘Margins’, ‘Orientation’ and ‘Size’. Tagging implies storing some configuration data which indicates the specific help segment/text/passage is associated with a corresponding visual component. As described below, the last three visual components are sub-options of ‘Format’ tab. It may thus be appreciated that the help passages are conveniently organized matching the hierarchy of the associated visual component.

Thus, when ‘Save’ sub-option is selected inFIG. 4, system100examines the help text ofFIG. 6to retrieve help passage605(tagged associated with the sub-option ‘Save’), and display the contained text, as shown inFIG. 5. While the help information is shown in the form of only text, it should be appreciated other forms such as sound and video can also be employed for providing help, as suited in appropriate situations.

From the above, it may be appreciated that the help information provided is precise and relevant to what the user seeks, since the user is able to precisely indicate her/his visual component of interest, and the help passages are organized associated according to the respective components.

Furthermore, even if a ‘Save’ sub-option is available under some other option or sub-option (such as for example ‘Layout’ tab520), and assuming that sub-option has a different help information, such information is not displayed inFIG. 6, thereby avoiding display of potentially irrelevant information. In general, it may be appreciated that only the help passage corresponding to the visual component of interest (and not the help passages for other visual components, even if similar labeled) is sent for display.

An aspect of the present disclosure provides help information even if a help passage is not explicitly tagged for a corresponding visual component.FIGS. 7 and 8in combination with portions ofFIG. 6are used to illustrate the manner in which such help information is provided.

5. Providing Help On a Component That Does Not Have a Tagged Help Passage

FIG. 7shows user interface300, when the user has selected the ‘Format’ tab. The corresponding sub-options ‘Margins’, ‘Orientation’, ‘Size’ and ‘Columns’ are available for user-selection. It is assumed herein that there is no help passage tagged for visual component ‘Columns’ Correspondingly,FIG. 6does not contain a help passage explicitly tagged for ‘Columns’, although it may be observed that help passages explicitly tagged for main option ‘Format’ and the other three sub-options ‘Margins, ‘Orientation’ and ‘Size’ exist, as indicated by help passages620,630,640and650.

InFIG. 8, the user is shown as seeking help on the ‘Columns’ sub-option (i.e., ‘Columns’ is the visual component of interest), as indicated by the drag-and-drop of the help icon310on the ‘Columns’ sub-option.

According to an aspect of the present disclosure, when a help passage is not explicitly tagged for a component, system100determines if a parent component is present. A parent component is the component that is located immediately above (in hierarchy) the component for which help is sought in a corresponding hierarchy of components.

To illustrate, the ‘Format’ component inFIG. 7may be observed as located immediately above the sub-option components ‘Orientation’, ‘Size’ and ‘Columns’, in the interface hierarchy. Thus, ‘Format’ may be viewed as a parent component, with ‘Orientation’, ‘Size’ and ‘Columns’ being the corresponding child components. Thus, system100determines ‘Format’ as being the parent component of ‘Columns’.

Having determined the parent component, system100performs a keyword search for the text ‘Column’, in a help portion starting from the help passage corresponding to the parent component (‘Format’ in the example) and ending with the help passage corresponding to the last child in the hierarchy. With respect toFIG. 6, system100starts the keyword search from the start of help passage620corresponding to ‘Format’, and obtains a match in the sentence/text indicated as690.

System100then provides text690(“Text can be split into two or more columns ”) as the closest help passage/text for ‘Columns’, as indicated by810inFIG. 8. The specific location inFIG. 6of text690is provided merely as an example, and text690may be located anywhere within the start of help passage620and the end of help passage650.

Although a simple keyword search is noted above as being performed by system100, system100may employ other/more complex techniques (e.g., based on various heuristics, etc.) to identify the help passage(s) to be provided for a component that does not have a tagged help passage. To enable identification of help passages for corresponding components, system100may maintain information specifying the hierarchies of the various components.

In an embodiment of the disclosure, a user application (e.g., the word processing application, described above) generates/specifies the various visual components and operating system125(part of the shared environment) adds help icon310to the visual display. Each visual component has an associated function/utility that can be obtained by selection of the corresponding visual component. Instructions of the user application are operative to provide the corresponding function/utility.

Thus, the features described above can be implemented with respect to any of the user applications, as suitable in corresponding environments. In addition, the features can be implemented in the context of the operating system as well (with the help icon being displayed in addition to various desk top icons otherwise displayed, as an example). It may thus be appreciated that the help icon is displayed in addition to the various visual component generated for interaction with the corresponding application.

Furthermore, the described features, structures, or characteristics of the disclosure may be combined in any suitable manner in one or more embodiments. In the above description, numerous specific details are provided such as examples of programming, software modules, user selections, network transactions, database queries, database structures, hardware modules, hardware circuits, hardware chips, etc., to provide a thorough understanding of embodiments of the disclosure.

It should be understood that the figures and/or screen shots illustrated in the attachments highlighting the functionality and advantages of the present disclosure are presented for example purposes only. The present disclosure is sufficiently flexible and configurable, such that it may be utilized in ways other than that shown in the accompanying figures.