# Patent

## Title
Method and device for audibly instructing a user to interact with a function

## Abstract

A method for audibly instructing a user to interact with a function. A function is associated with a user-written selectable item. The user-written selectable item is recognized on a surface. In response to recognizing the user-written selectable item, a first instructional message related to the operation of the function is audibly rendered without requiring further interaction from the user.

## Background
CROSS-REFERENCE TO RELATED APPLICATION
This Application is a Continuation-in-Part of the co-pending, commonly-owned U.S. patent application Ser. No. 10/803,806, filed Mar. 17, 2004, by James Marggraff et al., entitled “SCANNING APPARATUS,” and hereby incorporated by reference herein in its entirety.
This Application is a Continuation-in-Part of the co-pending, commonly-owned U.S. patent application Ser. No. 10/861,243, filed Jun. 3, 2004, by James Marggraff et al., entitled “USER CREATED INTERACTIVE INTERFACE,” and hereby incorporated by reference herein in its entirety.
This application is a Continuation-in-Part of the co-pending, commonly-owned U.S. patent application Ser. No. 11/034,491 filed Jan. 12, 2005, by James Marggraff et al., entitled “A METHOD AND SYSTEM FOR IMPLEMENTING A USER INTERFACE FOR A DEVICE EMPLOYING WRITTEN GRAPHICAL ELEMENTS,” and hereby incorporated by reference herein in its entirety.
This application is related to co-pending, commonly-owned U.S. patent application Ser. No. 11/035,155 filed Jan. 12, 2005, by James Marggraff et al., entitled “A METHOD AND SYSTEM FOR IMPLEMENTING A USER INTERFACE FOR A DEVICE THROUGH RECOGNIZED TEXT AND BOUNDED AREAS,” and hereby incorporated by reference herein in its entirety.
This application is related to co-pending, commonly-owned U.S. patent application Ser. No. 11/035,003 filed Jan. 12, 2005, by James Marggraff et al., entitled “TERMINATION EVENTS,” and hereby incorporated herein in its entirety.


FIELD OF INVENTION
Embodiments of the present invention relate to the field of interactive devices. More specifically, embodiments of the present invention relate to a pen-based interactive device.
BACKGROUND OF THE INVENTION
Devices such as optical readers or optical pens conventionally emit light that reflects off a surface to a detector or imager. As the device is moved relative to the surface (or vice versa), successive images are rapidly captured. By analyzing the images, movement of the optical device relative to the surface can be tracked.
One type of optical pen is used with a sheet of paper on which very small dots are printed. The dots are printed on the page in a pattern with a nominal spacing of about 0.3 millimeters (0.01 inches). The pattern of dots within any region on the page is unique to that region. The optical pen essentially takes a snapshot of the surface, perhaps 100 times a second or more. By interpreting the dot positions captured in each snapshot, the optical pen can precisely determine its position relative to the page.
Applications that utilize information about the position of an optical pen relative to a surface have been or are being devised. An optical pen with Bluetooth or other wireless capability can be linked to other devices and used for sending electronic mail (e-mail) or faxes.
The increasing power of embedded computer systems and the complexity of the functions they are able to implement have created a need for a more intuitive and user-friendly manner of accessing such power. A typical prior art optical pen will implement its intended functionality by the user operating one or more buttons/switches or controls of the optical pen to activate one or more software programs, routines, embedded devices, or the like. The pen may contain or be in communication with a computer system. Upon actuation of such controls, the pen device performs its intended function. Accessing the capabilities of increasingly powerful optical pens through the limited number and configuration of switches, buttons, etc. provided on the pen itself, or any remotely coupled computer system device, is not a satisfactory arrangement.
One prior art solution uses the optical pen to recognize a user-defined command, and uses that command to invoke some function of the pen (e.g., PCT publication WO/01/48590 A1). For example, a user's writing can be recognized (e.g., in real-time) and interpreted as a command for the optical pen. The drawback with this solution involves the fact that interaction and control of the functions of the pen requires real-time recognition of the user's handwriting (e.g., as the user writes the command down on a sheet of paper). This solution is not satisfactory due to the fact that interaction with more complex functionality of an optical pen requires the user to repeatedly write-down one or more commands to access different choices, options, or functions provided by the pen. While the solution might be satisfactory for exceedingly simple, single step type applications (e.g., “turn off”, “store”, etc.), the solution is overly cumbersome and limiting in those cases where more complex, satisfying, rich functionality is desired.
SUMMARY OF THE INVENTION
Accordingly, a need exists for an interactive device that provides an efficient user interface for interacting with functions associated with user-written selectable items. A need also exists for an interactive device that satisfies the above need and provides audible instruction to a user that assists in enabling interaction with the function. A need also exists for an interactive device that satisfies the first need and provides automatic execution of particular functions without first requiring additional user interaction.
Various embodiments of the present invention, a method for audibly instructing a user to interact with a function, are described herein. A function is associated with a user-written selectable item. The user-written selectable item is recognized on a surface. In one embodiment the recognizing the user-written selectable item is performed in response to detecting a termination event indicating that the user-written selectable item is complete. In one embodiment, recognizing the user-written selectable item includes optically recording positions of the tip of a pen computer and performing image recognition of the positions to recognize the user-written selectable item.
In response to the recognizing the user-written selectable item, a first instructional message related to the operation of the function is audibly rendered without requiring further interaction from the user. In one embodiment, the first instructional message directs the user to draw at least one user interface element that enables the user to interface with the function.
In one embodiment, the function is executed prior to audibly rendering the first instructional message. In one embodiment, audibly rendering the first instructional message is performed by an audio output device of a pen computer.
In one embodiment, it is determined whether a writing has been drawn on the surface within a predetermined time period since the first instructional message was audibly rendered. Provided no writing has been drawn on the surface within the predetermined time period, the first instructional message is repeated.
In one embodiment, it is determined whether the user interface element has been properly drawn on the surface. Provided the user interface element has not been properly drawn on the surface, a second instructional message comprising a hint about a manner in which the user should properly draw the user interface element is audibly rendered. In one embodiment, provided the user interface element has been properly drawn, a third instructional message is audibly rendered. In another embodiment, provided the user interface element has been properly drawn, the function is executed. In one embodiment, in response to a user interaction with the user-written selectable item, the first instructional message is repeated.
In another embodiment, the present invention provides an interactive device including a bus, a processor, a memory unit, an audio output device, a writing element, and an optical detector that is operable to implement the described method for audibly instructing a user to interact with a function. In another embodiment, the present invention provides a computer-usable medium having computer-readable program code embodied therein for causing a computer system to perform the described method for audibly instructing a user to interact with a function.
In other various embodiments described herein, the present invention provides a method for automatically executing a function. A function is associated with a user-written selectable item. The user-written selectable item is recognized on a surface. In one embodiment the recognizing the user-written selectable item is performed in response to detecting a termination event indicating that the user-written selectable item is complete.
In response to the recognizing the user-written selectable item, the function is immediately executed without first requiring further interaction between a user and the surface. In one embodiment, the function is immediately executed without first requiring auxiliary writing by the user on the surface.
In one embodiment, an instructional message related to the operation of the function is audibly rendered without first requiring further interaction between the user and the surface. In one embodiment, the instructional message is audibly rendered in response to the lapsing of a predetermined time period without user interaction with the surface. In one embodiment, in response to a user interaction with the user-written selectable item, the function is re-executed.
In another embodiment, the present invention provides an interactive device including a bus, a processor, a memory unit, an audio output device, a writing element, and an optical detector that is operable to implement the described method for automatically executing a function. In another embodiment, the present invention provides a computer-usable medium having computer-readable program code embodied therein for causing a computer system to perform the described method for automatically executing a function.
In the various embodiments, the user-written selectable item includes one of: a symbol representation of an application program executable by the processor, a menu item of an application program executable by the processor, a navigation item, a data, an application option selector, or another selectable item.



BRIEF DESCRIPTION OF THE DRAWINGS
The accompanying drawings, which are incorporated in and form a part of this specification, illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention:
FIG. 1 illustrates an interactive device in accordance with an embodiment of the present invention.
FIGS. 2A through 2D illustrate exemplary user-written selectable items on a sheet of paper, in accordance with embodiments of the present invention.
FIG. 3 shows an exemplary sheet of paper provided with a pattern of marks according to one embodiment of the present invention.
FIG. 4 shows an enlargement of a pattern of marks on an exemplary sheet of paper according to one embodiment of the present invention.
FIG. 5 shows a flowchart of the steps of a process for facilitating interaction with user-written selectable items on a surface in accordance with one embodiment of the present invention.
FIG. 6 is a block diagram of another device upon which embodiments of the present invention can be implemented.
FIG. 7 is a block diagram of another device upon which embodiments of the present invention can be implemented.
FIGS. 8A and 8B show a flowchart of a process for audibly instructing a user to interact with a function in accordance with one embodiment of the present invention.
FIG. 9 shows a flowchart of a process for automatically executing a function in accordance with one embodiment of the present invention.



DETAILED DESCRIPTION
Reference will now be made in detail to various embodiments of the invention, an interactive device that allows a user to create and interact with selectable items written on a surface, examples of which are illustrated in the accompanying drawings. While the invention will be described in conjunction with these embodiments, it is understood that they are not intended to limit the invention to these embodiments. On the contrary, the invention is intended to cover alternatives, modifications and equivalents, which may be included within the spirit and scope of the invention as defined by the appended claims. Furthermore, in the following detailed description of the invention, numerous specific details are set forth in order to provide a thorough understanding of the invention. However, it will be recognized by one of ordinary skill in the art that the invention may be practiced without these specific details. In other instances, well known methods, procedures, components, and circuits have not been described in detail as not to unnecessarily obscure aspects of the invention.
Some portions of the detailed descriptions, which follow, are presented in terms of procedures, steps, logic blocks, processing, and other symbolic representations of operations on data bits that can be performed on computer memory. These descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. A procedure, computer executed step, logic block, process, etc., is here, and generally, conceived to be a self-consistent sequence of steps or instructions leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated in a computer system. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.
It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussions, it is appreciated that throughout the present invention, discussions utilizing terms such as “associating” or “recognizing” or “rendering” or “requiring” or “determining” or “repeating” or “executing” or “detecting” or “directing” or the like, refer to the action and processes of an electronic system (e.g., interactive device 100 of FIG. 1), or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the electronic device's registers and memories into other data similarly represented as physical quantities within the electronic device memories or registers or other such information storage, transmission or display devices.
EMBODIMENTS OF THE INVENTION
Various embodiments of the present invention, a method and device for audibly instructing a user to interact with a function, are described herein. In one embodiment, the described embodiments are implemented within an interactive device that allows a user to create and interact with selectable items written on a surface. The present invention provides a user with an interface that replaces an electronic display with any writable surface, such as a piece of paper. The user may create user-written selectable items on the surface that execute associated functions and/or represent user-written data, e.g., words, characters, numbers, symbols, etc. The user-written selectable items are persistent on the surface, allowing a user to execute functions associated with different selectable items throughout operation of the interactive device. In one embodiment, in response to recognizing a particular user-written selectable item as being associated with a particular function, the interactive device audibly renders an instructional message related to the operation of the function. In another embodiment, in another embodiment, in response to recognizing a particular user-written selectable item as being associated with a particular function, the interactive device immediately executes the function.
FIG. 1 illustrates an interactive device 100 in accordance with an embodiment of the present invention. Interactive device 100 includes processor 112, memory unit 114, audio output device 116, writing element 118 and optical detector 120 within housing 130. In one embodiment, processor 112, memory unit 114, audio output device 116 and optical detector 120 are communicatively coupled over bus 122.
In one embodiment, housing 130 is shaped in the form of a stylus or a writing instrument (e.g., pen-like). A user may hold interactive device 100 in a similar manner as a stylus is held. Writing element 118 is located at one end of housing 130 such that a user can place writing element 118 in contact with a writable surface (not shown). Writing element 118 may include a pen, a pencil, a marker, a crayon, or any other marking material. It should be appreciated that writing element 118 may also include a non-marking tip. During use, a user can hold interactive device 100 and use it in a similar manner as a writing instrument to write on a surface, such as paper.
Writing element 118 may be used to create user-written selectable items on the surface. A “user-written selectable item” may include any marking created by the user. If a marking is made on a surface (e.g., a sheet of paper), the user-written selectable item may be a print element. User-written selectable item include, but are not limited to symbols, indicia such as letters and/or numbers, characters, words, shapes, lines, etc. They can be regular or irregular in shape, and they are typically created using the stylus.
Interactive device 100 allows users to create user-written selectable items that represent different functions provided by interactive device 100. In one embodiment, the user-written selectable item includes a symbol representation of an application program executable by processor 112 (e.g., a calculator application or a dictionary application). In another embodiment, the user-written selectable item may include a navigation item (e.g., a menu), a menu item of an application program executable by said processor, an application option selector, or an instance of data (e.g., a word).
In some embodiments, the user-written selectable item can include a letter or number with a line circumscribing the letter or number. The line circumscribing the letter or number may be a circle, oval, square, polygon, etc. Such user-written selectable items appear to be like “buttons” that can be selected by the user, instead of ordinary letters and numbers. By creating a user-written selectable item of this kind, the user can visually distinguish user-written selectable items such as functional icons from ordinary letters and numbers. Also, by creating user-written selectable items of this kind, interactive device 100 may also be able to better distinguish functional or menu item type user-written selectable items from non-functional or non-menu item type user-written items. For instance, a user may create a user-written selectable item that is the letter “M” which has a circle around it to create an interactive “menu” icon. The interactive device 100 may be programmed to recognize an overlapping circle or square with the letter “M” in it as a functional user-written selectable item as distinguished from the letter “M” in a word. Computer code for recognizing such functional user-written selectable items and distinguishing them from other non-functional user-written items can reside in memory unit 114 in interactive device 100.
In another embodiment, the described user-written selectable items may include multiple characters, such as the letters “FT” which have a circle around it to create an interactive musical keyboard icon. In other embodiments, the described user-written selectable items may include multiple functions. For example, the letter “T” within a circle that represents a time function and the letter “D” within a circle that represents a date function may both be within a larger circle. This larger circle represents a user-written selectable item whereby a user interacting with the larger circle initiates execution of both the time function and the date function.
FIGS. 2A through 2D illustrate exemplary user-written selectable items on a sheet of paper, in accordance with embodiments of the present invention. With reference to FIG. 2A, user-written selectable element 206 is the letter “M” 202 with the circle 204 around the letter “M” 202. User-written selectable item 206 is drawn on sheet 200 with a writing element of an interactive device (e.g., writing element 118 of FIG. 1).
In one embodiment, user-written selectable item 206 represents a menu function of the interactive device. To indicate a selection of a particular menu item, directory, or subdirectory, a user may create another user-written selectable item or make a gesture with the interactive device 100. For example, if the user wants to proceed down a subdirectory of the menu, the user may then draw a check mark 210 on sheet 200 to indicate that a selection has been made. After drawing the checkmark, the menu items associated with user-written selectable item 206 may be audibly rendered by audio output device 116, after each subsequent selection or “down-touch” of the interactive device 100 onto the sheet 200 near user-written selectable item 206. Interaction with the checkmark 210 then selects the last option that was audibly rendered. For example, a “calculator” function could then be selected after the user hears the word “calculator” recited to change the mode of operation of the interactive device 100 to the calculator function
FIG. 2B shows how a user can create a paper calculator on a blank portion of sheet 200. In this example, after the user has selected the “calculator” function as described above, interactive device 100 audibly prompts the user to write down the numbers 0-9 and the operators +, −, ×/, and =. For example, a user may be prompted to create the user-written selectable items 220 including numbers and mathematical operators for operations such as addition, subtraction, multiplication, division, and equals. These are hard drawn on the surface. Interactive device 100 recognizes the positions of the created graphic elements and recognizes the actual user-written selectable items created. A user can then select at least two user-written selectable items to receive an audio output related to the selection of those at least two graphic elements. For example, the user may select sequence of graphic elements “4” “+” “7” “=” to hear the interactive apparatus 100 recite the result “eleven.”
The menu represented by user-written selectable item 206 and the paper calculator represented by user-written selectable item 220 can be re-used at a later time, since interactive device 100 has stored the locations of the user-written selectable items in memory unit 114. Also, an interaction of the pen with user-written selectable item 220 will automatically invoke the calculator function.
FIG. 2B also includes data 230. In the example shown in FIG. 2B, data 230 is the word “CAT”. It should be appreciated that data 230 can be any information (e.g., alphanumeric symbol, image, drawing, marking, etc.) that may be used by an application operating on interactive device 100. When written, the text string, CAT, is automatically recognized as the word cat. Its location on the surface is also recorded. Interaction of interactive device 100 with this text string automatically recalls the identified word CAT.
With reference to FIG. 2C, user-written selectable element 242 is the letter “T” with a circle drawn around the letter “T”. User-written selectable item 242 is drawn on sheet 200 with a writing element of an interactive device (e.g., writing element 118 of FIG. 1). In one embodiment, user-written selectable item 242 represents a time function of the interactive device. Executing the time function causes the interactive device to audibly render the current time. In one embodiment, the interactive device may also audibly render the current date.
In one embodiment, once user-written selectable element 242 has been drawn, the associated time function is immediately executed without requiring further interaction between the user and sheet 200. For example, the time function may be immediately executed without requiring a user to draw any auxiliary writing (e.g., a checkmark) on sheet 200 once user-written selectable element 242 has been recognized. It should be appreciated that in some embodiments, an auxiliary writing may be provided by a user to provide the functionality described above in accordance with the description of checkmark 210, but that it is not necessary. For instance, it may be desirable to immediately execute a function without requiring additional user interaction to optimize the user experience.
Still with reference to FIG. 2C, user-written selectable element 244 is the letter “C” with a circle drawn around the letter “C”. User-written selectable item 244 is drawn on sheet 200 with a writing element of an interactive device (e.g., writing element 118 of FIG. 1). In one embodiment, user-written selectable item 244 represents the calculator function of the interactive device as described in accordance with FIG. 2B (e.g., user-written selectable items 220).
In one embodiment, once user-written selectable element 244 has been drawn, an instructional message related to the operation of the calculator function is audibly rendered without requiring further interaction between the user and sheet 200. For example, once user-written selectable element 244 has been recognized, an instructional message directing a user to draw a calculator, or a portion thereof, is audibly rendered without requiring a user to draw any auxiliary writing (e.g., a checkmark) on sheet 200. As described above, it should be appreciated that in some embodiments, an auxiliary writing may be provided by a user to provide the functionality described above in accordance with the description of checkmark 210, but it is not necessary. For instance, it may be desirable to provide instruction to a user as to the use of a function without requiring additional user interaction to optimize the user experience.
With reference to FIG. 2D, user-written selectable element 254 is the letters “FT” with a circle drawn around the letters “FT”. User-written selectable item 254 is drawn on sheet 200 with a writing element of an interactive device (e.g., writing element 118 of FIG. 1). In one embodiment, user-written selectable item 254 represents a musical keyboard function of the interactive device.
In one embodiment, once user-written selectable element 254 has been drawn, an instructional message related to the operation of the musical keyboard function is audibly rendered without requiring further interaction between the user and sheet 200. For example, once user-written selectable element 254 has been recognized, an instructional message directing a user to draw a keyboard 256, or a portion thereof, is audibly rendered without requiring a user to draw any auxiliary writing (e.g., a checkmark) on sheet 200.
Optical detector 120 is atone end of the stylus-shaped interactive device 100. Optical detector 120 is operable to detect information on the surface. For example, optical detector 120 may comprise a charge coupled device. In one embodiment, interactive device also comprises an optical emitter for illuminating a portion of the surface that is detected by optical detector 120. The information detected by optical detector 120 is transmitted to processor 112.
Processor 112 may include any suitable electronics to implement the functions of the interactive device 100. Processor 112 can recognize the user-written selectable items and can identify the locations of those user-written selectable items so that interactive device 100 can perform various operations. In these embodiments, memory unit 114 may comprise computer code for correlating any user-written selectable items produced by the user with their locations on the surface.
Memory unit 114 comprises computer code for performing any of the functions of the interactive device 100. In one embodiment, wherein computer code stored in memory unit 114 and implemented on processor 112 is responsive to a user selection of a user-written selectable item and operable to execute a function associated with the user-written selectable item in response to the selection. In another embodiment, computer code stored in memory unit 114 and implemented on processor 112 is operable to direct audio output device 116 to audibly render a listing of potential user-written selectable items, wherein processor 112 is operable to detect that a user has written a plurality of user-written selectable items, and wherein processor 112 responsive to a user selection of one or more user-written selectable items of the plurality of user-written selectable items is operable to execute a different function associated with each of the selected user-written selectable items.
In one embodiment, processor 112 is operable to automatically identify a user-written selectable item in response to a selection using symbol recognition or character recognition. In another embodiment, processor 112 is operable to automatically record a surface location of a user-written selectable item on the surface when it is written. Processor 112 is operable to automatically identify the user-written selectable item in response to a user selection based on a detected surface location of the user-written selectable item.
In one embodiment, the present invention provides an operating system of interactive device 100. The operating system is operable to detect a user-written selectable item on a surface, associate the user-written selectable item with a function, and, responsive to a user interaction with the user-written selectable item, executing the associated function.
In other embodiments, memory unit 114 may comprise computer code for recognizing printed characters, computer code for recognizing a user's handwriting and interpreting the user's handwriting (e.g., handwriting character recognition software), computer code for correlating positions on an article with respective print elements, code for converting text to speech (e.g., a text to speech engine), computer code for reciting menu items, computer code for performing translations of language (English-to-foreign language dictionaries), etc. Software for converting text to speech is commercially available from a number of different vendors.
Memory unit 114 may also comprise code for audio and visual outputs. For example, code for sound effects, code for saying words, code for lesson plans and instruction, code for questions, etc. may all be stored in memory unit 114. Code for audio outputs such as these may be stored in a non-volatile memory (in a permanent or semi-permanent manner so that the data is retained even if the interactive apparatus is turned off), rather than on the article itself. Computer code for these and other functions described in the application can be included in memory unit 114, and can be created using any suitable programming language including C, C++, etc.
Memory unit 114 may be a removable memory unit such as a ROM or flash memory cartridge. In other embodiments, memory unit 114 may comprise one or more memory units (e.g., RAM, ROM, EEPROM, etc.). Memory unit 114 may comprise any suitable magnetic, electronic, electromagnetic, optical or electro-optical data storage device. For example, one or more semiconductor-based devices can be in memory unit 114.
Audio output device 116 may include a speaker or an audio jack (e.g., and ear piece or headphone jack) for coupling to an ear piece or a headset. In one embodiment, audio output device 116 is operable to audibly render a list of potential user-written selectable items. Audio output device 116 may also be operable to audibly render information in response to a user selection of a user-written selectable item.
It should be appreciated that interactive device 100 is also operable to recognize and execute functions associated with pre-printed selectable items on the surface. In one embodiment, responsive to a user selection of a pre-printed selectable item on the surface, processor 112 is operable to execute a function associated with a pre-printed selectable item in response to a user selecting the pre-printed selectable item. In one embodiment, processor 112 is operable to automatically identify a pre-printed selectable using symbol recognition. In another embodiment, processor 112 is operable to automatically identify the pre-printed selectable item based on a detected surface location of the pre-printed selectable item. Moreover, in another embodiment, processor 112 is operable identify an application program based on a particular bounded region of the surface, such that different bounded regions are associated with different application programs.
In some embodiments, the surface can be a sheet of paper with or without pre-printed selectable items. FIG. 3 shows a sheet of paper 15 provided with a pattern of marks according to one embodiment of the present invention. In the embodiment of FIG. 3, sheet of paper 15 is provided with a coding pattern in the form of optically readable position code 17 that consists of a pattern of marks 18. The marks 18 in FIG. 3 are greatly enlarged for the sake of clarity. In actuality, the marks 18 may not be easily discernible by the human visual system, and may appear as gray scale on sheet of paper 15. In one embodiment, the marks 18 are embodied as dots; however, the present invention is not so limited.
FIG. 4 shows an enlarged portion 19 of the position code 17 of FIG. 3. An interactive device such as interactive device 100 (FIG. 1) is positioned to record an image of a region of the position code 17. In one embodiment, the optical device fits the marks 18 to a reference system in the form of a raster with raster lines 21 that intersect at raster points 22. Each of the marks 18 is associated with a raster point 22. For example, mark 23 is associated with raster point 24. For the marks in an image/raster, the displacement of a mark from the raster point associated with the mark is determined. Using these displacements, the pattern in the image/raster is compared to patterns in the reference system. Each pattern in the reference system is associated with a particular location on the surface 70. Thus, by matching the pattern in the image/raster with a pattern in the reference system, the position of the pattern on the surface 70, and hence the position of the optical device relative to the surface 70, can be determined.
In one embodiment, the pattern of marks on sheet 15 are substantially invisible codes. The codes are “substantially invisible” to the eye of the user and may correspond to the absolute or relative locations of the selectable items on the page. “Substantially invisible” also includes codes that are completely or slightly invisible to the user's eye. For example, if dot codes that are slightly invisible to the eye of a user are printed all over a sheet of paper, the sheet may appear to have a light gray shade when viewed at a normal viewing distance. In some cases, after the user scans the codes with interactive device 100, audio output device 116 in interactive device 100 produces unique audio outputs (as opposed to indiscriminate audio outputs like beeping sounds) corresponding to user-written selectable items that are associated with the codes.
In one embodiment, the substantally invisible codes are embodied by dot patterns. Technologies that read visible or “subliminally” printed dot patterns exist and are commercially available. These printed dot patterns are substantially invisible to the eye of the user so that the codes that are present in the dot patterns are undetectable by the user's eyes in normal use (unlike normal bar codes). The dot patterns can be embodied by, for example, specific combinations of small and large dots that can represent ones and zeros as in a binary coding. The dot patterns can be printed with ink that is different than the ink that is used to print the print elements, so that interactive device 100 can specifically read the dot patterns.
Anoto, a Swedish company, employs a technology that uses an algorithm to generate a pattern the enables a very large unique data space for non-conflicting use across a large set of documents. Their pattern, if fully printed, would cover 70 trillion 8.5′′×11′′ pages with unique recognition of any 2 cm square on any page. Paper containing the specific dot patterns is commercially available from Anoto. The following patents and patent applications are assigned to Anoto and describe this basic technology and are all herein incorporated by reference in their entirety for all purposes: U.S. Pat. No. 6,502,756, U.S. application Ser. No. 10/179,966, filed on Jun. 26, 2002, WO 01/95559, WO 01/71473, WO 01/75723, WO 01/26032, WO 01/75780, WO 01/01670, WO 01/75773, WO 01/71475, WO 00/73983, and WO 01/16691.
In some embodiments, the dot patterns may be free of other types of data such as data representing markers for data blocks, audio data, and/or error detection data. As noted above, processor 112 in interactive device 100 can determine the location of the stylus using a lookup table, and audio can be retrieved and played based on the location information. This has advantages. For example, compared to paper that has data for markers, audio, and error detection printed on it, embodiments of the invention need fewer dots, since data for markers, audio, and error detection need not be printed on the paper. By omitting, for example, audio data from a piece of paper, more space on the paper can be rendered interactive, since actual audio data need not occupy space on the paper. In addition, since computer code for audio is stored in interactive device 100 in embodiments of the invention, it is less likely that the audio that is produced will be corrupted or altered by, for example, a crinkle or tear in the sheet of paper.
It should be appreciated that although dot patterned codes are specifically described herein, other types of substantially invisible codes may be used in other embodiments of the invention. For example, infrared bar codes could be used if the bar codes are disposed in an array on an article. Illustratively, a sheet of paper may include a 100×100 array of substantially invisible bar codes, each code associated with a different x-y position on the sheet of paper. The relative or absolute locations of the bar codes in the array may be stored in memory unit 114 in interactive device 100.
As noted, in some embodiments, the substantially invisible codes may directly or indirectly relate to the locations of the plurality of positions and/or any selectable items on the sheet. In some embodiments, the substantially invisible codes can directly relate to the locations of the plurality of positions on a sheet (or other surface). In these embodiments, the locations of the different positions on the sheet may be provided by the codes themselves. For example, a first code at a first position may include code for the spatial coordinates (e.g., a particular x-y position) for the first position on the sheet, while a second code at a second position may code for the spatial coordinates of the second position on the sheet.
Different user-written selectable items can be at the different positions on the sheet. These user-written selectable items may be formed over the codes. For example, a first user-written selectable item can be formed at the first position overlapping the first code. A second user-written selectable item can be formed at the second position overlapping the second code. When a user forms the first user-written selectable item, the scanning apparatus recognizes the formed first print element and substantially simultaneously scans the first code that is associated with the formed first user-written selectable item. Processor 112 in interactive device 100 can determine the particular spatial coordinates of the first position and can correlate the first user-written selectable item with the spatial coordinates.
When the user forms the second user-written selectable item, the scanning apparatus recognizes the formed second user-written selectable item and substantially simultaneously scans the second code. Processor 112 can then determine the spatial coordinates of the second position and can correlate the second user-written selectable item with the spatial coordinates. A user can then subsequently select the first and second user-written selectable items using interactive device 100, and interactive device 100 can perform additional operations. For example, using this methodology, a user can create a user-defined interface or a functional device on a blank sheet of paper.
Interactive device 100 may also include a mechanism that maps or correlates relative or absolute locations with the formed user-written selectable items in memory unit 114. The mechanism can be a lookup table that correlates data related to specific user-written selectable items on the article to particular locations on an article. This lookup table can be stored in memory unit 114. Processor 112 can use the lookup table to identify user-written selectable items at specific locations so that processor 112 can perform subsequent operations.
The surface with the substantially invisible codes can be in any suitable form. For example, the surface may be a single sheet of paper, a note pad, filler paper, a poster, a placard, a menu, a sticker, a tab, product packaging, a box, a trading card, a magnet (e.g., refrigerator magnets), a white board, a table top, etc. Moreover, the surface may be comprised of any material, including but not limited to paper, wood, metal, plastic, etc. Any of these or other types of surfaces can be used with or without pre-printed selectable items. If the surface is a sheet, the sheet can be of any suitable size and can be made of any suitable material. For example, the sheet may be paper based, or may be a plastic film. In some embodiments, the surface may be a three-dimensional article with a three-dimensional surface. The three-dimensional surface may include a molded figure of a human body, animals (e.g., dinosaurs), vehicles, characters, or other figures.
In some embodiments, the surface is a sheet and the sheet may be free of pre-printed selectable elements such as printed letters or numbers (e.g., markings made before the user creates user-written selectable items on the sheet). In other embodiments, pre-printed selectable items can be on the sheet (e.g., before the user creates user-written selectable items on the sheet). Pre-printed print elements can include numbers, icons, letters, circles, words, symbols, lines, etc. For example, embodiments of the invention can utilize pre-printed forms such as pre-printed order forms or voting ballots.
Interactive device 100 can be in any suitable form, in one embodiment, interactive device 100 is a scanning apparatus that is shaped as a stylus. In one embodiment, interactive device 100 is pocket-sized. The stylus includes a stylus housing that can be made from plastic or metal. A gripping region may be present on the stylus housing.
FIG. 5 shows a flowchart of the steps of a process 500 for facilitating interaction with user-written selectable items on a surface in accordance with one embodiment of the present invention. Process 500 depicts the basic operating steps of a user interface process as implemented by an interactive device (e.g., interactive device 100) in accordance with one embodiment of the present invention as it interprets user input in the form of user-written selectable items, graphic elements, writing, marks, etc. and provides the requested functionality to the user.
At step 510, where the computer implemented functionality of the device 100 detects a user-written selectable item on a writable surface. At step 512, the user-written selectable item is recognized along with the function of the user-written selectable item. This function can be, for example, a menu function that can enunciate a predetermined list of functions (e.g., menu choices) for subsequent activation by the user. At step 514, interaction with the user-written selectable item is detected. The interaction may include writing the user-written selectable item, interacting with the user-written selectable item with the interactive device (e.g., tapping the user-written selectable item), or interacting with a related user-written selectable item (e.g., checkmark 210 of FIG. 2B). The function is persistently associated with the user-written selectable item, enabling a subsequent access of the function (e.g., at some later time) by a subsequent interaction (e.g., tapping) of the graphical element icon. For example, in the case of a menu function, the listed menu choices can be subsequently accessed by the user at some later time by simply actuating the menu graphic element icon (e.g., tapping it).
In this manner, embodiments of the present invention implement a user interface means for navigating the functionality of an interactive device (e.g., interactive device 100 of FIG. 1) using a pen and paper type interface. The user interface as implemented by the user-written selectable items provides the method of interacting with a number of software applications that execute within interactive device 100. As described above, the input to interactive device 100 includes user actions, such as a user creating a user-written selectable item or a user interacting with a user-written or pre-printed selectable item. The output from the pen is audio output, and thus, the user interface means enables the user to carry on a “dialog” with the applications and functionality of the pen. In other words, the user interface enables the user to create mutually recognized items such as user-written selectable items on a surface that allow the user and the pen to interact with one another. As described above, the mutually recognized items are typically symbols or marks or icons that the user draws on a surface, such as a sheet of paper.
ADDITIONAL EMBODIMENTS OF THE INVENTION
FIG. 6 is a block diagram of a pen device 150 upon which other embodiments of the present invention can be implemented. In general, pen device 150 may be referred to as an optical device, more specifically as an optical reader, optical pen or digital pen. The device may contain a computer system and an operating system resident thereon. Application programs may also reside thereon.
In the embodiment of FIG. 6, pen device 150 includes a processor 32 inside a housing 62. In one embodiment, housing 62 has the form of a pen or other writing or marking utensil or instrument. Processor 32 is operable for processing information and instructions used to implement the functions of pen device 150, which are described below.
In the present embodiment, the pen device 150 may include an audio output device 36 and a display device 40 coupled to the processor 32. In other embodiments, the audio output device and/or the display device are physically separated from pen device 150, but in communication with pen device 150 through either a wired or wireless connection. For wireless communication, pen device 150 can include a transceiver or transmitter (not shown in FIG. 6). The audio output device 36 may include a speaker or an audio jack (e.g., for an earphone or headphone). The display device 40 may be a liquid crystal display (LCD) or some other suitable type of display.
In the embodiment of FIG. 6, pen device 150 may include input buttons 38 coupled to the processor 32 for activating and controlling the pen device 150. For example, the input buttons 38 allow a user to input information and commands to pen device 150 or to turn pen device 150 on or off. Pen device 150 also includes a power source 34 such as a battery.
Pen device 150 also includes a light source or optical emitter 44 and a light sensor or optical detector 42 coupled to the processor 32. The optical emitter 44 may be a light emitting diode (LED), for example, and the optical detector 42 may be a charge coupled device (CCD) or complementary metal-oxide semiconductor (CMOS) imager array, for example. The optical emitter 44 illuminates surface 70 or a portion thereof. Light reflected from the surface 70 is received at and recorded by optical detector 42.
The surface 70 may be a sheet a paper, although the present invention is not so limited. For example, the surface 70 may be an LCD (liquid crystal display, CRT (cathode ray tube), touch screen, or other similar type of active electronic surface (e.g., the display of a laptop or tablet PC). Similarly, the surface 70 can be a surface comprising electronic ink, or a surface comprising reconfigurable paper.
In one embodiment, a pattern of markings is printed on surface 70. The end of pen device 150 that holds optical emitter 44 and optical detector 42 is placed against or near surface 70. As pen device 150 is moved relative to the surface 70, the pattern of markings are read and recorded by optical emitter 44 and optical detector 42. As discussed in more detail above, in one embodiment, the markings on surface 70 are used to determine the position of pen device 150 relative to surface (see FIGS. 3 and 4). In another embodiment, the markings on surface 70 are used to encode information (see FIGS. 8 and 9). The captured images of surface 70 can be analyzed (processed) by pen device 150 to decode the markings and recover the encoded information.
Additional descriptions regarding surface markings for encoding information and the reading/recording of such markings by electronic devices can be found in the following patents and patent applications that are assigned to Anoto and that are all herein incorporated by reference in their entirety: U.S. Pat. No. 6,502,756, U.S. application Ser. No. 10/179,966, filed on Jun. 26, 2002, WO 01/95559, WO 01/71473, WO 01/75723, WO 01/26032, WO 01/75780, WO 01/01670, WO 01/75773, WO 01/71475, WO 10 00/73983, and WO 01116691.
Pen device 150 of FIG. 6 also includes a memory unit 48 coupled to the processor 32. In one embodiment, memory unit 48 is a removable memory unit embodied as a memory cartridge or a memory card. In another embodiment, memory unit 48 includes random access (volatile) memory (RAM) and read-only (non-volatile) memory (ROM) for storing information and instructions for processor 32.
In the embodiment of FIG. 6, pen device 150 includes a writing element 52 situated at the same end of pen device 150 as the optical detector 42 and the optical emitter 44. Writing element 52 can be, for example, a pen, pencil, marker or the like, and may or may not be retractable. In certain applications, writing element 52 is not needed. In other applications, a user can use writing element 52 to make marks (e.g., graphical elements or user-written selectable items) on surface 70, including characters such as letters, words, numbers, mathematical symbols and the like. These marks can be scanned (imaged) and interpreted by pen device 150 according to their position on the surface 70. The position of the user-produced marks can be determined using a pattern of marks that are printed on surface 70; refer to the discussion of FIGS. 3 and 4, above. In one embodiment, the user-produced markings can be interpreted by pen device 150 using optical character recognition (OCR) techniques that recognize handwritten characters.
As mentioned above, surface 70 may be any surface suitable on which to write, such as, for example, a sheet of paper, although surfaces consisting of materials other than paper may be used. Also, surface 70 may or may not be flat. For example, surface 70 may be embodied as the surface of a globe. Furthermore, surface 70 may be smaller or larger than a conventional (e.g., 8.5×11 inch) page of paper.
FIG. 7 is a block diagram of another device 250 upon which embodiments of the present invention can be implemented. Device 250 includes processor 32, power source 34, audio output device 36, input buttons 38, memory unit 48, optical detector 42, optical emitter 44 and writing element 52, previously described herein. However, in the embodiment of FIG. 7, optical detector 42, optical emitter 44 and writing element 52 are embodied as optical device 251 in housing 62, and processor 32, power source 34, audio output device 36, input buttons 38 and memory unit 48 are embodied as platform 202 in housing 74. In the present embodiment, optical device 251 is coupled to platform 252 by a cable 102; however, a wireless connection can be used instead. The elements illustrated by FIG. 7 can be distributed between optical device 251 and platform 252 in combinations other than those described above.
With reference back to FIG. 6, four positions or regions on surface 70 are indicated by the letters A, B, C and D (these characters are not printed on surface 70, but are used herein to indicate positions on surface 70). There may be many such regions on the surface 70. Associated with each region on surface 70 is a unique pattern of marks. The regions on surface 70 may overlap because even if some marks are shared between overlapping regions, the pattern of marks in a region is still unique to that region.
In the example of FIG. 6, using pen device 150 (specifically, using writing element 52), a user may create a character consisting, for example, of a circled letter “M” at position A on surface 70 (generally, the user may create the character at any position on surface 70). The user may create such a character in response to a prompt (e.g., an audible prompt) from pen device 150. When the user creates the character, pen device 150 records the pattern of markings that are uniquely present at the position where the character is created. The pen device 150 associates that pattern of markings with the character just created. When pen device 150 is subsequently positioned over the circled “M,” pen device 150 recognizes the pattern of marks associated therewith and recognizes the position as being associated with a circled “M.” In effect, pen device 150 recognizes the character using the pattern of markings at the position where the character is located, rather than by recognizing the character itself.
In one embodiment, the characters described above comprise “graphic elements” that are associated with one or more commands of the pen device 150. It should be noted that such graphic elements that are associated with, and are used to access the pen device 150 implemented functions comprising commands, are referred to as “graphic element icons” hereafter in order to distinguish from other written characters, marks, etc. that are not associated with accessing functions or applications of the pen device 150. In the example just described, a user can create (write) a graphic element icon that identifies a particular command, and can invoke that command repeatedly by simply positioning pen device 150 over the graphic element icon (e.g., the written character). In one embodiment, the writing instrument is positioned over the graphical character. In other words, the user does not have to write the character for a command each time the command is to be invoked by the pen device 150; instead, the user can write the graphic element icon for a command one time and invoke the command repeatedly using the same written graphic element icon. This attribute is referred to as “persistence” and is described in greater detail below. This is also true regarding graphical element icons that are not user written but pre-printed on the surface and are nevertheless selectable by the pen device 150.
In one embodiment, the graphic element icons can include a letter or number with a line circumscribing the letter or number. The line circumscribing the letter or number may be a circle, oval, square, polygon, etc. Such graphic elements appear to be like “buttons” that can be selected by the user, instead of ordinary letters and numbers. By creating a graphic element icon of this kind, the user can visually distinguish graphic element icons such as functional icons from ordinary letters and numbers, which may be treated as data by the pen device 150. Also, by creating graphic element icons of this kind, the pen device may also be able to better distinguish functional or menu item type graphic elements from non-functional or non-menu item type graphic elements. For instance, a user may create a graphic element icon that is the letter “M” which is enclosed by a circle to create an interactive “menu” graphic element icon.
The pen device 150 may be programmed to recognize an overlapping circle or square with the letter “M” in it as a functional graphic element as distinguished from the letter “M” in a word. The graphic element icon may also include a small “check mark” symbol adjacent thereto, within a certain distance (e.g., 1 inch, 1.5 inches, etc.). The checkmark will be associated with the graphic element icon. Computer code for recognizing such functional graphic elements and distinguishing them from other non-functional graphic elements can reside in the memory unit in the pen device. The processor can recognize the graphic element icons and can identify the locations of those graphic element icons so that the pen device 150 can perform various functions, operations, and the like associated therewith. In these embodiments, the memory unit may comprise computer code for correlating any graphic elements produced by the user with their locations on the surface. The pen device 150 recognizes a “down-touch” or “down-stroke” or being placed down upon the surface (e.g., when the user begins writing) and recognizes an “up-stroke” or being picked up from the surface (e.g., when the user finishes writing). Such down-strokes and up-strokes can be interpreted by the pen device 150 as, for example, indicators as to when certain functionality is invoked and what particular function/application is invoked (e.g., triggering OCR processing). Particularly, a down-stroke quickly followed by an up-stroke (e.g., a tap of the pen device on the surface) can be associated with a special action depending upon the application (e.g., selecting a graphic element icon, text string, etc.).
It should be noted that the generic term “graphic element” may include any suitable marking created by the user (e.g., a user-written selectable item), and is distinguishable from a graphic element icon which refers to a functional graphic element that is used to access one or more functions of the device.
As mentioned above, it should be noted that graphic element icons can be created by the pen device 150 (e.g., drawn by the user) or can be pre-existing (e.g., a printed element on a sheet of paper). Example graphic elements include, but are not limited to symbols, indicia such as letters and/or numbers, characters, words, shapes, lines, etc. They can be regular or irregular in shape. User written/created graphic elements are typically created using the pen device 150. Additionally, graphic element icons usually, but not always, incorporate a circumscribing line (e.g., circle) around a character (e.g., the letter “M”) to give them an added degree of distinctiveness to both the user and the pen device 150. For example, in one embodiment, an up-stroke after finishing a circle around the character can specifically indicate to the pen device 150 that the user has just created a graphic element icon.
FIGS. 8A and 8B show a flowchart of the steps of a computer-implemented process 800 in accordance with one embodiment of the present invention. Process 800 depicts the basic operating steps of a process for audibly instructing a user to interact with a function as implemented by a device (e.g., interactive device 100 of FIG. 1) in accordance with one embodiment of the present invention as it interprets user input in the form of graphic elements, writing, marks, etc. and provides audible instruction regarding the requested functionality to the user.
Process 800 begins in step 805 of FIG. 8A, where the computer-implemented functionality of the interactive device 100 associates a function with a user-written selectable item. In one embodiment, interactive device 100 has stored therein a number of functions, such as executable application programs, menu item, an application option selector, or an instance of data, which are associated with respective user-written selectable items. For example, the letter C with a circle around it (e.g., user-written selectable item 244 of FIG. 2C) may be associated with a calculator function.
At step 810, the interactive device recognizes the user-written selectable item written on a surface. A user creates the user-written selectable item. In one embodiment, the user-written selectable item is recognized by optically recording positions of writing element 118 using optical detector 120. Pen device 100 performs image recognition of the positions to recognize the user-written selectable item. In one embodiment, the recognition of the user-written selectable item is performed in response to detecting a termination event indicating that the user-written selectable item is complete. When the user is done writing the user-written selectable item, the interactive device 100 recognizes the fact that the user is finished by, for example, recognizing the inactivity (e.g., the user is no longer writing) as a data entry termination event. In this manner, a “timeout” mechanism can be used to recognize the end of data entry. Another termination event could be a user completing the circle around the letter or letters. Additional examples of termination events are described in the commonly assigned U.S. patent application Ser. No. 11/035,003 filed Jan. 12, 2005, by James Marggraff et al., entitled “TERMINATION EVENTS,” which is incorporated herein in its entirety.
In one embodiment, as shown at step 815, the function is executed without requiring a user to draw any auxiliary writing (e.g., a checkmark) on the surface. For example, where the function is a time function, once the user-written selectable item associated with the time function is recognized, the time function is immediately executed. In the case of a time function, the current time may be audibly rendered. It should be appreciated that step 815 is optional, and that the function need not be executed at this point in process 800.
At step 820, in response to recognizing the user-written selectable item, a first instructional message related to the operation of the associated function is audibly rendered without requiring further interaction from the user (e.g., without requiring a user to draw any auxiliary writing such as a checkmark) on the surface. In one embodiment, the first instructional message directs the user to draw at least one user interface element that enables the user to interact with the function. For example, with reference to FIG. 2C, in response to recognizing user-written selectable item 244, an instructional message directing a user to draw a box within which to draw a calculator is audibly rendered. In another example, with reference to FIG. 2D, in response to recognizing user-written selectable item 254, an instructional message directing a user to draw two horizontal lines is audibly rendered
At step 825, it is determined whether a writing (e.g., a user interface element) has been drawn on the surface within a predetermined time (e.g., three seconds or five seconds) since audibly rendering the first instructional message. If no writing has been drawn within the predetermined time period, as shown at step 830, the first instructional message is repeated. Alternatively, if a writing has been drawn on the surface, process 800 proceeds to step 835 of FIG. 8B.
With reference now to FIG. 8B, at step 835 it is determined whether the user interface element has been properly drawn on the surface, in accordance with an embodiment of the present invention. For example, consider the calculator function described above. The user is initially directed to draw a box. Once a writing is detected on the surface, interactive device 100 will determine whether it is properly drawn. In the case of the calculator function, interactive device 100 will determine whether the user drew a box and whether that box is of the appropriate dimensions within which to draw additional user interface elements (e.g., numbers and operands).
If the user has not properly drawn the user interface element, as shown at step 840, a second instructional message including a hint about a manner in which the user should properly draw the user interface element is audibly rendered. For example, if it is determined that the user has drawn a box in which a calculator is to be drawn, but that the box is too small to fit all necessary information, the second instructional message may direct the user to draw a bigger box. In another example, consider a user that is using the musical keyboard function and is initially directed to draw two horizontal lines. If it is determined that the lines drawn by the user are not horizontal, (e.g. vertical or diagonal), the second instructional message may inform the user that horizontal lines are side-to-side.
Once it is determined that the user interface element is properly drawn, process 800 proceeds to step 845 and/or step 850. It should be appreciated that steps 845 and 850 are optional, and that one or both of these steps can be implemented.
At step 845, a third instructional message is rendered. For example, the user may be directed to write the numbers zero through nine in the calculator box. It should be appreciated that process 800 may then perform steps similar to those described in steps 825 through 840 to determine whether a writing has been written and whether that writing is proper. It should also be appreciated that any number of instructional messages may be audibly rendered to direct a user to draw user interface elements. Depending on the complexity of the user interface elements, a number of instructional messages may be necessary to accurately describe to a user how to draw a particular user interface element. For example, a musical keyboard with sharps and flats keys, as well as a volume control and a tempo control, may require more instructional messages than a musical keyboard that does not include sharps and flats keys, a volume control or a tempo control.
At step 850, the function is executed. For example, once the calculator is drawn, the user may then interact with the calculator to perform mathematical calculations. In one embodiment, a message is audibly rendered informing the user that the calculator is ready for use.
In this manner, embodiments of the present invention provide a user with instructional messages regarding the use of a selected function. In particular, the instructional messages are audibly rendered prior to executing the function and without requiring additional user interaction with the surface. For example, in order for a user to utilize a calculator, the calculator must first be drawn. The user is directed to draw the necessary user interface elements prior to executing the calculator function.
FIG. 9 shows a flowchart of the steps of a computer-implemented process 900 in accordance with one embodiment of the present invention. Process 900 depicts the basic operating steps of a process for automatically executing a function as implemented by a device (e.g., interactive device 100 of FIG. 1) in accordance with one embodiment of the present invention as it interprets user input in the form of graphic elements, writing, marks, etc. and provides audible instruction regarding the requested functionality to the user.
Process 900 begins in step 905, where the computer-implemented functionality of the interactive device 100 associates a function with a user-written selectable item. In one embodiment, interactive device 100 has stored therein a number of functions, such as executable application programs, menu item, an application option selector, or an instance of data, which are associated with respective user-written selectable items. For example, the letter T with a circle around it (e.g., user-written selectable item 242 of FIG. 2C) may be associated with a time function.
At step 910, the interactive device recognizes the user-written selectable item written on a surface. A user creates the user-written selectable item. In one embodiment, the user-written selectable item is recognized by optically recording positions of writing element 118 using optical detector 120. Pen device 100 performs image recognition of the positions to recognize the user-written selectable item. In one embodiment, the recognition of the user-written selectable-item is performed in response to detecting a termination event indicating that the user-written selectable item is complete. When the user is done writing the user-written selectable item, the interactive device 100 recognizes the fact that the user is finished by, for example, recognizing the inactivity (e.g., the user is no longer writing) as a data entry termination event. In this manner, a “timeout” mechanism can be used to recognize the end of data entry. Another termination event could be a user completing the circle around the letter or letters. Additional examples of termination events are described in the commonly assigned U.S. patent application Ser. No. 11/035,003 filed Jan. 12, 2005, by James Marggraff et al., entitled “TERMINATION EVENTS,” which is incorporated herein in its entirety.
At step 915, the function is immediately executed without requiring further interaction between the user and the surface (e.g., without requiring a user to draw any auxiliary writing such as a checkmark). For example, where the function is a time function, once the user-written selectable item associated with the time function is recognized, the time function is immediately executed. In the case of a time function, the current time may also be audibly rendered.
At step 920, it is determined whether there is user interaction with the user-written selectable item within a predetermined time (e.g., three seconds or five seconds) since the function has been executed. If there is no user interaction within the predetermined time period, as shown at step 925, a first instructional message related to the operation of the associated function is audibly rendered without requiring further interaction from the user. For example, where the function is a time function, an instructional message informing a user that interacting with the associated user-written selectable item would case the time to be repeated may be audibly rendered.
Alternatively, if it is determined that there is user interaction with the user-written selectable item within a predetermined time, as shown at step 930, the function is re-executed. For example, with reference to FIG. 2C, if a user interacts (e.g., taps) user-written selectable item 242, the current time is audibly rendered. In one embodiment, the time function toggles between the current time and the current date for each interaction with user-written selectable item 242. In this manner, embodiments of the present invention provide a user with immediate execution of a selected function. In particular, the function is executed without requiring additional user interaction with the surface. Accordingly, the user is provided with an efficient user interface by which functions that provide certain types of information may be immediately executed.
Although embodiments of the present invention have been described in the context of using surfaces encoded with markings in order to determine location of the pen device, it should be noted that embodiments of the present invention are suitable for use with pen devices that determine location using other means that do not require encoded surfaces. For example, in one embodiment, a pen device can incorporate one or more position location mechanisms such as, for example, motion sensors, gyroscopes, etc., and can be configured to accurately store a precise location of a given surface (e.g., a sheet of paper). The precise location of the surface can be stored by, for example, sequentially touching opposite corners of the surface (e.g., a rectangular sheet of paper). The pen device would then recognize the location of graphic elements written by the user on the surface by comparing the stored precise location of the surface with the results of its location determination means.
Various embodiments of the invention, a method for audibly instructing a user to interact with a function, are thus described. While the present invention has been described in particular embodiments, it should be appreciated that the invention should not be construed as limited by such embodiments, but rather construed according to the below claims.

## Claims

1. A method for audibly instructing a user to interact with a function, said method comprising:
associating a function with a user-written selectable item;
at a pen computer, recognizing said user-written selectable item on a surface, subsequent to writing said user-written selectable item, by determining that said pen computer is disposed on said user-written selectable item; and
in response to said recognizing said user-written selectable item, audibly rendering a first instructional message related to the operation of said function without requiring further interaction from said user,
wherein said audibly rendering said first instructional message is performed by an audio output device of said pen computer.

2. The method as recited in claim 1 wherein said first instructional message directs said user to draw at least one user interface element that enables said user to interface with said function.

3. The method as recited in claim 2 further comprising: determining whether said user interface element has been properly drawn on said surface; and provided said user interface element has not been properly drawn on said surface, audibly rendering a second instructional message comprising a hint about a manner in which said user should properly draw said user interface element.

4. The method as recited in claim 3 further comprising, provided said user interface element has been properly drawn, audibly rendering a third instructional message.

5. The method as recited in claim 3 further comprising, provided said user interface element has been properly drawn, executing said function.

6. The method as recited in claim 2 further comprising:
determining whether a writing has been drawn on said surface within a predetermined time period since said audibly rendering said first instructional message; and provided no writing has been drawn on said surface within said predetermined time period, repeating said first instructional message.

7. The method as recited in claim 1 further comprising, in response to a user interaction with said user-written selectable item, repeating said first instructional message.

8. The method as recited in claim 1 further comprising executing said function prior to audibly rendering said first instructional message.

9. The method as recited in claim 1 wherein said recognizing said user-written selectable item is performed in response to detecting a termination event indicating that said user-written selectable item is complete.

10. The method as recited in claim 1 wherein said recognizing said user-written selectable item comprises: optically recording positions of the tip of a pen computer; and performing image recognition of said positions to recognize said user-written selectable item.

11. A computer-usable medium having computer-readable program code embodied therein for causing a computer system to perform a method for audibly instructing a user to interact with a function, said method comprising:
associating a function with a user-written selectable item;
at a pen computer, recognizing said user-written selectable item on a surface; and
in response to said recognizing said user-written selectable item, audibly rendering a first instructional message related to the operation of said function without requiring further interaction from said user,
wherein said audibly rendering said first instructional message is performed by an audio output device of said pen computer.

12. The computer-usable medium as recited in claim 11 wherein said first instructional message directs said user to draw at least one user interface element that enables said user to interface with said function.

13. The computer-usable medium as recited in claim 12, wherein said method further comprises: determining whether a writing has been drawn on said surface within a predetermined time period since said audibly rendering said first instructional message; and provided no writing has been drawn on said surface within said predetermined time period, repeating said first instructional message.

14. The computer-usable medium as recited in claim 12, wherein said method further comprises: determining whether said user interface element has been properly drawn on said surface; and provided said user interface element has not been properly drawn on said surface, audibly rendering a second instructional message comprising a hint about a manner in which said user should properly draw said user interface element.

15. The computer-usable medium as recited in claim 14, wherein said method further comprises, provided said user interface element has been properly drawn, audibly rendering a third instructional message.

16. The computer-usable medium as recited in claim 14, wherein said method further comprises, provided said user interface element has been properly drawn, executing said function.

17. The computer-usable medium as recited in claim 11 wherein said method further comprises, in response to a user interaction with said user-written selectable item, repeating said first instructional message.

18. The computer-usable medium as recited in claim 11 wherein said method further comprises executing said function prior to audibly rendering said first instructional message.

19. The computer-usable medium as recited in claim 11 wherein said recognizing said user-written selectable item is performed in response to detecting a termination event indicating that said user-written selectable item is complete.

20. The computer-usable medium as recited in claim 11 wherein said recognizing said user-written selectable item comprises: optically recording positions of the tip of a pen computer; and performing image recognition of said positions to recognize said user-written selectable item.

21. An interactive device comprising:
a bus;
an audio output device coupled to said bus;
a writing element for allowing a user to write on a writable surface;
an optical detector coupled to said bus for detecting positions of said writing element with respect to said writable surface;
a processor coupled to said bus; and
a memory unit coupled to said bus, said memory storing instructions that when executed cause said processor to implement a method for audibly instructing a user to interact with a function, said method comprising:
associating a function with a user-written selectable item;
recognizing said user-written selectable item on said writable surface;
and in response to said recognizing said user-written selectable item, audibly rendering a first instructional message related to the operation of said function without requiring further interaction from said user, wherein said first instructional message directs said user to draw at least one user interface element that enables said user to interface with said function;
determining whether said user interface element has been properly drawn on said surface;
provided said user interface element has not been properly drawn on said surface, audibly rendering a second instructional message comprising a hint about a manner in which said user should properly draw said user interface element; and
provided said user interface element has been properly drawn, executing said function.

22. The interactive device as recited in claim 21 wherein said method further comprises:
determining whether a writing has been drawn on said surface within a predetermined time period since said audibly rendering said first instructional message;
and provided no writing has been drawn on said surface within said predetermined time period, repeating said first instructional message.

23. The interactive device as recited in claim 21 wherein said method further comprises, provided said user interface element has been properly drawn, audibly rendering a third instructional message.

24. The interactive device as recited in claim 21 wherein said method further comprises, in response to a user interaction with said user-written selectable item, repeating said first instructional message.

25. The interactive device as recited in claim 21 wherein said method further comprises executing said function prior to audibly rendering said first instructional message.

26. The interactive device as recited in claim 21 wherein said recognizing said user-written selectable item is performed in response to detecting a termination event indicating that said user-written selectable item is complete.

27. The interactive device as recited in claim 21 wherein said recognizing said user-written selectable item comprises:
optically recording positions of a tip of said interactive device on said writable surface using optical detector; and
performing image recognition of said positions to recognize said user-written selectable item.

28. The interactive device as recited in claim 21 wherein said audibly rendering said first instructional message is performed by said audio output device.