Methods and devices for creating and processing content

A mark on a surface in sensed by a pen as the mark is made on the surface using the pen. The surface has printed thereon a pattern of markings that define a two-dimensional coordinate system. Stroke data associated with the mark is stored. The stroke data includes coordinates corresponding to a subset of the pattern of markings traversed by the mark. The stroke data is associated with a region of the surface. The stroke data is operated on according to an operation associated with the region.

BACKGROUND OF THE INVENTION

1. Field of the Invention

Embodiments in accordance with the present invention generally pertain to the retrieval and storage of information.

2. Related Art

Software applications generally known as “HyperText Markup Language (HTML) editors” are used to create Web pages. As an alternative to using an HTML editor, a Web page can be created by entering HTML codes directly into a text editor. However, the use of text editors can require a greater understanding of HTML and other Web technologies, while HTML editors offer more convenience and are easier to use.

Greater and greater numbers of people are creating their own Web sites, as a means of sharing news, pictures, and other information with friends and relatives who may be at a distance. Even more people may be open to creating a Web site if the process for doing so was more intuitive and perhaps even more convenient.

SUMMARY OF THE INVENTION

A method and/or system that can make the process of designing a Web page more intuitive and more convenient would be advantageous. Embodiments in accordance with the present invention provide these and other advantages.

Embodiments of the present invention pertain to methods and systems of storing information captured by, for example, a handheld pen-shaped computer system that has an optical sensor and a writing utensil (e.g., an “optical pen”). In one embodiment, a “mark” on a surface (e.g., on a piece of paper) is sensed by the optical pen as the mark is made on the surface by the writing utensil. A “mark” may take any shape and may include multiple characters. That is, a mark can be a single mark, a letter or a number, a string of letters and/or numbers, a drawing, a part of a drawing, a line or lines (straight or otherwise), symbols, etc., without limitation.

The surface has printed thereon a pattern of markings (e.g., a dot pattern) that defines spatial (e.g., two-dimensional) coordinates on the surface. An encoded version of the mark is stored in computer memory. For example, some subset of the pattern of markings traversed by the mark can be stored. Specifically, information identifying the spatial coordinates corresponding to the subset of the pattern of markings traversed by the mark is stored; this information is referred to herein as “stroke data.” In one embodiment, the stroke data is associated with a region of the surface. The stroke data is operated on according to an operation that is associated with the region.

In one embodiment, the operation includes a process that is applied to the stroke data. For example, a character recognition process can be applied to the stroke data.

In another embodiment, the operation includes associating metadata with the stroke data. In yet another embodiment, metadata is associated with processed stroke data, thus essentially associating two levels of information with the stroke data. That is, for example, the stroke data may be processed using a character recognition process to identify a character or string of characters, and metadata may then be associated with the character or character string.

The metadata can be subsequently used when a representation of the mark is rendered on a display device. That is, a representation of the mark, when rendered on a display device, will have a property that is determined according to the metadata. In one embodiment, the stroke data and the metadata are used by a software application to create a Web page.

For example, the metadata may include information identifying a memory-resident file, so that the mark when rendered serves as a hyperlink to that file. The metadata may instead include information identifying a Web site, so that the mark when rendered serves as a hyperlink to that Web site. The metadata may instead include information identifying a format (e.g., a size and/or color) for rendering the mark.

In summary, according to embodiments of the present invention, a user can use a device such as an optical pen to design, for example, a Web page (e.g., a home page). Using the optical pen, the user draws the Web page on, for example, a piece of paper on which is printed a pattern of markings (e.g., a dot pattern) that defines spatial (e.g., two-dimensional) coordinates on the paper. In the process of drawing the page, the various portions of the drawing are operated on according to their respective locations on the piece of paper. Different types of operations can be associated with different parts of the drawing. The drawing information can be stored in the optical pen until the pen is connected to a personal computer or a Web server in order to create a Web site.

As a result, Web page design, for example, is made more convenient and more intuitive. These and other objects and advantages of the present invention will be recognized by one skilled in the art after having read the following detailed description, which are illustrated in the various drawing figures.

DETAILED DESCRIPTION OF THE INVENTION

In the following detailed description of the present invention, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be recognized by one skilled in the art that the present invention may be practiced without these specific details or with equivalents thereof. In other instances, well-known methods, procedures, components, and circuits have not been described in detail as not to unnecessarily obscure aspects of the present invention.

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 “sensing” or “storing” or “defining” or “associating” or “receiving” or “selecting” or “generating” or “creating” or “decoding” or “invoking” or “accessing” or “retrieving” or “identifying” or the like, refer to the actions and processes of a computer system (e.g., flowchart1000ofFIG. 10), or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.

FIG. 1is a block diagram of a device100upon which embodiments of the present invention can be implemented. In general, device100may be referred to as a pen-shaped computer system or an optical device, or more specifically as an optical reader, optical pen or digital pen.

Devices such as optical readers or optical pens conventionally emit light that reflects off a surface to a detector or imager (e.g., as in a digital camera). 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.

According to embodiments of the present invention, device100is used with a sheet of “digital paper” on which a pattern of markings—specifically, very small dots—are printed. In one embodiment, the dots are printed on paper in a proprietary pattern with a nominal spacing of about 0.3 millimeters (0.01 inches). In one such embodiment, the pattern consists of 669, 845, 157, 115, 773, 458, 169 dots, and can encompass an area exceeding 4.6 million square kilometers, corresponding to about 73 trillion letter-size pages. This “pattern space” is subdivided into regions that are licensed to vendors (service providers)—each region is unique from the other regions. In essence, service providers license pages of the pattern that are exclusively theirs to use. Different parts of the pattern can be assigned different functions, and service providers develop software programs and applications that assign functionality to the various patterns of dots within their respective regions.

An optical pen such as device100essentially takes a snapshot of the surface of the digital paper, perhaps 100 times a second or more. By interpreting the positions of the dots captured in each snapshot, device100can precisely determine its position on the page in two dimensions. That is, in a Cartesian coordinate system, for example, device100can determine an x-coordinate and a y-coordinate corresponding to the position of the device relative to the page. The pattern of dots allows the dynamic position information coming from the digital camera in device100to be processed into signals that are indexed to instructions or commands that can be executed by a processor in the device.

In the embodiment ofFIG. 1, device100includes a processor32inside a housing62. In one embodiment, housing62has the form of a pen or other writing utensil. Processor32is operable for processing information and instructions used to implement the functions of device100, which are described below.

In one embodiment, the device100includes an audio output device36, a display device40, or both an audio device and display device coupled to the processor32. In other embodiments, the audio output device and/or the display device are physically separated from device100, but in communication with device100through either a wired or wireless connection. For wireless communication, device100can include a transceiver or transmitter (not shown inFIG. 1). The audio output device36may include a speaker or an audio jack (e.g., for an earphone or headphone). The display device40may be a liquid crystal display (LCD) or some other suitable type of display.

In the embodiment ofFIG. 1, device100includes input buttons38coupled to the processor32for activating and controlling the device100. For example, the input buttons38allow a user to input information and commands to device100or to turn device100on or off. Device100also includes a power source34such as a battery.

Device100also includes a light source or optical emitter44and a light sensor or optical detector42coupled to the processor32. The optical emitter44may be a light emitting diode (LED), for example, and the optical detector42may be a charge coupled device (CCD) or complementary metal-oxide semiconductor (CMOS) imager array, for example. The optical emitter44illuminates surface70or a portion thereof. Light reflected from the surface70is received at and recorded by optical detector42.

In one embodiment, a pattern of markings is printed on surface70. The surface70may be any suitable surface on which a pattern of markings can be printed, such as a sheet a paper or other types of surfaces. The end of device100that holds optical emitter44and optical detector42is placed against or near surface70. As device100is moved relative to the surface70, the pattern of markings is read and recorded by optical emitter44and optical detector42. As discussed in more detail further below, in one embodiment, the markings on surface70are used to determine the position of device100relative to surface70(seeFIGS. 3 and 4). Device100is placed at a position on surface70. The pattern of markings at that position is read and translated into position information that is unique to that position. The position information is indexed to instructions, commands or the like that are programmed into device100. Thus, by placing device100at a particular position on surface70, and performing some type of actuating movement with device100, a specific instruction or command associated with that position is executed by device100.

Device100ofFIG. 1also includes a memory unit48coupled to the processor32. In one embodiment, memory unit48is a removable memory unit embodied as a memory cartridge or a memory card. In another embodiment, memory unit48includes random access (volatile) memory (RAM) and read-only (non-volatile) memory (ROM) for storing information and instructions for processor32.

In the embodiment ofFIG. 1, device100includes a writing element52situated at the same end of device100as the optical detector42and the optical emitter44. Writing element52can be, for example, a pen, pencil, marker or the like, and may or may not be retractable. In certain applications, writing element52is not needed. In other applications, a user can use writing element52to make marks on surface70, including characters such as letters, numbers, symbols and the like. These user-produced marks can be scanned (imaged) and interpreted by device100according to their position on the surface70. The position of the user-produced marks can be determined using a pattern of markings that are printed on surface70; refer to the discussion ofFIGS. 3 and 4, below. In one embodiment, the user-produced marks can be interpreted by device100using optical character recognition (OCR) techniques that recognize handwritten characters.

Surface70ofFIG. 1may be a sheet of paper, although surfaces consisting of materials other than paper may be used. Surface70may be a flat panel display screen (e.g., an LCD) or electronic paper (e.g., reconfigurable paper that utilizes electronic ink). Also, surface70may or may not be flat. For example, surface70may be embodied as the surface of a globe. Furthermore, surface70may be smaller or larger than a conventional (e.g., 8.5×11 inch) page of paper. In general, surface70can be any type of surface upon which markings (e.g., letters, numbers, symbols, etc.) can be printed or otherwise deposited. Alternatively, surface70can be a type of surface wherein a characteristic of the surface changes in response to action on the surface by device100.

FIG. 2is a block diagram of another device200upon which embodiments of the present invention can be implemented. Device200includes processor32, power source34, audio output device36, input buttons38, memory unit48, optical detector42, optical emitter44and writing element52, previously described herein. However, in the embodiment ofFIG. 2, optical detector42, optical emitter44and writing element52are embodied as optical device201in housing62, and processor32, power source34, audio output device36, input buttons38and memory unit48are embodied as platform202in housing74. In the present embodiment, optical device201is coupled to platform202by a cable102; however, a wireless connection can be used instead. The elements illustrated byFIG. 2can be distributed between optical device201and platform200in combinations other than those described above.

FIG. 3shows a sheet of paper15provided with a pattern of markings according to one embodiment of the present invention. In the embodiment ofFIG. 3, sheet of paper15is provided with a coding pattern in the form of optically readable position code17that consists of a pattern of marks18. The marks18inFIG. 3are greatly enlarged for the sake of clarity. In actuality, the marks18may not be easily discernible by the human visual system, and may appear as grayscale on sheet of paper15. In one embodiment, the marks18are embodied as dots; however, the present invention is not so limited.

FIG. 4shows an enlarged portion19of the position code17ofFIG. 3. An optical device such as device100or200(FIGS. 1 and 2) is positioned to record an image of a region of the position code17. In one embodiment, the optical device fits the marks18to a reference system in the form of a raster with raster lines21that intersect at raster points22. Each of the marks18is associated with a raster point22. For example, mark23is associated with raster point24. 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 surface70. Thus, by matching the pattern in the image/raster with a pattern in the reference system, the position of the pattern on the surface70, and hence the position of the optical device relative to the surface70, can be determined. Additional information is provided by the following patents and patent applications, herein incorporated by reference in their entirety for all purposes: U.S. Pat. No. 6,502,756; U.S. patent 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 01/73983; and WO 01/16691. See also Patent Application No. 60/456,053 filed on Mar. 18, 2003, and patent application Ser. No. 10/803,803 filed on Mar. 17, 2004, both of which are incorporated by reference in their entirety for all purposes.

With reference back toFIG. 1, four positions or subsets of markings on surface70are indicated by the letters A, B, C and D (these characters are not printed on surface70, but are used herein to indicate positions on surface70). There may be many such subsets on the surface70. Associated with each subset of markings on surface70is a unique pattern of marks. The subsets of markings on surface70may overlap because even if some marks are shared between overlapping regions, the pattern of marks in a subset is still unique to that subset.

In one embodiment, a user uses device100(specifically, using writing element52) to create a character consisting of, for example, a circled letter “M” at position A on surface70(generally, the user may create the character at any position on surface70). The user may create such a character in response to a prompt (e.g., an audible prompt) from device100. When the user creates the character, device100records the pattern of markings that are uniquely present at the position where the character is created. The device100associates that pattern of markings with the character just created. When device100is subsequently positioned over the circled “M,” device100recognizes the pattern of marks associated therewith and recognizes the position as being associated with a circled “M.” In effect, in the present embodiment, device100recognizes the character using the pattern of markings at the position where the character is located, rather than by recognizing the character itself.

In another embodiment, a user uses device100(specifically, using writing element52) to create a character consisting of, for example, a circled letter “M” at position A on surface70(generally, the user may create the character at any position on surface70). As in the prior example, when the user creates the character, device100records the pattern of markings that are uniquely present at the position where the character is created (stroke data). Using a character recognition application, the stroke data can be read and translated into the character “M.”

In one embodiment, a character is associated with a particular command. In the examples just described, a user can create (write) a character that identifies a particular command, and can invoke that command repeatedly by simply positioning device100over the written character. In other words, the user does not have to write the character for a command each time the command is to be invoked; instead, the user can write the character for a command one time and invoke the command repeatedly using the same written character.

In another embodiment, with reference toFIG. 3, sheet of paper15is preprinted with graphics at various locations on surface70. In the example ofFIG. 3, a graphic311of a button is shown. Graphic311lies over a pattern of markings that is unique to the position of graphic311. By placing device100over the position of graphic311, the pattern of dots underlying graphic311are read (scanned) and interpreted, and a command, instruction, function or the like associated with that pattern of dots is implemented by device100. Some type of actuating movement may be performed using device100in order to indicate that device100has been placed over graphic311with the intention of invoking the function, etc., associated with graphic311.

FIG. 5is a block diagram showing one embodiment of a network of devices in accordance with the present invention. In the example ofFIG. 5, the device100is linked to a personal computer501(e.g., a desktop or laptop computer), which in turn is linked to a Web server502. The links between the devices may be a wired link or a wireless link or a combination thereof. In an alternative arrangement, device100communicates directly to Web server502, bypassing computer501. As another alternative, computer501serves as the Web server.

FIG. 6is an example of a Web page design600according to an embodiment of the present invention. To design a Web page in accordance with embodiments of the present invention, a user uses an optical pen (e.g., device100ofFIG. 1) to write or draw information on a surface70, which may be a sheet of paper15. As previously mentioned herein, the surface70includes a pattern of marks (e.g., a dot pattern) that can be translated (decoded) into position information.

According to embodiments of the invention, the user can make any type of mark on the surface70. A mark may take any shape and may include multiple characters. That is, a mark can be a single mark, a letter or a number, a string of letters and/or numbers, a drawing, a part of a drawing, a line or lines (straight or otherwise), symbols, etc., without limitation. The device100captures each mark as it is made and stores it in memory unit48(FIG. 1) as stroke data. That is, as a mark is made, it will traverse some subset of the pattern of markings on surface70. As the mark is made, device100records the position information associated with that subset of markings. Alternatively, device100records a portion of that subset sufficient for defining the mark. As a simple example, a straight line can be encoded and stored as a beginning set of coordinates and an ending set of coordinates, where the two sets of coordinates are determined by decoding the pattern of markings on surface70.

The example ofFIG. 6shows a number of regions601,602,603and604that are created using the device100. These regions may be defined by the user, or they may be defined in advance; this is discussed further in conjunction withFIGS. 8 and 9, below.

In one embodiment, a type of operation is associated with each of the regions601-604. In such an embodiment, a mark made in the region is operated on according to the operation associated with that region. In general, if an operation is associated with a region (e.g., region601), then that operation is applied to any mark made in that region (more specifically, to the stroke data corresponding to a mark made in that region). However, as will be seen, a sub-region can be identified within a region such as region601. Marks made within a sub-region may not be operated on in the same way as other marks within the region.

In one embodiment, the operation is a process that is applied to the stroke data. For example, a character recognition process can be applied to the stroke data. The type of process may be selected by the user, or it may be automatically selected according to the position of the region—or equivalently, the position of the mark—on the surface70. Different operations may be associated with each of the regions601-604.

In another embodiment, a type of metadata is associated with each of the regions601-604, and hence with marks within the regions. The type of metadata may be selected by the user, or it may be automatically selected according to the position of the region—or equivalently, the position of the mark—on the surface70.

Region601ofFIG. 6may be defined, for example, as a text box, either automatically or by the user, and so any content (any mark) in region601is associated with metadata identifying that content as text. The metadata can also include information that specifies a format for the text. For example, the metadata can include information that specifies a font size, a color, or other aspects of the appearance of the text.

Different types of metadata may be associated with each of the regions601-604. In addition to the example above, the metadata can be used to associate various properties or levels of functionality with the content in each of the regions601-604. For example, text that is printed on the surface70can be linked to sounds (e.g., audio or music samples) stored on the device100. In the example ofFIG. 6, region602includes a list of a number of musical groups. According to embodiments of the present invention, and as described more fully in conjunction withFIG. 9below, each of the items in the list can be individually selected such that, for example, a different sound can be associated with each item.

An audio file can be associated with text printed on surface70using one or more of the menu graphics (e.g., icons)610, exemplified by graphic605. Graphic605is printed over a particular subset of the pattern of markings, such that the pattern is visible through graphic605. By placing the device100over graphic605, the pattern of markings underlying the graphic can be sensed. In response to the decoding of the pattern underlying graphic605, a command or set of instructions associated with that pattern is automatically invoked. Thus, for example, to associate a particular audio file with the “STEREOLAB” entry in region602, the device100is positioned over the appropriate graphic610to invoke the command used to associate metadata with an item printed/drawn on surface70. The device100may then be positioned over a second graphic610to invoke a menu that allows the STEREOLAB audio file to be accessed. For example, the second graphic610is repeatedly invoked until the user hears “STEREOLAB.” Once “STEREOLAB” is verbalized by device100, the device100is positioned over the “STEREOLAB” entry printed on surface70, to make the association between the audio file and that entry. In this manner, metadata associating a file to an entry on surface70is attached to that entry.

In the example ofFIG. 6, region603includes a list of dates. In one embodiment, using an approach similar to that just described, the metadata can be used to link these dates with a calendar application on device100, so that these dates can be loaded into that application, or vice versa.

In the example ofFIG. 6, region604includes a hand-drawn illustration that can be included in the Web page. Alternatively, a photograph (e.g., a Joint Photographic Experts Group file) or some other type of media content can be imported.

Embodiments of the present invention are not limited to the types of metadata described in the examples above. For example, by invoking the appropriate command in a manner similar to that described above, a hyperlink to another Web site can be associated with an entry on the surface70. Furthermore, an animated GIF (Graphic Interchange Format) file can be associated with an entry on surface70to incorporate animation into the Web page when it is displayed.

Furthermore, in one embodiment, metadata is associated with processed stroke data, thus essentially associating two levels of information with the stroke data. That is, for example, the stroke data may be processed using a character recognition process to identify a character or string of characters, and metadata may then be associated with the character or character string.

In general, according to embodiments of the present invention, the device100ofFIG. 1provides the following capabilities:

1. the capability to capture stroke data;

2. the capability to identify a region associated with the captured stroke data and to apply a process (e.g., a character recognition process) to the stroke data; and

3. the capability to identify a region associated with the captured stroke data and to apply metadata to the stroke data, or to processed stroke data. In the latter case, for example, a character recognition process can be applied to the stroke data, and then metadata can be applied to a string of such characters (e.g., letters and/or numbers), identifying them as a hyperlink, an email address, etc.

FIG. 7is an example of a displayed Web page700based on the Web page design600ofFIG. 6according to an embodiment of the present invention. In one embodiment, the Web page design600—specifically, the stroke data and the associated metadata—is stored on device100(FIG. 1) until the device is linked (synchronized) with personal computer501or Web server502. The stroke data may have been processed using, for example, a character recognition process. Once the link is made, the Web page design information can be used by an HTML editor, or a similar type of software application, to produce displayed Web page700.

Furthermore, content that may reside on the computer501can also be synchronized with the Web page design information received from device100. For example, a user may intend to import a JPEG file resident on the computer501into the displayed Web page700. While designing the Web page as described, a user may invoke a command that associates a file name with an entry on surface70. In response to a verbal prompt, the user can write the file name (including directories and subdirectories) on surface70. The file name is associated with the entry on surface70as metadata, in a manner similar to that described in the examples above. When the device100is linked to computer501, the file can be incorporated into the displayed Web page700.

Thus, according to embodiments of the present invention, a user can author Web content using device100in conjunction with a suitable surface70, then connect the device100to the Internet (either directly or via another computer) to upload that content to a Web server. As such, device100serves as the primary tool for Web content creation.

FIG. 8is an example of a user interface for Web page design according to an embodiment of the present invention. In the example ofFIG. 8, the user interface includes a surface70having printed thereon a number of predefined graphics801(e.g., icons) as well as a number of predefined regions802,803,804and805. Within the regions defined by elements801-805are respective patterns of markings, such as the patterns of markings described above in conjunction withFIGS. 3 and 4. In one embodiment, surface70constitutes a preprinted sheet of digital paper on which the elements801-805have been printed.

In the embodiment ofFIG. 8, the graphics801are used to invoke commands in a manner such as that described in the examples above. The graphics801do not necessarily have to appear on the same piece of paper used to design a Web page. For example, the graphics801can appear in a users' manual or on a reference card.

In one embodiment, a particular type of operation is automatically associated with content (e.g., marks) entered into the regions802-805and sensed by device100(FIG. 1). Different types of operations may be associated with each of the regions802-805. For example, a character recognition process may be associated with region802, and that process is then automatically applied to each mark made within that region.

In another embodiment, a particular type of metadata is automatically associated with content entered into the regions802-805. Different types of metadata may be associated with each of the regions802-805. For example, content entered into region802may be automatically identified as text, and metadata indicating this property is automatically associated with each mark made within that region.

As mentioned above, a mark made within a region may be processed according to an operation associated with the region, and then metadata may be applied to the processed data.

A user may assign a type of processing and/or metadata to a region. Thus, for example, although the boundaries of region802are established, a type of processing and/or metadata may not be assigned to region802until the user makes a selection. In one embodiment, the user can make a selection by placing device100(FIG. 1) over the region802, and then over one of the graphics801.

FIG. 9is another example of a user interface for Web page design according to an embodiment of the present invention. In the example ofFIG. 9, the user interface is initially a blank sheet of paper, except for the pattern of markings described previously herein. In one embodiment, the user defines a region813by placing the device100(FIG. 1) over the position labeled811and then over the position labeled812, or vice versa. The content within the region813may be present before the region is defined, or the content may be added after region813is defined. That is, in the former instance, the user may write or draw content on the surface70, and then subsequently define a region813encompassing the content. The latter instance is illustrated as region816, which is defined by placing the device100over the points labeled814and815. Depending on the user's preferences, the boundaries of the regions813and816may be visible or invisible.

Also illustrated inFIG. 9is an example of a region (a sub-region) that is defined within region813. In the example ofFIG. 9, the word “first” is selected by placing the device100over the points labeled821and822. Accordingly, a type of processing and/or metadata may be associated with the word “first” that is different from the type of processing and/or metadata associated with the other content in region813. For example, the word “first” may be underlined, or it may be rendered using a color or font different than that of the surrounding text.

Also, by creating a sub-region within a region, editing functions can be performed. For example, the word “first” can be deleted or otherwise edited separately from the remainder of the content in region813. Editing functions can also be implemented by replacing the entire content of a region.

A user may assign a type of processing and/or metadata to a region such as region813. In one embodiment, the user can make a selection by placing device100(FIG. 1) over the region813, and then over the graphic825.

In one embodiment, graphic825is also created by the user with device100(FIG. 1), as previously described herein. Graphic825is used to invoke a command, in a manner similar to that described previously herein. For example, the graphic825can be used to associate a particular type of processing and/or metadata with a region defined by the user. Just as a region can be defined before or after content is written or drawn by the user on surface70, so can a particular type of processing and/or metadata be associated with the region before or after the content is written or drawn.

A combination of the interfaces ofFIGS. 8 and 9may be used to design a Web page. For example, there may be predefined regions printed on the surface70as inFIG. 8, and the user may define additional regions as inFIG. 9.

FIG. 10is a flowchart1000of a computer-implemented method for storing information according to one embodiment of the present invention. In the present embodiment, with reference also toFIG. 1, flowchart1000can be implemented by device100as computer-readable program instructions stored in memory unit48and executed by processor32. Although specific steps are disclosed inFIG. 10, such steps are exemplary. That is, the present invention is well suited to performing various other steps or variations of the steps recited inFIG. 10.

In one embodiment, in step1001ofFIG. 10, with reference also toFIGS. 1 and 3, a mark on a surface70(e.g., on a piece of paper15) is sensed by a device100as the mark is made on the surface by a writing element52. As discussed above, the surface70has printed thereon a pattern of markings (e.g., a dot pattern) that defines spatial (e.g., two-dimensional) coordinates on the surface (seeFIGS. 3 and 4).

In step1002ofFIG. 10, an encoded version of the mark (e.g., stroke data) is stored in memory unit48(FIG. 1).

In step1003ofFIG. 10, the stroke data is associated with a particular region on the surface70, and associated with that region is a particular operation. As a result, that operation is automatically performed on the stroke data.

In one embodiment, the operation includes processing of the stroke data using, for example, a character recognition application.

In another embodiment, metadata is associated with the encoded version of the mark. The metadata is subsequently used when a representation of the mark is rendered as, for example, a Web page. That is, a representation of the mark, when rendered on a display device, will have a property that is determined according to the metadata.

In one embodiment, inputs that identify what type of operation to associate with a region are received by device100(FIG. 1). To generate the inputs, the device100senses both the subset of the pattern of markings on the surface70(FIG. 1) associated with the region and a subset of the pattern of markings associated with a type of operation. For example, with reference toFIG. 9, device100senses the pattern of markings in region813, and device100also senses the pattern of markings underlying graphic825. In essence, decoding the pattern of markings underlying graphic825invokes a command that associates a type of operation with the region813.

In another embodiment, with reference toFIG. 8for example, the surface70has printed thereon a pre-designated region (e.g., region802) encompassing a portion of the pattern of markings. A type of operation is associated with the designated region. As a result, that type of operation is associated automatically with any mark made in the region. In yet another embodiment, with reference toFIG. 9for example, a user can create such a region (e.g., region813).

In summary, according to embodiments of the present invention, using a device such as device100(FIG. 1) as the primary design tool, a user can design, for example, a Web page (e.g., a home page) by drawing the Web page on, for example, a piece of paper on which is printed a pattern of markings (e.g., a dot pattern) that defines spatial coordinates on the paper. In one embodiment, as part of the process of drawing the page, the various portions of the drawing are operated on according to their respective locations on the piece of paper, either automatically or at the behest of the user. Different types of operations can be associated with different parts of the drawing, indicating what parts of the drawing are text or images, attaching hyperlinks or sounds, adding animation, and the like. The drawing information is stored in the optical pen until the pen is connected to a personal computer or a Web server in order to create a Web site. As a result, Web page design is made more convenient and more intuitive.