This application claims priority of Taiwan Patent Application Serial No. 99114016 entitled “Method, Device and Computer Program Product for Providing a Context-Aware Help Content”, filed on Apr. 30, 2010.
The disclosure relates generally to mobile devices, software, and more particularly to context-aware help content.
Mobile devices, such as mobile phones, PDAs, computing tablets, GPS systems, and any pervasive device, have continuously increased in popularity and power. This increased power has led to an increase in functionality and a corresponding increase in complexity. This increase in complexity has resulted in a significant learning curve, which poses as a barrier for taking advantage of features of the mobile devices.
For example, in addition to traditional voice communication, many mobile devices provide a variety of applications to users which enable Internet use. Conventionally implemented help features and techniques are geared towards personal computers. These personal computers have significantly larger screen size, a variety of interface peripherals, and the like, which are not available to a mobile device. Thus, attempts to port existing techniques have largely failed, to one extent or another—primarily due to these techniques being cumbersome to use from a user experience perspective and being resource hungry in the mobile device context.
One embodiment discloses a method, a computer program product, and/or a data processing system for providing a context-aware help content. The method comprises the following steps: collecting objects (e.g. components) shown on a display interface for a running application and identifications (IDs) representing the objects; determining whether there are object identifications of objects with help contents associated; and displaying a transparent layer over the display interface and highlighting all the objects with help contents associated on the layer to prompt a user to select a desired object. The present invention also discloses that when an object is selected by a user, the content of the object will be displayed directly on the layer, beside the object and over the display interface.
Another embodiment discloses a method, a computer program product, and/or a data processing system for presenting a set of graphical objects on a touch-sensitive screen. A graphical overlay can be presented on the touch-sensitive screen. The graphical overlay can have a level of transparency that permits the graphical objects to be seen through the graphical overlay. The graphical overlay can present a help indictor proximate to the graphical objects for which help content is available. No help indicator is presented on the graphical overlay proximate to graphical objects to which help content is not available. A touch input can be received on the touch-sensitive screen for one of the help indicators and a corresponding one of the graphical objects is still visible through the graphical overlay. Responsive to the touch input, help content can be determined for the one of the graphical objects. The help content can be presented on the touch-sensitive screen in responsive to receiving the touch input.
Several techniques exist to provide the help features for applications running on a mobile device. All of these known techniques have significant shortcomings. For example, one technique is to provide a reference document to a user, where the reference document provides help content. The reference document can be provided within a locally running application or through an external Website. In a mobile device (e.g., a handheld device) context, however, use of a reference document requires a user to switch contexts and to traverse the document to find a specific help document that the user desires. This is troublesome from a handheld device, which has a very limited display region. This technique can also consume substantial resources, resulting in poor performance and weak response time from the mobile device.
Another conventional approach is to put an embedded assistance proximate to content elements that might require further explanation. For example, a question mark icon can be provided beside a component for which explanations are available. This technique can consume screen space of a limited GUI, can result in a cluttered layout, and can increase a number of user-selectable targets thereby increasing user input mistakes. Generally, this technique when applied to a mobile device often results in a reduction in a user's satisfaction with the user interface.
Still another technique is to associate an embedded help feature without any icons or indicators appearing on the display. This permits users to click/touch the component in a characteristic manner, which results in a help message being responsively presented. With this technique, however, users often are not aware of what elements have help associated with them and what elements don't. Worse, user interface elements and selection mechanisms are often functionally overloaded, so a user attempting to activate help for an element often inadvertently triggers other device functions or simply does nothing. Both situations are highly frustrating to end-users. These problems were evaluated, analyzed, and investigated during the course of developing the solutions of the disclosure.
An embodiment of the disclosure provides a help mode for displaying a transparent layer over an existing display interface. The help mode can be triggered in a system/user defined way. After a mobile device enters the help mode by a user, a transparent layer can cover the display interface. The components shown on the display interface having associated help contents can be highlighted on the layer in a dynamic fashion for prompting the user to select a desired component (i.e. target component). Use of other visual indicia (in substitution or in addition to highlighting) is also contemplated. The location of each UI component can depend on the layout design of the display interface of a running and displayed application, and thus does not need a predetermined location. Basically, the display interface of each application will have a different layout of components, also called a different context.
Once a component is selected by the user, the help contents will be displayed directly on the transparent layer, beside the target component, and over the original UI. After the user exits from the help mode, the transparent layer withdraws and the user is back to the original UI. As disclosed in the present invention to dynamically highlight the components with help contents associated according to the context of an application, it provides a context-aware help feature on a mobile device.
Thus, the present disclosure provides a help mode. As the help contents are directly shown beside the component selected by a user, the user needs not to leave the current application/tab and traverse through help document to find specific topics. No context switch is needed for the help contents. Thus, an intuitive and efficient mechanism is accomplished for help features according to the present invention. Next, the help mode according to the present invention does not take up any space on the original UI. A developer has no effort of designing where and how to put the help icons and help content on the layout, as these are placed on the transparent layer by default. Accordingly, the help features according to the disclosure may maintain a concise UI. Finally, as the components having help contents are highlighted on a transparent layer in a dynamic fashion, users don't have to use advanced operations such as touch, hold or hover etc. Thus, the solution according to the present invention provides an ease-of-use mechanism for help features.
As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing. Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
Aspects of the present invention are described below with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions.
These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
In
In one embodiment, the processor 110 may be a general purpose processing unit or a special purpose processing unit for handling analog/digital signal or executing program codes for providing specific function, such as microprocessor 112, digital signal handler 114, and other chips 116.
The storage device 120 may includes random access memory (RAM) 122 and read-only memory (ROM) 124 for storing program codes or other data to be accessible to the handheld device 100. The storage device 120 may have other storage unit 126 for accessing and/or storing additional data, such as card reader, memory card, external disk arrays.
The display device 130 may have LCD monitor 132 for displaying to the user the interface or other information of the operating system or the result of the executed application program. The display device 130 may have an auxiliary display unit 134 for providing other indication or information to the user, such as an LED light or the likes.
The communication and input/output device 140 may include a keyboard 142, a wireless communication unit 144 and adaptor 146. The keyboard 142 may be used as an input device for inputting instructions and/or data by the user, such as a digit pad, a QWERTY keypad, or other keyboard. In addition, the keyboard 142 may have other additional component, such as function keys, arrow keys, switches, radio buttons, knobs, joysticks, buttons or other elements for inputting data. The wireless communication unit 144 may be used to wirelessly transfer data, such as digital data transmission or voice data transmission to the base station by means of any kind of protocols, such as GSM, CDMA, SMS, MMS, WIFI, Bluetooth, IrDa (Infrared Data Association), etc. The adaptor 146 may provide a connection to external devices for transmitting data, such as IEEE 1394, USB or other adaptors
The peripheral device 150 may have extra an expansion slot 152 for providing addition functions; a photography device 154 for picture or video capturing; and other auxiliary component 156, such as a barcode scanner, RFID unit, etc.
The miscellaneous device 160 may include other components, such as battery 162, vibrating element 164, amplifier 166, microphone 168, etc.
When the user of the mobile device 200 is using the ABC application 210 and is wondering what the component “Favorites” button (the one with a star sign shown in a lower position of
As shown
Referring now to
As mentioned above, the storage device 120 in the mobile device 100 may store the program codes to be executed by the processor 110 for providing the functions of the mobile device 100. Thus, the program codes included in the program module of performing the help mode according to the preferred embodiment of the present invention will be stored in the storage device 120 to be executed by the mobile device 100.
In an embodiment according to the present invention, the component herein means an element shown in the layout on the display interface or user interface (UI). The component is also called a “Widget” in the field of programming of graphic user interface (GUI). In fact, the present invention can be applied to any objects with a unique identification, for example, any words, terms, sentences or paragraphs shown in a webpage, which require further explanations.
Next, a transparent layer will be displayed over the original display interface, and all the UI components with help contents associated will be dynamically highlighted on the transparent layer 240 to prompt the user to select a target component for usage explanation or further description (step 340). The technique of displaying (or creating) a transparent layer or a Widget is widely supported on various platforms. In general, it's done by setting the value of the component's transparency (more exactly, “alpha” value). For example, the setting of:
Besides, for web-pages design, JavaScript™ library also provides a feature of setting the value of the component's transparency, such as:
Once a component is selected by the user, the help contents will be displayed directly on the transparent layer, beside the target component, and over the original UI (step 360). As mentioned above, the program module of performing the help mode may trigger the context-aware help feature on the mobile device and enter a help mode by using voice-over commands or any other mechanisms (e.g. clicking a specific key). Similarly, the program module may exit from the help mode by using voice-over commands or any other mechanisms (e.g. clicking another specific key, or re-clicking the specific key, even double-clicking the specific etc.)
The flowchart and block diagrams in the
Number | Date | Country | Kind |
---|---|---|---|
99114016 A | Apr 2010 | TW | national |
Number | Name | Date | Kind |
---|---|---|---|
5287448 | Nicol et al. | Feb 1994 | A |
5946647 | Miller et al. | Aug 1999 | A |
6339436 | Amro et al. | Jan 2002 | B1 |
6452607 | Livingston et al. | Sep 2002 | B1 |
6563514 | Samar | May 2003 | B1 |
6973663 | Brown et al. | Dec 2005 | B1 |
7516405 | Burkhart et al. | Apr 2009 | B2 |
7921370 | Legault | Apr 2011 | B1 |
8042045 | Sullivan et al. | Oct 2011 | B1 |
8166395 | Omi et al. | Apr 2012 | B2 |
20020036662 | Gauthier et al. | Mar 2002 | A1 |
20040044635 | Gordon et al. | Mar 2004 | A1 |
20040128388 | Kaiser | Jul 2004 | A1 |
20050085257 | Laird et al. | Apr 2005 | A1 |
20050154986 | Bartek et al. | Jul 2005 | A1 |
20050197852 | Gebhard et al. | Sep 2005 | A1 |
20050220439 | Carton et al. | Oct 2005 | A1 |
20050268234 | Rossi et al. | Dec 2005 | A1 |
20060010381 | Molander et al. | Jan 2006 | A1 |
20060173816 | Jung et al. | Aug 2006 | A1 |
20070061722 | Kronlund et al. | Mar 2007 | A1 |
20070061723 | Ohga et al. | Mar 2007 | A1 |
20070101288 | Forstall et al. | May 2007 | A1 |
20070122789 | Yoo | May 2007 | A1 |
20070220428 | Kureshy et al. | Sep 2007 | A1 |
20070220429 | Kureshy et al. | Sep 2007 | A1 |
20070298385 | Jenkins et al. | Dec 2007 | A1 |
20080052622 | Yajima et al. | Feb 2008 | A1 |
20080201667 | Drayer et al. | Aug 2008 | A1 |
20080228315 | Wendner et al. | Sep 2008 | A1 |
20080280588 | Roundtree et al. | Nov 2008 | A1 |
20080294549 | Leader | Nov 2008 | A1 |
20080301558 | Najafi et al. | Dec 2008 | A1 |
20080306946 | Wu | Dec 2008 | A1 |
20090006956 | Bae et al. | Jan 2009 | A1 |
20090204928 | Kallio et al. | Aug 2009 | A1 |
20090271704 | Cohen | Oct 2009 | A1 |
20090300494 | Cottingham et al. | Dec 2009 | A1 |
20100167788 | Choi | Jul 2010 | A1 |
20100192097 | Brugler et al. | Jul 2010 | A1 |
20110225494 | Shmuylovich et al. | Sep 2011 | A1 |
Number | Date | Country |
---|---|---|
2001084072 | Mar 2001 | JP |
2002316466 | Oct 2002 | JP |
2005339560 | Aug 2005 | JP |
2005293248 | Oct 2005 | JP |
2008115194 | May 2008 | JP |
2008115196 | May 2008 | JP |
2009244841 | Oct 2009 | JP |
2011238220 | Nov 2011 | JP |
200736892 | Oct 2007 | TW |
201001272 | Jan 2010 | TW |
201009688 | Mar 2010 | TW |
201137725 | Jan 2011 | TW |
2009114285 | Sep 2009 | WO |
WO 2010141748 | Dec 2010 | WO |
Entry |
---|
U.S. Appl. No. 61/185,839, filed Jun. 10, 2009. |
Leung et al. “The Learnability of Mobile Application Interfaces Needs Improvement” Department of Computer Science, Department of Psychology; University of British Columbia; pp. 1-2. |
Number | Date | Country | |
---|---|---|---|
20110271185 A1 | Nov 2011 | US |