text:
US7953387B2 - Retrieving a program via a coded surface - Google PatentsRetrieving a program via a coded surface Download PDF
- Publication number
- Authority
- United States
- Prior art keywords
- netpage
- user
- mobile
- player
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related, expires
- 239000002609 media Substances 0.000 claims abstract description 142
- 230000002452 interceptive Effects 0.000 description 38
- 238000000465 moulding Methods 0.000 description 21
- 239000003795 chemical substance by application Substances 0.000 description 18
- 230000000875 corresponding Effects 0.000 description 11
- 238000000034 methods Methods 0.000 description 11
- RYMZZMVNJRMUDD-HGQWONQESA-N Simvastatin Chemical compound data:image/svg+xml;base64,[encoded data, 23592 characters] data:image/svg+xml;base64,[encoded data, 23584 characters] C([C@H]1[C@@H](C)C=CC2=C[C@H](C)C[C@@H]([C@H]12)OC(=O)C(C)(C)CC)C[C@@H]1C[C@@H](O)CC(=O)O1 RYMZZMVNJRMUDD-HGQWONQESA-N 0.000 description 10
- 230000000694 effects Effects 0.000 description 10
- 230000015654 memory Effects 0.000 description 10
- 230000003213 activating Effects 0.000 description 8
- 230000004044 response Effects 0.000 description 8
- 239000000203 mixtures Substances 0.000 description 5
- 230000001737 promoting Effects 0.000 description 5
- OKTJSMMVPCPJKN-UHFFFAOYSA-N carbon Chemical compound data:image/svg+xml;base64,[encoded data, 4908 characters] data:image/svg+xml;base64,[encoded data, 4916 characters] [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 4
- 230000001360 synchronised Effects 0.000 description 4
- 238000005516 engineering processes Methods 0.000 description 3
- 238000003780 insertion Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- BQCADISMDOOEFD-UHFFFAOYSA-N silver Chemical compound data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0naXNvLTg4NTktMSc/Pgo8c3ZnIHZlcnNpb249JzEuMScgYmFzZVByb2ZpbGU9J2Z1bGwnCiAgICAgICAgICAgICAgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJwogICAgICAgICAgICAgICAgICAgICAgeG1sbnM6cmRraXQ9J2h0dHA6Ly93d3cucmRraXQub3JnL3htbCcKICAgICAgICAgICAgICAgICAgICAgIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJwogICAgICAgICAgICAgICAgICB4bWw6c3BhY2U9J3ByZXNlcnZlJwp3aWR0aD0nMzAwcHgnIGhlaWdodD0nMzAwcHgnIHZpZXdCb3g9JzAgMCAzMDAgMzAwJz4KPCEtLSBFTkQgT0YgSEVBREVSIC0tPgo8cmVjdCBzdHlsZT0nb3BhY2l0eToxLjA7ZmlsbDojRkZGRkZGO3N0cm9rZTpub25lJyB3aWR0aD0nMzAwJyBoZWlnaHQ9JzMwMCcgeD0nMCcgeT0nMCc+IDwvcmVjdD4KPHRleHQgZG9taW5hbnQtYmFzZWxpbmU9ImNlbnRyYWwiIHRleHQtYW5jaG9yPSJzdGFydCIgeD0nMTI0LjYzNicgeT0nMTU2JyBzdHlsZT0nZm9udC1zaXplOjQwcHg7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7ZmlsbDojM0I0MTQzJyA+PHRzcGFuPkFnPC90c3Bhbj48L3RleHQ+Cjwvc3ZnPgo= data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0naXNvLTg4NTktMSc/Pgo8c3ZnIHZlcnNpb249JzEuMScgYmFzZVByb2ZpbGU9J2Z1bGwnCiAgICAgICAgICAgICAgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJwogICAgICAgICAgICAgICAgICAgICAgeG1sbnM6cmRraXQ9J2h0dHA6Ly93d3cucmRraXQub3JnL3htbCcKICAgICAgICAgICAgICAgICAgICAgIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJwogICAgICAgICAgICAgICAgICB4bWw6c3BhY2U9J3ByZXNlcnZlJwp3aWR0aD0nODVweCcgaGVpZ2h0PSc4NXB4JyB2aWV3Qm94PScwIDAgODUgODUnPgo8IS0tIEVORCBPRiBIRUFERVIgLS0+CjxyZWN0IHN0eWxlPSdvcGFjaXR5OjEuMDtmaWxsOiNGRkZGRkY7c3Ryb2tlOm5vbmUnIHdpZHRoPSc4NScgaGVpZ2h0PSc4NScgeD0nMCcgeT0nMCc+IDwvcmVjdD4KPHRleHQgZG9taW5hbnQtYmFzZWxpbmU9ImNlbnRyYWwiIHRleHQtYW5jaG9yPSJzdGFydCIgeD0nMTcuNTAwOScgeT0nNDcuNzk1NScgc3R5bGU9J2ZvbnQtc2l6ZTozOHB4O2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0Om5vcm1hbDtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtmb250LWZhbWlseTpzYW5zLXNlcmlmO2ZpbGw6IzNCNDE0MycgPjx0c3Bhbj5BZzwvdHNwYW4+PC90ZXh0Pgo8L3N2Zz4K [Ag] BQCADISMDOOEFD-UHFFFAOYSA-N 0.000 description 2
- 229910052709 silver Inorganic materials 0.000 description 2
- HBBGRARXTFLTSG-UHFFFAOYSA-N Lithium Ion Chemical compound data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0naXNvLTg4NTktMSc/Pgo8c3ZnIHZlcnNpb249JzEuMScgYmFzZVByb2ZpbGU9J2Z1bGwnCiAgICAgICAgICAgICAgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJwogICAgICAgICAgICAgICAgICAgICAgeG1sbnM6cmRraXQ9J2h0dHA6Ly93d3cucmRraXQub3JnL3htbCcKICAgICAgICAgICAgICAgICAgICAgIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJwogICAgICAgICAgICAgICAgICB4bWw6c3BhY2U9J3ByZXNlcnZlJwp3aWR0aD0nMzAwcHgnIGhlaWdodD0nMzAwcHgnIHZpZXdCb3g9JzAgMCAzMDAgMzAwJz4KPCEtLSBFTkQgT0YgSEVBREVSIC0tPgo8cmVjdCBzdHlsZT0nb3BhY2l0eToxLjA7ZmlsbDojRkZGRkZGO3N0cm9rZTpub25lJyB3aWR0aD0nMzAwJyBoZWlnaHQ9JzMwMCcgeD0nMCcgeT0nMCc+IDwvcmVjdD4KPHRleHQgZG9taW5hbnQtYmFzZWxpbmU9ImNlbnRyYWwiIHRleHQtYW5jaG9yPSJzdGFydCIgeD0nMTM1LjcyMScgeT0nMTU2LjYnIHN0eWxlPSdmb250LXNpemU6NDBweDtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjtmaWxsOiMzQjQxNDMnID48dHNwYW4+TGk8L3RzcGFuPjx0c3BhbiBzdHlsZT0nYmFzZWxpbmUtc2hpZnQ6c3VwZXI7Zm9udC1zaXplOjMwcHg7Jz4rPC90c3Bhbj48dHNwYW4+PC90c3Bhbj48L3RleHQ+Cjwvc3ZnPgo= data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0naXNvLTg4NTktMSc/Pgo8c3ZnIHZlcnNpb249JzEuMScgYmFzZVByb2ZpbGU9J2Z1bGwnCiAgICAgICAgICAgICAgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJwogICAgICAgICAgICAgICAgICAgICAgeG1sbnM6cmRraXQ9J2h0dHA6Ly93d3cucmRraXQub3JnL3htbCcKICAgICAgICAgICAgICAgICAgICAgIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJwogICAgICAgICAgICAgICAgICB4bWw6c3BhY2U9J3ByZXNlcnZlJwp3aWR0aD0nODVweCcgaGVpZ2h0PSc4NXB4JyB2aWV3Qm94PScwIDAgODUgODUnPgo8IS0tIEVORCBPRiBIRUFERVIgLS0+CjxyZWN0IHN0eWxlPSdvcGFjaXR5OjEuMDtmaWxsOiNGRkZGRkY7c3Ryb2tlOm5vbmUnIHdpZHRoPSc4NScgaGVpZ2h0PSc4NScgeD0nMCcgeT0nMCc+IDwvcmVjdD4KPHRleHQgZG9taW5hbnQtYmFzZWxpbmU9ImNlbnRyYWwiIHRleHQtYW5jaG9yPSJzdGFydCIgeD0nMjguMjA3MycgeT0nNDguMzc1JyBzdHlsZT0nZm9udC1zaXplOjM4cHg7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7ZmlsbDojM0I0MTQzJyA+PHRzcGFuPkxpPC90c3Bhbj48dHNwYW4gc3R5bGU9J2Jhc2VsaW5lLXNoaWZ0OnN1cGVyO2ZvbnQtc2l6ZToyOC41cHg7Jz4rPC90c3Bhbj48dHNwYW4+PC90c3Bhbj48L3RleHQ+Cjwvc3ZnPgo= [Li+] HBBGRARXTFLTSG-UHFFFAOYSA-N 0.000 description 1
- 239000000853 adhesives Substances 0.000 description 1
- 238000004378 air conditioning Methods 0.000 description 1
- 230000001276 controlling effects Effects 0.000 description 1
- RYGMFSIKBFXOCR-UHFFFAOYSA-N copper Chemical compound data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0naXNvLTg4NTktMSc/Pgo8c3ZnIHZlcnNpb249JzEuMScgYmFzZVByb2ZpbGU9J2Z1bGwnCiAgICAgICAgICAgICAgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJwogICAgICAgICAgICAgICAgICAgICAgeG1sbnM6cmRraXQ9J2h0dHA6Ly93d3cucmRraXQub3JnL3htbCcKICAgICAgICAgICAgICAgICAgICAgIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJwogICAgICAgICAgICAgICAgICB4bWw6c3BhY2U9J3ByZXNlcnZlJwp3aWR0aD0nMzAwcHgnIGhlaWdodD0nMzAwcHgnIHZpZXdCb3g9JzAgMCAzMDAgMzAwJz4KPCEtLSBFTkQgT0YgSEVBREVSIC0tPgo8cmVjdCBzdHlsZT0nb3BhY2l0eToxLjA7ZmlsbDojRkZGRkZGO3N0cm9rZTpub25lJyB3aWR0aD0nMzAwJyBoZWlnaHQ9JzMwMCcgeD0nMCcgeT0nMCc+IDwvcmVjdD4KPHRleHQgZG9taW5hbnQtYmFzZWxpbmU9ImNlbnRyYWwiIHRleHQtYW5jaG9yPSJzdGFydCIgeD0nMTIzLjMxNicgeT0nMTU2JyBzdHlsZT0nZm9udC1zaXplOjQwcHg7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7ZmlsbDojM0I0MTQzJyA+PHRzcGFuPkN1PC90c3Bhbj48L3RleHQ+Cjwvc3ZnPgo= data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0naXNvLTg4NTktMSc/Pgo8c3ZnIHZlcnNpb249JzEuMScgYmFzZVByb2ZpbGU9J2Z1bGwnCiAgICAgICAgICAgICAgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJwogICAgICAgICAgICAgICAgICAgICAgeG1sbnM6cmRraXQ9J2h0dHA6Ly93d3cucmRraXQub3JnL3htbCcKICAgICAgICAgICAgICAgICAgICAgIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJwogICAgICAgICAgICAgICAgICB4bWw6c3BhY2U9J3ByZXNlcnZlJwp3aWR0aD0nODVweCcgaGVpZ2h0PSc4NXB4JyB2aWV3Qm94PScwIDAgODUgODUnPgo8IS0tIEVORCBPRiBIRUFERVIgLS0+CjxyZWN0IHN0eWxlPSdvcGFjaXR5OjEuMDtmaWxsOiNGRkZGRkY7c3Ryb2tlOm5vbmUnIHdpZHRoPSc4NScgaGVpZ2h0PSc4NScgeD0nMCcgeT0nMCc+IDwvcmVjdD4KPHRleHQgZG9taW5hbnQtYmFzZWxpbmU9ImNlbnRyYWwiIHRleHQtYW5jaG9yPSJzdGFydCIgeD0nMTYuMjI1NCcgeT0nNDcuNzk1NScgc3R5bGU9J2ZvbnQtc2l6ZTozOHB4O2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0Om5vcm1hbDtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtmb250LWZhbWlseTpzYW5zLXNlcmlmO2ZpbGw6IzNCNDE0MycgPjx0c3Bhbj5DdTwvdHNwYW4+PC90ZXh0Pgo8L3N2Zz4K [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 238000004821 distillation Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000000463 materials Substances 0.000 description 1
- 230000000737 periodic Effects 0.000 description 1
- 230000002085 persistent Effects 0.000 description 1
- 230000002269 spontaneous Effects 0.000 description 1
- H04M1/00—Substation equipment, e.g. for use by subscribers; Analogous equipment at exchanges
- H04M1/02—Constructional features of telephone sets
- H04M1/21—Combinations with auxiliary equipment, e.g. with clock, with memoranda pads
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/002—Specific input/output arrangements not covered by G06F3/02 - G06F3/16, e.g. facsimile, microfilm
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/0304—Detection arrangements using opto-electronic means
- G06F3/0317—Detection arrangements using opto-electronic means in co-operation with a patterned surface, e.g. absolute position or relative movement detection for an optical mouse or pen positioned with respect to a coded surface
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/0304—Detection arrangements using opto-electronic means
- G06F3/0317—Detection arrangements using opto-electronic means in co-operation with a patterned surface, e.g. absolute position or relative movement detection for an optical mouse or pen positioned with respect to a coded surface
- G06F3/0321—Detection arrangements using opto-electronic means in co-operation with a patterned surface, e.g. absolute position or relative movement detection for an optical mouse or pen positioned with respect to a coded surface by optically sensing the absolute position with respect to a regularly patterned surface forming a passive digitiser, e.g. pen optically detecting position indicative tags printed on a paper sheet
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0354—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
- G06F3/03545—Pens or stylus
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- H04M1/00—Substation equipment, e.g. for use by subscribers; Analogous equipment at exchanges
- H04M1/72—Substation extension arrangements; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selecting
- H04M1/725—Cordless telephones
- H04M1/72519—Portable communication terminals with improved user interface to control a main telephone operation mode or to indicate the communication status
- H04M1/72522—With means for supporting locally a plurality of applications to increase the functionality
- H04M1/72525—With means for supporting locally a plurality of applications to increase the functionality provided by software upgrading or downloading
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network-specific arrangements or communication protocols supporting networked applications
- H04L67/04—Network-specific arrangements or communication protocols supporting networked applications adapted for terminals or networks with limited resources or for terminal portability, e.g. wireless application protocol [WAP]
- H04M1/00—Substation equipment, e.g. for use by subscribers; Analogous equipment at exchanges
- H04M1/26—Devices for signalling identity of wanted subscriber
- H04M1/27—Devices whereby a plurality of signals may be stored simultaneously
- H04M1/274—Devices whereby a plurality of signals may be stored simultaneously with provision for storing more than one subscriber number at a time, e.g. using toothed disc
- H04M1/2745—Devices whereby a plurality of signals may be stored simultaneously with provision for storing more than one subscriber number at a time, e.g. using toothed disc using static electronic memories, e.g. chips
- H04M1/2753—Devices whereby a plurality of signals may be stored simultaneously with provision for storing more than one subscriber number at a time, e.g. using toothed disc using static electronic memories, e.g. chips providing data content
- H04M1/2755—Devices whereby a plurality of signals may be stored simultaneously with provision for storing more than one subscriber number at a time, e.g. using toothed disc using static electronic memories, e.g. chips providing data content by optical scanning
The present invention generally relates to a mobile device incorporating a printer. The invention more specifically relates to a mobile device such as a mobile telecommunications device, for example a mobile or cellular telephone that incorporates a printer which is able to print a wide variety of content on a print medium. However, it will be appreciated by those skilled in the art that the present invention can be used by other types of portable or mobile devices, or even non-portable devices.
The following applications have been filed by the applicant simultaneously with the present application:
The disclosures of these copending applications are incorporated herein by reference.
The following patents or patent applications filed by the applicant or assignee of the present invention are hereby incorporated by cross-reference:
The assignee has developed mobile or cellular telephones, Personal Data Assistants (PDAs) and other mobile telecommunication devices, with the ability to print hard copies of content, such as images or information stored or accessed by the device, (see for example, U.S. Pat. No. 6,405,055, filed on Nov. 9, 1999). Likewise, the assignee has also designed digital cameras with the ability to print captured images with an in-built printer (see for example, U.S. Pat. No. 6,750,901, filed on Jul. 10, 1998). As the prevalence of mobile telecommunications devices increases, the functionality of these devices is further enhanced by the ability to print hard copies.
As these devices are portable, they should be compact for user convenience. Accordingly, any printer incorporated into the device needs to maintain a small form factor. Also, the additional load on the battery should be relatively small. Furthermore, the consumables (such as ink, paper, etc.) should be relatively inexpensive and simple to replenish. It is these factors that strongly influence the commercial success or otherwise of products of this type.
The assignee of the present invention has also developed the Netpage system for enabling interaction with computer software using a printed interface and a proprietary stylus-shaped sensing device. As described in detail in U.S. Pat. No. 6,792,165, filed on Nov. 25, 2000 and US Patent Application U.S. Ser. No. 10/778,056, filed on Feb. 17, 2004, a Netpage pen captures, identifies and decodes tags of coded data printed onto a surface such as a page. In a preferred Netpage implementation, each tag encodes a position and an identity of the document. By decoding at least one of the tags and transmitting the position (or a refined version of the position, representing a higher resolution position of the pen) and identity referred to by the decoded tag, a remote computer can determine an action to perform. Such actions can include, for example, causing information to be saved remotely for subsequent retrieval, downloading of a webpage for printing or display via a computer, bill payment or even the performance of handwriting recognition based on a series of locations of the Netpage pen relative to the surface.
When printing a Netpage, a printer in a mobile telecommunications device can print the Netpage tags simultaneously with visible user information. The association between the tags and information can already exist on a remote Netpage server, such as where the printer is printing a fully rendered page (including tags) provided by the Netpage server or another computer. Alternatively, the mobile telecommunications device can generate the tags (or source them remotely) and define an association between the tags and user information. The association is then recorded in the remote Netpage server.
A problem with these options is that they require the mobile telecommunications device to include Netpage tag printing capabilities. This requires an additional row of print nozzles in the printhead, and reduces the amounts of ink that can be stored for non-tag use. Whilst this is less of an issue with large, mains-powered printers, it can be an issue in small form-factor articles such as mobile telecommunications devices. Alternatively, the mobile telecommunications device can be configured to print on print media that is pre-printed with Netpage tags. That way the printer need only print the user information and record an association between the visible information and the pre-printed tags.
It is desirable to provide functional applications making use of the mobile telecommunications device. Such applications can include, for example, mobile printing applications, linking, capturing and/or printing generic or specific objects to a print medium, and many other applications providing functionality to the mobile telecommunications device and various uses of types of print media.
In one particular, but non-limiting, aspect, an M-Print device is a mobile device such as a telephone or PDA which incorporates a printer. Paper is either manually presented or auto-fed from a cartridge, depending on device form factor. The printer may or may not print tags, for example infrared tags, and the printer or a sensor detects tags printed, for example pre-printed, onto blank media. The paper path either includes a tag reader, or it includes a simpler sensor for reading a linear data track on the card. The data track can encode the same identifier as the tags. Reading the identifier allows the M-Print device to associate the card's graphic and/or interactive content with the identifier. This allows subsequent interactions with the card to be properly interpreted. The graphic and/or interactive content is stored on a network-based server, indexed by the identifier.
It should be noted that the media identifier (i.e. print media identifier) may correspond to a range of 2D coordinates without an explicit single media identifier. Hence, reference to the media identifier is to be read as a reference to an explicit or defmed one or more media identifiers, or, as a reference to a range of 2D coordinates.
The device also optionally incorporates a pointer. The pointer may be used to click on a hyperlink, but generally doesn't operate at a sufficiently high rate to capture motion. Alternatively, the telephone may incorporate a fully-functional Netpage-type pen. Even when the M-Print device doesn't incorporate a pointer, the user can interact with printed cards by feeding them through the paper path. The data track reader or tag reader in the paper path extracts the identifier, which allows the device to identify the graphic and/or interactive content of the card, and object(s) linked to the card. Not all M-Print cards have to be produced by an M-Print device. For example, pre-printed M-Print cards of a collectible or promotional nature may be included in cereal packets or magazines. And even blank media may bear advertising on the reverse side. Not all M-Print cards have to be interacted with via a pointer in an M-Print device. They can be interacted with via any device, or another scanning device altogether which can read the data track or an application-specific printed barcode.
An M-Print card acts as a token for the graphic and/or interactive content of the card, including any objects linked to the card. A user can easily obtain the original digital content of the card by clicking on the card or 'virtually scanning' the card through the paper path. For example, a photo acts as a token for the original digital image, and a business card acts as a token for the contact details linked to the card. By acting as a token for its own content, a card allows a user to obtain a perfect re-print. In addition to the identifier, the data track and the tags encode a digital signature which allows the card to be authenticated. This has two purposes. Firstly, it allows a blank card to be authenticated during printing to prevent the use of non-sanctioned blanks. Secondly, it allows a card to be authenticated when used as a token, to prevent fraudulent access to the content of the card or objects linked to the card.
Various applications are possible using aspects, components or features of the mobile telecommunications device and associated coded print medium. Such applications can include mobile printing applications, linking, capturing and/or printing generic or specific objects to a print medium, and many other applications providing practical uses for the coded print medium and/or the mobile telecommunications device. Various particular applications are herein described.
In a first aspect the present invention provides a method of retrieving a program using a print medium, comprising the steps of:
- determining a print media identifier from the print medium using a sensor module of a mobile telecommunications device, the print media identifier having been linked to the program; and,
- retrieving, using the mobile telecommunications device and the print media identifier, the program.
Optionally information associated with or representative of the program is at least one of: displayed on a display of the mobile telecommunications device; and printed on a print medium by a printer module of the mobile telecommunications device.
Optionally the program is executed by the mobile telecommunications device.
Optionally the program is installed on the mobile telecommunications device.
Optionally the program is at least one of: an application; a utility; a service; a game; an accessory; a driver; an interface; an operating system; a patch; an update; a tool; and components thereof.
Optionally the program is retrieved from a database and the database is at least one of: stored locally at the mobile telecommunications device; and stored remotely at a server.
Optionally the program is retrieved in parts.
Optionally the print medium is provided with first coded data in a first format and second coded data in a second format, the first coded data encoding first information and the second coded data encoding second information, at least some of the first information being indicative of the print media identifier, the first format being a linear pattern, at least some of the second information being indicative of the print media identifier and of a two-dimensional coordinate grid, the second format being a two-dimensional pattern.
Optionally the sensor module is used to link the program to the print media identifier.
Optionally the print medium is provided with coded data in a format, the coded data encoding information, at least some of the information being indicative of the print media identifier.
Optionally the method includes:
- when the print medium is presented in a media feed path of the mobile telecommunications device, reading, using the sensor module, at least some of the coded data; and
- determining, using the at least some read coded data, the print media identifier.
Optionally the media feed path includes a printer of the mobile telecommunications device.
Optionally the format is a linear pattern.
Optionally the information is further indicative of a two-dimensional coordinate grid, and the format is a two-dimensional pattern.
Optionally the information is further indicative of a digital signature associated with the print media identifier, the method including:
- determining, by reading at least some of the coded data using the sensor module, the digital signature; and
- retrieving, if the digital signature is authentic, the program.
Optionally the digital signature includes at least one of: a random number; a secret-key digital signature; and a public-key digital signature.
Optionally a printer module of the mobile telecommunications device prints at least some of the coded data on the print medium.
Optionally the method includes paying for the program using the mobile telecommunications device.
Optionally the program is associated with a region of the print medium, the method including:
- reading, using the sensor module, at least some of the coded data;
- determining, using the at least some read coded data, a position of the sensor module relative to the print medium; and,
- retrieving, if the determined position is within the region, the program.
In a further aspect there is provided a print medium comprising a surface provided with coded data, the coded data indicative of a print media identifier, the print media identifier linked to a program, the print media identifier able to be determined using a sensor module of a mobile telecommunications device, the program retrievable from a database using the print media identifier.
An example embodiment of the present invention should become apparent from the following description, which is given by way of example only, of a preferred but non-limiting embodiment, described in connection with the accompanying figures.
The following modes, given by way of example only, are described in order to provide a more precise understanding of the subject matter of a preferred embodiment or embodiments. In the figures, incorporated to illustrate features of an example embodiment, like reference numerals are used to identify like parts throughout the figures.
1.0 Printing Internet Based Content Product Architecture
An example of a M-Print print media is the size of a business card. In general, documents or web based materials that have been designed for display on a desktop monitor or to be printed on A4 or Letter paper and may not print well on such sized media. If the content is reduced for the business card media then the content may be too small for easy reading. If multiple pages of media are used to print a page then the user is required to assemble the pages in the correct order before the printout is meaningful. To have presentable, effective content on a business card sized media the content should be specifically authored for that sized media. Described herein is a general mechanism to allow the authors and providers of web applications and web sites to make explicit use of the new media size, such as a business card.
The term "Mobile Document" or M-Doc is herein used to refer to documents specifically authored to be printed via M-Print. The format of a "Mobile Document" (i.e print medium) may vary, it can be pre-rendered and in a format ready to be sent directly to the printer, or it can be in a higher level format that requires rendering before printing. On some mobile devices it is not be possible to render the "Mobile Document" on the device, thus the "Mobile Document" is rendered before being sent to the mobile device. In regard of other mobile devices, the "Mobile Document" can be sent in the high level format and rendered on the mobile device. In general, to be able to render on the device the "Mobile Document" format is provided in an encapsulated format that contains the data necessary to render the M-Doc. Thus, by providing the M-Doc in an encapsulated format, the M-Doc does not necessarily have to rely on a particular font or bitmap being available on the mobile device (i.e. mobile telecommunications device).
A common usage of a "Mobile Document" is for the author of a web page to summarise contents of the web-page in a "Mobile Document", which will herein be referred to as a "Nugget", and to provide a link on the page for users to print the nugget. When the web page is static HTML the content of the nugget can also be static. If the web page is dynamic HTML then it is likely the content of the nugget may also have to be dynamically created.
Current 2.5G mobile data networks have low bandwidth, high latency, and are expensive to transfer data over. The emerging 3G networks improve the bandwidth and latency but are still expensive to transfer data over. Mobile carriers tend to subsidise some of the data transfer mechanisms to encourage use, so it is possible to have a situation where it is significantly cheaper to send data via an MMS than it is to transfer it via a HTTP request over the same network. For this reason the proposed architecture supports multiple ways of delivering an M-Doc to a mobile device. The architecture is also designed to minimise the number of requests that need to be made from the device to retrieve a M-Doc and to also to minimise the amount of data that needs to be transferred to the device to transmit an M-Doc.
There are three messaging services in common use in the mobile networks at the moment: SMS (Short Message Service), EMS (Enhanced Message Service and MMS) (Multimedia Message Service). SMS is generally designed for sending text only messages up to 160 characters long. EMS is an enhanced version of SMS consisting of several SMS messages clustered together. This mechanism is used to deliver ring tones, etc to handsets. Both SMS and EMS are implemented using existing mechanisms in the GSM or CDMA networks and do not require IP based bearers such as GPRS. MMS provides the ability to send a mixture of multimedia formats such as images, sound and movies along with a definition of how to use these multimedia formats using the Synchronized Multimedia Integration Language, SMIL. MMS does not have any theoretical size limits. MMS is implemented on top of IP bearers and requires GPRS or one the 3G equivalents to be deployed. Since MMS uses IP bearers it is not able to self-transfer or "push" itself out to a handset, instead it uses SMS to alert the user to the fact that an MMS message is waiting in the network for the user to retrieve, so it requires a "push" and "pull" to retrieve the message, whereas SMS requires a single "push" and EMS is delivered by multiple "pushes".
1.1 High Level Architecture
Referring to
- 1—direct user action, typically clicking on a link on a web page; or
- 2—the arrival of an SMS or MMS containing a M-Doc reference 507 or an M-Doc 500 itself.
A M-Doc Retriever 502 is a component responsible for fetching an M-Doc 500. The M-Doc 500 is then passed to the M-Doc Printing Service 503 and printed. The following sections explain each of these major components and their inputs and outputs in more detail.
1.1.1 Web/WAP Browser
The Web Browser 504 is a third party application available on the mobile device 100. It is used by the user to browse web pages. A web site that supports printing M-Docs 500 includes web pages that contain M-Doc Reference links. When the user clicks on a M-Doc Reference link, a M-Doc 500 reference is returned to the browser 504. The M-Doc reference 507 can be handled by the browser 504 in a number of ways dependent upon the operating system running on the mobile device 100.
It is also possible for the M-Doc Retriever 502 to be activated directly by passing the M-Doc Retriever 502 a web page reference. This triggers a Nugget Creation service 506 to generate a Nugget for the website which the web page reference is associated with. The ability to generate a meaningful Nugget for a website depends on the content of the website.
1.1.2 M-Doc Retriever
The M-Doc retriever 502 is activated by the arrival of M-Doc reference 507 to the device.
Referring to
- 1. MIME type recogniser 508—This can be activated either by clicking on a link in a web page that causes an "HTTP Get" of an object whose MIME type is an M-Doc reference 507. Or it can be activated by the arrival on the mobile device of an Obex transfer 511.
- 2. Message Monitor 509—This is a component that monitors the Inbox of the Messaging Service on the mobile device. When it receives a message from any source that contains an M-Doc reference 507, the Message Monitor 504 passes the M-Doc reference 507 onto the M-Doc Retriever 502.
- 3. Web browser plugin 510—This is triggered by explicit scripting code in a web page being browsed on a web browser 504. When the Web browser plugin is activated, it is passed a M-Doc reference 507 which is passed onto the M-Doc Retriever 502.
The M-Doc Retriever 502 receives the M-Doc Reference 507 which is in the format of a URI (Uniform Resource Identifier). The M-Doc Retriever 502 appends device specific information to URI and is dispatched via an HTTP request to the M-Doc Retrieval Service 512 running on the device. Device specific information that is appended to the URI is dependent upon how the system has been deployed and the capabilities of the device.
If a Mobile Device Capability Service 513 is deployed in the network 501 then the device specific information appended only requires identification the handset, via IMEI. If the Mobile Device Capability Service 513 is not deployed in the network 501 then the device 100 is required to append information relating to the printer 4, the formats of M-Doc's 500 the device 100 is capable of printing and the preferred delivery method. The printer information required is deployment specific. If the renderer is able to look up the printer characteristics based on the handset or a printer version number then only those need to be provided, but if not, then information relating the printers resolution and colour space parameters are required.
The M-Doc URI that is supplied by the application is used to retrieve the M-Doc 500. This URI contains information needed to retrieve or generate the M-Doc 500 from the application 514. If the format of the returned M-Doc 500 matches the format(s) the device 100 is capable of printing, then the document 500 is delivered to the device 100. If there is an unsuccessful match, the M-Doc 500 is rendered. This is performed by passing the document 500 to the rendering service 515 along with the printer information. The rendering service returns the document in a pre-rendered format which can be printed by a mobile device 100 containing a printer 4.
The way in which the M-Doc 500 is delivered back to the M-Doc retriever 502 can also vary. It may be returned in the reply to the original HTTP request or it may be sent via an MMS or e-mail. These later two cases are most likely to be used in an environment where the pricing policy of a carrier encourages MMS or email use over general web browsing. The preferred delivery method may be included in the retrieval request or it may be looked up via the Mobile Device Capability Service 513.
The Rendering Service 515 may also be used directly by application writers who want to provide pre-rendered M-Doc's within their application. In this case the Rendering Service 515 is accessed via SOAP (Simple Object Access Protocol) as a web service, providing the M-Doc 500 in its authored format and obtaining the pre-rendered print format document and a thumbnail image for use in a GUI 516 of the application 514 running on the device 100.
When an MMS 517 is sent to the mobile device 100, the MMS 517 is stored in the mobile network at a MMS Message Centre 518 and an SMS is sent to the device to alert the user an MMS 517 is waiting to be fetched. With a modification this notification mechanism can be used to deliver an M-Doc 500 to a phone 100. The SMS notification can contain both an M-Doc reference 507 and an MMS notification. The request to fetch the MMS from the Message Centre 518 can be enhanced with the M-Doc reference 509, allowing the Message Centre 518 to contact the M-Doc Retrieval Service 512 to retrieve the M-Doc 500 in the body of the MMS 517. This service is called an M-Doc MMS service.
Any email, MMS, Obex or web page may contain a direct M-Doc 500 rather than an M-Doc Reference 507. In this case the M-Doc 500 is passed directly onto the M-Doc Printing Service 503. Unless the sender of the message knows the capability of the handset receiving the M-Doc 500, the M-Doc 500 may not be able to be rendered appropriately, hence the M-Doc Reference 507 approach is preferred, but in some cases, such as a subscription, the sender may know the capabilities of the handset and hence be able to by-pass the M-Doc Retrieval process and deliver the M-Doc 500 directly.
1.1.3 M-Doc Printing Service
The M-Doc Printing Service 503 prints the document 500 to the printer 4 in the mobile device 100. M-Doc's 500 may have different document formats, but the M-Doc Retriever stage ensures that it retrieves an M-Doc 500 in a format that can be printed by the mobile device 100 without any further network interactions.
1.1.4 Nugget Production
A Nugget is the distillation of the content of a web page onto an M-Print sized printout. In general this not only involves reducing the web layout so that the content fits onto the M-Print printout. The process also involves selecting the key pieces of information on the web page and explicitly composing an M-Doc 500 that presents the information appropriately. Nugget support can be provided in two ways:
- 1. As part of the design of the application 514
- 2. By a nugget generating service 519.
Providing nugget support as part of the design of web application 514 requires the author of the web interface to provide a link to a nugget on the web page. Depending on the nature of the web content the nugget could either be statically authored along with the page or it could be dynamically authored based on the dynamic content on the web page.
For web sites that do not support Nuggets as part of the interface, nuggets can be generated by a nugget generation service 519.
Referring to
The Nugget Creation Service 519 generates a nugget for the supplied web page in one of two ways:
- 1. If the supplied web page comes from an explicitly supported web application, it passes the web page onto the nugget generator for that web application. Common web applications such as: Google, e-bay, Yahoo, Wikipedia and Amazon could be supported.
- 2. If the web page is not from a supported application, then the contents is scaled to fit into an M-Doc 500.
The nugget generator for supported applications include knowledge of the structure of the web page and the main purpose of the web application, and thus be able to extract information from the key fields and present that in a nugget. For example:
- A Google web page could be distilled to a nugget by showing the: search criteria; the top ten hits; how many other hits where returned.
- An Amazon web page could be distilled to showing the contents of the shopping cart.
- A Wikipedia web page could be distilled to the term and the definition.
1.2 Applications
This section discusses some applications of Internet Based M-Document printing architecture. Any M-Doc 500 can be Netpage enabled.
1.2.1 Daily Subscription Services
Many people buy the daily newspapers to access a few small sections of the paper, eg. puzzles, crosswords or cartoons. Using M-Doc printing it is possible for a user to browse online to the content and then request a printout of the content of their choice. To avoid having to browse each day, a subscription service that "pushes" the user's desired sections out to them each day can be set up. The service could use: SMS, MMS or e-mail to "push" the M-Doc References out to the mobile device. The user can then print then content of the subscription when required.
Some of the sections of a newspaper that would suit this form of distribution are:
- Crossword puzzles: Crossword grid on one sheet; clues on another.
- Number puzzles, eg. Sudoku
- Jokes
- Cartoons
- Local Weather
1.2.2 Navigation and Location Based Services
Web services such as "Wherels" (www.whereis.com) provide both the ability to get a list of directions to go from one location to another and/or a map. Using a mobile device's browser 504 the user can enter the destination and their current location and then have the map and directions delivered as an M-Doc 500 to be printed.
This gives a more convenient presentation of the map and directions to refer to while driving. Also in many regions in the world it is illegal to look at a mobile phone while driving, but it is not illegal to consult a map or written directions.
Mobile devices 100 that support location services are able to supply their location automatically. In this case it is only necessary to specify the destination to receive a map and/or a set of directions to print.
As well as assisting navigation, location based services can be used to present of list of possible destinations. For example:
- A service that prints out the list of restaurants within walking distance;
- Directions to the closest Service Station (or any type of shop);
- Directions to the closest public transport stop.
1.2.3 Company Business Cards
Corporate websites often promote a company's public image, this can be extended by providing the ability to print a "Company Business Card" that gives the general information about the company and its general contact details. As well as a general "Company Business Card", individual departments could easily have their own business cards, eg. the Service Department contact details.
Web sites for companies normally have a page dedicated to how to find them, that is, directions on how to get to their buildings from major transport hubs. These sites could easily include M-Documents 500 showing maps of:
- How to get to the company's premises
- Where the closest parking is
- Where the closest Hotel is
- Directions on how to navigate from one building to another.
1.2.4 Discount Coupon/Voucher
Discount coupons can be delivered by M-Documents 500. These can be delivered via the web as part of an advertisement, either directly with the advertisement containing a link to a M-Document 500 or a coupon could be delivered to the mobile device as a reward for clicking through an advertisement to the companies web site.
A company could "push" out via SMS, MMS or e-mail vouchers to members of their loyalty scheme or just to the general public as a promotion. Another variation on this scheme is the ability to deliver a voucher or coupon to a user who enters a competition or votes on-line. For example, using an SMS to vote on a reality TV show could result in an MMS being returned with a coupon for a prize, or voting from a web site could return an M-Doc 500 with an advertisement and the possibility of a prize.
1.2.5 On-Line Receipts
When performing on-line transactions from a mobile device 100 a receipt for the transaction can be returned via an M-Doc 500. This gives a printout that can be filed with a user's other receipts. The receipts can contain bar codes and/or be Netpage enabled to allow the transaction to be recalled on-line on demand. Some example on-line transactions this could be used for are:
- Betting, the nugget can record: the selected options, the odds, the money wagered and the possible payouts;
- Banking, the nugget can be similar to an EFTPOS receipt;
- Purchasing, the nugget can be similar to a shop receipt;
- Paying bills;
- Taxi payment
1.2.6 Ticketing
For tickets that do not require magnetic stripes it is possible to deliver them over-the-air at the time of purchase. This could included: Public transport tickets; Theme park ride tickets; Theatre tickets; Cinema tickets.
1.2.7 Web CAM Print
While viewing a web cam on your mobile device, a user can select print and have an M-Document 500 of the image at that time sent to the users phone.
1.2.8 On-Line Gaming
On-line games can use Nuggets to provide additional information about the game. They can be used to provide: Cheat sheets; Maps; Character summaries; Brag cards, to demonstrate what level you have reached; Vouchers or Coupons as rewards for achievement.
2. Player Architecture
A Netpage Player 520 is a physical or virtual device capable of "playing" requests of various types. A play request 521 consists of three parts:
- 1. The target 522, which specifies which player 520 the request 521 should be played.
- 2. The operation 523, which specifies the action to be performed.
- 3. A set of values 524, which are supplied as parameters to the operation 523′.
Typically play requests 521 arise in response to user actions. For example, the user clicks on a tagged surface with a Netpage pointer, or interacts with an application that is in contact with the Netpage system. Play requests 521 can be used to provide a simple feedback mechanism (such as a request to display a text string to the user), or may be used to cause more sophisticated interactions with physical devices (such as setting the thermostat temperature on a home air conditioning system).
Individual players 520 can be associated with a user 525 as shown in
It is likely that in many cases a single physical NetpagePlayer device 520 is shared between multiple users 525. For example, a hi-fi audio system in a family room may be configured as an audio player for multiple members of the family. For the sake of brevity, this section focuses on cases where physical players are exclusively used by a single user, however, it will be appreciated that this section may be applied to multiple users.
Central to the NetpagePlayer 520 concept is the notion of a PlayRequest 521 which are objects that represent a request to perform an operation on some device. This sections describes various details related to PlayRequests 521.
2.1 Structure of a PlayRequest
A PlayRequest (see
- 1. An optional target 522 which specifies which Netpage player 520 the request 521 should be played,
- 2. An optional operation 523 which specifies the type of action to be performed on the target player 522, and
- 3. An optional list of values 524 which are supplied as parameters to the operation 523.
A play request 521 may either be fully or partially specified. A fully specified play request completely specifies all of the information (target, operation, and parameters) required to unambiguously deliver the request to the target 522 and to perform the desired operation 532. A partially specified play request provides some indication of the request 521 to be played, but does not provide enough information in order for the play request 521 to be successfully delivered and played without further processing.
A target 522 may either fully or partially specify the target 522 of a play request 521. A fully specified target completely identifies the physical player 520 on which the request 521 should be played. A partially specified target provides some indication of the desired target 522, but does not provide enough information in order for the play request 521 to be delivered without further processing. An operation 523 can also be fully or partially specified. A Value 524 consists of a physical type 525 and associated data 526. For example, the physical type 525 might be "image/jpeg" and the data 526 would be the binary image data.
2.2 Values and Types
A Value 524 represents an instance of some physical type 525. Each Value 524 has an associated physical type 525 and zero or more associated type categories. The physical type identifies the structure of the data element of the Value 524. A possible mechanism would be to use MIME types. For example, if the physical type 525 is image/jpeg then the data element would contain the binary data of an image in jpeg format.
Referring to
RequestRouters can take into account both the physical type 525 of a value 524 and the categories 527 to which it belongs when determining the most appropriate way to handle a request 521.
2.3 Sample PlayRequests
To better demonstrate the PlayRequest concept, this section provides a number of sample PlayRequests 521. A PlayRequest 521 can be viewed in tabular form as shown below by example in Table 1.
Firstly, the Request 1 shows a fully specified PlayRequest 521 for dialling a number on a specific mobile phone.
The target field 522 is fully specified and indicates that the request 521 is to be performed on the device 520 identified by the name/address "mobile-phone-xyz56474238". Note that for simplicity, simple text strings to indicate the address of each physical target 522. The play request 521 contains an operation of "dial" which is understood by the mobile phone's NetpagePlayer 520. The request 521 also includes a phone number which is a required parameter 528 to the "dial" operation 523.
As shown below, Request 2 is only partially specified due to only containing a partially specified target 522. The target 522 specifies that the request 521 should be played on a mobile phone, but does not specify which mobile phone.
Request 3 shown below is also only partially specified. In this case, the target 522 has been completely left out. Although only being partially specified, the request 521 has a definite meaning: "dial the phone number 555 6754". The device to be used to dial the number is still to be determined.
Request 4 is even less fully specified that Request 3. Request 4 simply contains the phone number "555 6754". The operation to be performed with the number and the device to handle the request (the target) is still to be determined and the device to handle the request (the target) is still to be determined.
Request 5 contains a fully specified target 522, but does not specify an operation 523. Thus, the target of the request 521 is known, but what the target 522 is to do with the request (the operation) is still to be determined.
Request 6 can be used to send a simple text message to the user. The target 522 is not specified, so the request means display the following message on whichever player is the most appropriate at the current time.
2.4 Invocation of PlayRequests
Play requests 521 can arise in one of two ways:
- 1. The user interacts with a printed Netpage form that has been authored to include invocations of play requests 521.
- 2. An arbitrary application sends a play request 521 to a Netpage Server 529.
These are discussed in the following sections.
2.4.1 Authored PlayRequests
PlayRequests 521 can be authored directly into a printed Netpage document.
For example, referring to
2.4.2 Application Invoked PlayRequests
- 1. A Netpage pen 533 transmits a digital ink stroke 534 to the Netpage Server 529.
- 2. The stroke 534 is determined to be a request 521 to submit a Netpage form for processing.
- 3. The form is submitted to the corresponding Application 535.
- 4. As part of the form submission processing, the application 535 requests that a play request 521 be played by a Netpage Player 520 associated with the user 525 who made the submission.
- 5. The Server 529 determines the target device 522 and relays the play request 521 to that device 522.
2.5 Player Devices
Netpage Player instances can be deployed on various Player devices (platforms). Individual players support some subset of the full range of PlayRequests 521 supported by Netpage. Table 2 shows some examples of Netpage Player Devices.
2.6 Request Processing
This sections describes how PlayRequest objects 521 are processed throughout the Netpage system. The processing of requests includes two operations:
- 1. The routing of requests 521 from one NetpagePlayer 520 to another.
- 2. The transformation of PlayRequests 521 (for example to change a partially specified request more specified) as they are being routed.
2.6.1 Request Routing
A play request 521 is routed from source to the eventual destination via one or more intermediary RequestRouters 536 as shown in
All PlayRequests 521 from (or on behalf of) a user 525 are initially handled by a RequestRouter 536 inside the Netpage Server 529. This router is called the UserRequestRouter 539 (see
The typical scenario is shown in
2.6.2 Request Transformation
Each RequestRouter 536 can optionally transform the PlayRequest 521 it receives before passing it on to a subsequent NetpagePlayer 520. The transformation typically produces a more fully specified version of the supplied PlayRequest 521, but may also produce a completely new PlayRequest 521 with no fields in common with the source PlayRequest 521.
2.6.3 Player Capabilities
Different players have different capabilities. That is, each player is capable of playing a different set of PlayRequests 521. The capabilities of a NetpagePlayer 520 are specified in a CapabilitySpecification 540. The capabilities 541 of each child player are taken into account by RequestRouters 536 when handling PlayRequests 521. The capabilities 541 of different players may overlap, potentially resulting in ambiguous PlayRequests 521. Such ambiguities are resolved by RequestRouters using methods described in further detail below.
The CapabilitySpecification 540 is not limited to simply specifying which operations 523 can be performed on which value types 524. It may also specify finer grained details. For a specific PlayRequest 521 the CapabilitySpecification 540 might specify that it can only handle a subset of possible values. For example, a player 520 that supports the playing of audio objects could place a limitation on the size of audio objects supported.
22.214.171.124 Capability and Request Propagation
As shown in
18.104.22.168 Capability Aggregation and Transformation
As a RequestRouter propagates player capabilities (541, 544, 545) to its parent RequestRouter 536, it may perform capability aggregation and transformation. Capability Aggregation is where the router 536 combines the capabilities of its children into a single capability specification 548. Capability Transformation is where the router 536 modifies the advertised capabilities of its children due to capabilities (or perhaps limitations) of the router itself.
2.6.4 Dynamic Capabilities
The capabilities advertised by a particular NetpagePlayer 520 can change over time. For example:
- 1. Additional hardware or software can be installed/removed to/from a device, enabling the player to support more/less PlayRequests 521.
- 2. The maximum object size supported by a player may change depending on the spare capacity in the player's memory.
- 3. A mobile player might be capable of receiving streaming media when it is connected to the network through a high-bandwidth network.
- 4. Common user interactions with the player (e.g. starting an application, changing a setting) can cause the player to advertise more or less capabilities.
Such changes in capabilities are to be communicated to the player's parent RequestRouter 536, and potentially, but not always, to the parent's parent, and so on all the way to the UserRequestRouter 539.
At the same time, as dynamic capability changes are being propagated, requests 521 are being routed in the opposite direction (as shown in
Additionally, dynamic propagation of capability changes could potentially cause an undesirable level of network traffic, harming overall system performance.
2.6.5 Request Handling by the UserRequestRouter
As already discussed, all PlayRequests 521 presented to the NetpageServer 529 are handled by the UserRequestRouter 539. The purpose of the UserRequestRouter 539 is twofold: (i) To determine the most appropriate child NetpagePlayer (the target 522) to which the request 521 should be routed; and (ii) To determine any required transformations to the request 521 that are necessary in order for the selected target 521 to be able to handle the request 521.
In order to determine both of the above, the UserRequestRouter 539 takes into account the content of the PlayRequest 521 and the context within which it is handled. The context includes a large range of factors, including, but not limited to the following:
- 1. The capabilities of each of the available children NetpagePlayers. Availability being partially determined by the user identity.
- 2. The current contents of the Netpage clipboard.
- 3. The originating source of the request (e.g. the Netpage pointer device which triggered the play request) and/or the route via which the request arrived.
- 4. The current player profile.
- 5. The current date and time.
2.6.6 Player Profiles
It is possible that multiple players registered with a user support the same PlayRequests 521. As a concrete example, consider the following scenario where a user has registered the following players. The user 525 has three registered players 520 all of which are capable of playing images:
- A camera phone for playing phone numbers, plain text, and images.
- A digital camera for playing images.
- A desktop application for playing plain text, html, images, video and audio.
Now consider the case where the UserRequestRouter 539 receives the following partially specified PlayRequest 521:
PlayerProfiles 557 are one mechanism which can be used in order to allow the UserRequestRouter 539 to resolve such ambiguities. A PlayerProfile 557 provides a (typically restricted) view of the set of players 520 available for a particular user 525 and the set of PlayRequests 521 that can be played on those players 520. A user 525 may have multiple player profiles 525 indicating the various scenarios within which they use the Netpage system. At any point in time, one of these profiles 525 is set as the Current Profile 558 as shown in
For example, a user might have the following profiles:
- An "office" profile that directs most player requests to their desktop PC.
- A "home" profile that directs requests to various devices throughout the user's house.
- A "mobile" profile that directs player requests to various portable devices (e.g. a smart phone).
- A "car" profile that directs player requests to devices within the user's automobile.
A user can quickly change their current profile by a simple user action. For example, if in the office, the user could select the profile via a desktop GUI. Alternatively the user could use their Netpage pen/pointer to select a profile from a printed interface 559 such as that shown in
2.6.7 An Example Request Routing
Consider the interactive business card 530 shown in
The end result is that the act of clicking on a telephone number on the business card can have very different results depending on the context within which it is applied. In this example, both the current context within the Netpage Server 529 and the current context on the mobile phone were taken into account when processing the PlayRequest 521.
2.7 Communicating with Players
Various communication methods are used between a Netpage Server 529, intermediate gateways 570 and the Netpage client to enable the playing of PlayRequests 521 on the Player device 520. Environmental factors such as the following affect the selected communication mechanism:
- Available network connectivity.
- Type of player device being targeted.
- Size and type of objects being transferred and the nature of the operation being played.
This section describes categories of messaging mechanisms. Note that in a single play scenario a combination of messaging methods can be used.
2.7.1 RPC (Synchronous) Messaging
Referring to
2.7.2 Notification (Asyonchronous) Messaging
Referring to
Depending on the underlying network infrastructure, a suitable protocol is used to push notifications to the Netpage Player, i.e. WAP push, SMS, etc.
2.7.3 Streaming
Referring to
- Large objects may take significant time to transmit in their entirety to the player. Streaming allows for playing to take place before the entire object has arrived at the player thereby reducing latency.
- Target player devices may not have the capacity to hold the entire object. In that case, streaming is one option for playing the object on the device due to this limitation.
- Unbounded objects such as live video can be transmitted by streaming.
Video and audio provide the most significant examples of types that are typically better suited to streaming. To enable the streaming Netpage Server would be involved in the player selection process and would then leave actual streaming up to the two parties. Otherwise the server is likely to be a bottleneck and a source of additional latency.
Player can perform read-ahead operations to buffer the data ahead of playing and avoid network delays and jitters which can affect the user's experience.
2.7.4 Interactive Messaging
Referring to
2.7.5 Hybrid Messaging
Referring to
- Consider a scenario where a low-end mobile phone player without support for the suitable push-based notification, wishes to play an unbounded object. A hybrid solution can be adopted to push a small notification to the device, notifying the player application (i.e. through SMS) to initiate a stream-based communication to the Netpage Server request (i.e. WSP) for delivery of the object.
- Displaying a URL object also uses a multi-transaction hybrid messaging, where the original object (the URI) is pushed to the device using a Notification message. At this point the player (without user interaction) retrieves the URI content by sending a synchronous request/response message through HTTP.
2.7.6 Player Session Establishment
When players 520 are instantiated on devices (for instance during user login on a desktop player or on-demand by the mobile user), the player 520 registers the mobile device 100 is available for play requests by initiating a player session 580 with the Netpage Server 529.
2.8 Player Deployment
2.8.1 Player Connectivity
Netpage Player 520 can be deployed on various devices with different network connectivity capabilities. Table 3 lists some examples of player network connectivity and transmission mechanisms. Note that a deployment environment may utilize a combination of connectivity types. Each connectivity type explains how one hop communicates to the next hop. For instance a player communicates with a wireless gateway on the path to the Netpage Server.
2.8.2 Player Deployment Configuration
Different combinations of player devices and connectivity types can be configured to provide a suitable Netpage Player and Server integration environment.
3. Object Association Design
3.1 Object Associations Overview
A Netpage object association allows content (objects 601) to be associated with locations 513 on Netpage documents 603 and printouts. Arbitrary content types can be supported, but common examples include pictures/photos, audio, and video.
An object 601 can either be associated 616 with a document during the authoring of the document (static association) or can be associated with a particular document printout at some arbitrary time after that printout has been created (dynamic association).
Additionally, an association 616 may either be an impression association or a field association. An impression association is a dynamic association that is associated with a particular {x,y} location 613 on an impression. A field association is associated with a particular field of a form (static association) or form instance (dynamic association).
3.2 Communicating Status to the User
At times the mechanisms described require communication of status information (often errors) to the user. The simplest way to achieve this is to make use of the Netpage Player infrastructure. Special operations (e.g. show-status-ok-message and show-status-error-message) can be designated for transmitting status information to the user. The player architecture would determine, for each message, the most appropriate device (or devices) on which to display the message and the way in which to display it. For example, it may be that in certain situations the pointer is the only available player, in which case an error status might be "played" by illuminating a red LED on the pointer or playing a short sound.
3.3 Impression Associations
An object 601 can be associated dynamically with a specific {x,y} location 613 on an impression. The associations 616 are stored inside the Netpage Server 529 and can then be viewed in a number of ways:
- 1. By interacting with the physical impression using a device that communicates with the Netpage Server 529 to retrieve the associated objects 601.
- 2. By interacting with a virtual view of the impression from within a graphical software application 602.
3.4 Interacting with Dynamic Associations
Referring to
Associated objects 601 can also be viewed by interacting with a virtual view of the impression from within a graphical software application 602. There are a number of possible mechanisms for displaying associated objects 601 in such an application 602. Each mechanism is responsible for:
- Indicating the presence of an associated object (or objects 601), and
- Displaying the actual content of an associated object 601.
An example mechanism is shown in
3.5 Methods for Creating Impression Associations
This section describes various alternative techniques that may be provided to allow users to dynamically associate content with a location on an impression. They include:
- Modal association mechanisms
- Sticker based mechanisms
- Swipe Based mechanisms
- Swipe Based Stickers
3.5.1 Modal Association
A Modal Assocation involves first placing the user/pen session in a mode in which the next pointer click is interpreted as the specification of an impression location to which a current clipboard object 601 should be associated.
- 1. The user takes a photograph using their digital camera 610.
- 2. The user pushes the photograph to the Netpage clipboard on the Netpage Server 529 (possibly implicitly).
- 3. The user clicks with their Netpage pointer 533 on a printed toolbar 611. In this case, the user clicks on the "Attach Object" button 612. This places the pointer session into a mode in which the next click with the pointer 533 is interpreted as the specification of an impression location to which the current clipboard object 601 should be associated.
- 4. The user clicks on the desired location 613 on a printed page 614. This causes the Netpage Server 527 to retrieve the current object 601 from the user's clipboard 615 and to associate the object with the impression location selected in step 3.
An alternative approach requires steps 3 and 4 to be performed in the opposite order. That is, the "Attach Object" command is interpreted to mean associate the object with the impression location most recently touched by the user.
Modal association mechanisms can be implemented on top of the Netpage Clipboard 615 mechanism.
3.5.2 Tagged Stickers
A tagged sticker 620 is a physical adhesive sticker which is Netpage tag encoded 617. That is, it is a Netpage impression printed onto a physical sticker. Clicking on a tagged sticker causes an object to be associated with that sticker (impression). Tagged stickers 620 can be physically attached to any surface whether it be tagged or otherwise (eg. books, desks, walls, etc) and thus provide a very flexible mechanism for dynamically associating objects with locations.
- 1. Push object 601 into Netpage Clipboard 615
- 2. Physically paste sticker 620 onto any surface
- 3. Use Netpage pointer 533 to click on the sticker 620 to associate the object 620.
Once an object 601 has been associated with a sticker 620, there are various ways in which the user can retrieve/play the object 601. Firstly, the object 601 can be interacted with using a physical Netpage Player device 520. Secondly, simply clicking on the sticker 620 with a Netpage pointer 533 would cause the object 601 to be played. This latter behaviour suggests that sticker associations would actually be implemented as field associations 618.
3.5.3 Reusable Stickers
As so far described, once an object 601 is associated with a sticker 620, that association 616 cannot be altered. A reusable sticker 621 allows for the object associated with a sticker to be changed, or erased. Such a sticker 621 is shown in
Both "Attach" 622 and "Clear" 623 are destructive operations in that they remove any association 616 that may have been in place before the operation took place. As such, it may be desirable to be able to protect against accidental invocation of such operations, especially in the sticker scenario in which the entire sticker is a clickable area.
One mechanism for doing that is shown in
An alternative for preventing accidental invocation of destructive operations is to limit the interactivity of the sticker to small areas within the sticker as shown in
3.5.4 Category Specific Stickers
So far we have described stickers which retrieve the object 601 most recently assigned to the Netpage Clipboard 615. The Netpage Clipboard 615 can store multiple objects 601 per user 625 with each object 601 falling into an object category or set of categories. As such, it is possible to have Category Specific Stickers 627 that retrieve current objects from the Netpage Clipboard 615 by category.
3.5.5 Swipe Based Mechanisms
The printed toolbar in
3.5.6 Swipe Based Stickers
A limitation of the stickers described earlier is that they do not actually create an association 616 between the object 601 and the underlying impression on which the sticker is applied. For example, consider the situation where a sticker has been applied to a tagged impression, and subsequently an object 601 is associated with the sticker. If the underlying impression is viewed within the Netpage Explorer application, then the sticker and associated object 601 is not be displayed since the Netpage Server 529 is not aware that the sticker has been applied to that impression.
The above problem can be solved by applying the swipe based approach to stickers. The user steps involved are:
- 1. Push object 601 into Netpage Clipboard 615
- 2. Physically paste sticker 620 onto a tagged impression 600
- 3. Use Netpage pointer 533 to swipe from sticker 620 to impression 600.
The action of swiping across both the sticker 620 and the impression 600 creates a triple association between the impression 600, the sticker 620, and the object 601. Specifically, the Netpage server 529 is now aware of:
- The sticker 620 to which the object 601 has been associated, and
- The impression 600 on which the sticker 620 has been placed, and the location 613 on the impression 600 at which the sticker 620 has been placed, and thereby the location 613 on the impression 600 to which the object 601 is associated.
The above associations 616 allow the object 601 and sticker 620 to be displayed inside tools such as Netpage Explorer 602.
A variant of the swipe based sticker is shown in
In addition, the transparent region 628 may be transparent in the infrared spectrum in order for the Netpage pointer 533 to be able to see the Netpage tags on the underlying impression 600. This allows for the transparent region 628 to be non-transparent in the visible spectrum. As such, graphics can be printed over the transparent region 628. For example, a swipe based category specific sticker can be constructed which includes indicative graphics printed over the transparent region 628 as shown in
3.5.7 Impression Associations Object Model
A swipe based sticker is associated with an ImpressionAssociation on the underlying impression.
3.6 Field Associations
An object 601 can be dynamically associated with a particular field of a form instance 630. Such an associated object 601 is then delivered to the relevant application as part of a submission of the form instance 630. This can be used, for example, to dynamically attach images (e.g. photos) to a Netpage form 632 and to then have those images sent to the application when the user clicks on the "submit" form command.
The relationship between field associations 618 and impression associations 617 is shown in
3.6.1 A Sample Application
- 1. The user clicks on the "Click here to attach photo" button 640 with a Netpage pen 533 or pointing device. This causes the application to request the current photo from the Netpage clipboard 615 associated with the user 525. That photo is then associated with the large rectangular field 641.
- 2. The user can click on the large field 641 in order to retrieve the associated photo and display it on a suitable Netpage Player device associated with that user 525.
- 3. The overall form can be submitted by clicking on the "Submit" button 642. This causes a form submission to be sent to the relevant application. The form submission includes the photo currently associated with the large field 641.
The following sections use the sample application to describe the remaining details of the field association mechanism.
3.6.2 Form Design for the Sample Application
In order to design a form 632 that supports a simple application, two forms are specified. The first form 643 is a standard application form. The second form 644 is a special form that include fields that share the same impression coordinates as elements from the first form, but are overlayed on top of the first form's fields.
The underlying (first) form 643 is shown in
The overlayed form 644 is shown in
The below pseudo code outlines the handling of the set command. The main principle to note is that the center of the target field provides the {x,y} location to which the retrieved object should be associated. This {x,y} location is also used to locate a form field with which the object is to be associated. This is achieved by determining the uppermost field on the page that intersects with {x,y} and that is also receptive to object associations. In the case of the example, the uppermost field on the page that intersects {x,y} is the target field itself, but it being a submit field, is not receptive to object associations. The next uppermost field that intersects {x,y} is the ObjectReceiver field on the underlying form. The end result is that the object is associated with a field on the underlying application form rather than the overlayed sys:object-associator form.
3.6.3 Field Associations and Form Submissions
Netpage forms 632 generally have one or more form submission buttons 642. Clicking on such a button 642 with a pointer 533 causes the Netpage server 529 to perform handwriting recognition of the digital ink (if any) assigned to the form 632, and to bundle the result into a form submission which is then posted to the application associated with the form 632. The handwriting recognition largely involves converting handwriting fields (such as textual combs, and check boxes) into their digital equivalents (for example digital ink in textual combs is converted to text).
Associated objects 601 can optionally be submitted as part of such form submissions. The requirement to transfer an associated object 601 (or otherwise) as part of the form submission is specified in the form definition for that form.
3.7 Static Associations (Embedded Objects)
Objects 601 can be associated with a document at document creation time. As with dynamic associations, such associations can either be impression associations 617 or field associations 618. Static associations are specified in the Interface Description for the document. Static associations are represented as PlayRequests 521.
4. Netpage Clipboard
The Netpage Clipboard 615 is a system supplied, per user object repository to which the user can push an object 601. The object 601 thus pushed is considered to be the user's "current object" which may then be accessed by applications, in particular by the UserRequestRouter, but in general by any application that is acting on behalf of the user.
4.1 Representation of Clipboard Objects
Clipboard objects are stored as Netpage Player PlayRequest objects 521. A PlayRequest 521 corresponds to a request to perform an action. It consists of three parts:
- 1. A target, which specifies on which player (device) the request should be executed.
- 2. The operation, which specifies the action to be taken.
- 3. A set of values, which are supplied as parameters to the operation.
A Value represents an instance of some physical type and consists of a type specification and data. The type specification has a physical type and zero or more associated type categories. The physical type identifies the structure of the data element of the Value. This document does not specify a particular representation for physical types. A possible mechanism would be to use MIME types. For example, if the physical type is image/jpeg then the data element would contain the binary data of an image in jpeg format.
A shorthand form of specifying PlayRequests will now be used in this section. As an example, instead of using the tabular form this section will use the following syntax for PlayRequests that only have a single item:
- value {phone-number, "555 3473"}
4.2 Mechanisms for Pushing Values to the Clipboard
In general, a user performs an explicit user action in order to push a value to the clipboard. Such actions may take various forms as described in the following sections. Once a value is in the clipboard any application can access the value. For example the value can be dynamically associated with a form field on a printed impression.
4.2.1 Push via Printed Netpage Form
Values can be pushed to the clipboard by interacting with a printed Netpage form such as that shown in
- value {phone-number, "151 425 0617"}
4.2.2 Push via Physical Device
- value {phone-number, "151 425 0617"}
Values 524 can be pushed to the clipboard 615 by Netpage aware devices that are capable of capturing and/or storing typed objects. Table 5 provides some example devices and scenarios in which they might push values to the Netpage clipboard 615.
4.2.3 Implicit Push
To improve usability, it may be possible for certain devices to support implicit (or auto) push which is where certain user interactions with a device cause a value to be automatically pushed to the Netpage clipboard 615. As an example, the user may configure their digital camera so that taking a photo causes the photo to be pushed to the Netpage clipboard 615.
4.3 Netpage Clipboard Interface
In order for a device or application to push a value to the Netpage clipboard 615or retrieve the current object 601, the device or application first retrieves a reference to a NetpageClipboard object for that user from the Netpage server 629. The following listing shows the NetpageClipboard interface in its most basic form. The interface allows the current clipboard value to be set, fetched and cleared.
The sections that follow discuss alternatives for various aspects of the Netpage clipboard interface.
4.3.1 Multiple Values Per User
The Netpage clipboard 615 is able to support multiple current values each of which belong to a different category. For example, the clipboard 615 can hold a current audio and current video at the same time. PlayRequest values can specify one or more categories to which that value belongs. Note that an object category is generally independent of the specific physical type of the value being added to the clipboard. For example, setObject( ) might be called with a value that has a category of "photo", and a physical type of image/jpeg.
This listing shows a NetpageClipboard interface that supports multiple current values.
Such a clipboard would still support the current object concept which would return the most recently added object. To that end, the clipboard interface in the listing has two fetchObject( ) methods. The first takes no parameters and returns the most recently added object. The second takes an ObjectCategory as a parameter and returns the most recently added object which belongs to the specified object category.
More generally the clipboard could reuse the general capability matching mechanism required by RequestRouters in the Netpage Player architecture. This would provide the clipboard with a very powerful interface for retrieving PlayRequests.
4.3.2 Multiple Representations of Values
As with clipboards in standard desktop environments, it may be desirable to allow the Netpage clipboard to support multiple representations of values, each of which would have a different MIME type. For example, a text object could be stored as both a text/plain and a text/rtf document.
4.3.3 Using Values from the Netpage Clipboard
Once a user places a value in the clipboard, the value can be accessed by applications in response to actions by the user. The basic clipboard interaction model is shown in
The model presented in
One way in which an operation can be invoked by a user is for the user to interact with a printed Netpage form 660 which contains a set of PlayRequests which specify operations.
4.4 Placing Operations and Targets in the Clipboard
As clipboard entries are actually stored as PlayRequests 521 it is also possible to push operations and targets to the clipboard 615.
4.4.1 Adding Operations to the Clipboard
4.4.2 Allowing both Value First and Operation First Models
It is possible to simultaneously support both the value first and operation first models as shown in
The following examples show the two models in action. In each case, the user's steps are shown numbered and the contents of the clipboard 615 are shown after each step. In the first case, the user uses the value first model by first pushing a phone number to the clipboard 615, and then selecting the operation 523 to be applied to that object:
At this point, an observer of the clipboard 615 (likely the UserRequestHandler) determines that the PlayRequest 521 as shown below can be produced by combining the operation 523 and value 524 PlayRequests 521. The resultant PlayRequest 521 can then be routed by the UserRequestHandler. Typically the UserRequestHandler "plays" a phone-number by sending the request to a device capable of dialling the phone number.
PlayRequest created by merging contents of clipboard:
The second case uses the operation first model:
At this point, the clipboard 615 determines that the PlayRequest 521 can be produced by combining the operation 523 and value 524 PlayRequests 521.
4.4.3 Ambiguous Usage
One problem associated with this mechanism of pushing values 524 or operations 523 to the clipboard 615 is a value 529 or operation 523 can remain in the clipboard 615 indefinitely. As such, it is easy for a user 525 to forget that an object 601 is in the clipboard 615 and for unexpected results to emerge. This is particularly the case if we simultaneously allow both the value first and operation first models. As an example, suppose the user performs the following actions:
- 1. Push "play" operation to the clipboard
- 2. Push a phone number (the number is dialled)
- 3. An hour later, click on another phone number.
Using the state machine indicated by
There are a number of approaches to addressing these useability concerns:
- Single Use Clipboard Entries
- Clipboard Timeouts
4.4.4. Single Use Clipboard Entries
4.4.5 Clipboard Timeouts
While a single-use clipboard model improves the useability of the Netpage clipboard 615, there are still problematic scenarios which result from allowing both value first and operation first models to coexist. Consider the following steps:
- Push "play" operation to the clipboard 615
- An hour later, push a phone number
In the above, it is not clear whether the user 525 has indicated that they would like to apply the "play" command to the phone number, or whether they had forgotten that they had pushed the "play" operation an hour ago and were actually attempting to simply push a phone number to the clipboard 615.
In order to address the ambiguity, the concept of clipboard timeouts can be introduced, as shown in
4.4.6 Multi Value Operations
The clipboard 615 concept can be extended to support operations that require more than one parameter 524. The basic approach is to allow multiple values 524 to be pushed to the clipboard 615. The clipboard 615 can then combine the values 524 with a pushed operation 523 to create a PlayRequest 521 with multiple parameters.
4.4.7 Adding Targets to the Clipboard
Consider the command sheet already shown in
Selection of the printer can be achieved by selecting the printer from a list of printers printed on a Netpage card 700 as shown in
The following steps provide an example in which the user pushes a target to the clipboard.
At this point, a PlayRequest 521 can be constructed that combines all the elements from the clipboard 515 as shown in
Once the full PlayRequest 521 is determined, it is performed and, depending on the clipboard model being used, the clipboard 615 would either be cleared of all contents (the single-use model), or left as is in readiness for future related requests 521 (the multi-use model). In the latter case, the subsequent act of pushing another photo (say of the family cat) to the clipboard 615 would leave the clipboard 615 in the following state:
At this point, the clipboard contents indicate that the user wishes to print the newly selected photo on the color inkjet printer at home. This approach allows the user to request the printout of a number of photos on a particular printer, without having to specify the target 522 or the operation 523 each time, by simply clicking on each required photo.
Even in the multi-use case, if the user is inactive for some configurable period of time, then a clipboard timeout causes the clipboard 615 to be cleared.
4.4.8 Pushing More Fully Specified PlayRequests
As the clipboard 615 supports the pushing of PlayRequests 521, the application author is not limited to pushing values 524, operations 523, and targets 522. It is also possible to push PlayRequests 521 that are more fully specified. For example, consider the printed command sheet 710 shown in
At this point, a PlayRequest 521 can be constructed that combines all the elements from the clipboard 615 as shown in
4.4.9 Communicating Status to the User
At times the mechanisms described may require communication of status information (often errors) to the user. One method is to make use of the Netpage Player infrastructure. Special operations (eg. show-status-ok-message and show-status-error-message) can be designated for transmitting status information to the user. The player architecture would determine, for each message, the appropriate device (or devices) on which to display the message and the way in which to display it. For example, it may be that in certain situations the pointer 533 is the only available player in which case an error status might be "played" by illuminating a red LED on the pointer 533 or playing a short sound.
5. Downloadable Content Billing
5.1 Overview
There is already an existing market place for purchasing and downloading products to mobile devices. Products such as: ringtones (monophone, polyphonic and real tone); wallpapers; games and other applications; music; music videos; films and TV. The printing capabilities of M-Print can add further to this list of products.
The traditional methods for purchasing and downloading such products are based around web browsing and SMS to initiate the download and EMS or MMS to deliver the product to the phone 100, see
Netpage and M-Print technologies have the ability to simplify the user experience in accessing and purchasing these products, while also being able to utilise the existing infrastructure for the billing and delivery of the products.
Using a Netpage pen or pointer 533 the user 525 can click on a printed advertisement 715 in a magazine, newspaper, direct mail, on a product's packaging or possibly on a product itself. This can automatically deliver some content to the user's preferred Netpage Player 520 for that content. Most likely the Netpage Player 520 is the user's mobile phone 100, as is shown in
M-Print devices can provide a Netpage scan operation, and this can also be used to initiate a product download or purchase as above. The card that is scanned could have been printed on a M-Print printer 4 or it could be provided along with another product, e.g. a card in a breakfast cereal box.
Combining the abilities of M-Print and Netpage can lead to a powerful suite of new product promotion and sales tools. For example, a user can use a Netpage pointer 533 in a mobile phone 100 to click on the latest ringtone advertisement in their favourite magazine. This results in purchasing the ringtone, charging it to their mobile phone account, download and install it on their phone 100. It can also print on their phone a promotional card that allows a one time download of the same ringtone for them to give a friend. When their friend scans the card they receive the same ringtone downloaded and installed on their phone. Depending on the promotion running at the time the friend may receive the ringtone for free or at a discounted rate.
5.2 Downloading Content
It has already been noted that the mobile computing environment already has some well established mechanisms for satisfying on-line product purchases. Below are three possible ways Netpage player requests can be integrated into the existing mechanisms to provide the user with a simpler user experience. In each of the cases the request to purchase or preview the product is instigated via a Netpage stroke, click or scan The differences arise in how the Netpage application 733 procures the product and delivers it to the user.
5.3 Netpage as Middle Man
This approach allows the user to benefit from the Netpage Player Architecture, which allows the user to customize the way they want the product to be routed after they have received it from the vendor. It also allows for the Netpage Player to provide extended handling of products on the mobile device. For example, the player may prompt the user if they wish to back up their existing ringtone before installing a new ringtone or it may guide the user through installing the ringtone as a custom ringtone for a particular phone number or set of phone numbers.
5.4 Netpage as a Sales Agent
5.6 Hybrid Approach
The play request 521 is routed as a Netpage player request and when it reaches a player 745 deployed within the mobile network, acting a mobile device proxy, it is split into a product delivery and a print job. The product is sent out via an EMS/MMS message at step 746 and delivered to the mobile device 100 in the same way as a traditionally purchased product at step 747. The print job in the form of an M-Doc reference 507 is delivered to the phone 100 via one of the mechanisms initiating a print job on the mobile device 100.
5.7 Billing for Downloaded Content
The ability to bill or charge for services and products is at the heart of all businesses. To be able to bill you need to be able to:
- 1. identify a party to bill;
- 2. have a mechanism to deliver and ensure payment of a bill; and,
- 3. be able to justify the bill based on records of services or products provided.
When accessing a service or purchasing a product over a mobile network the user is typically charged for both the data or call traffic involved in making the transaction and also for the product or service purchased. For example, if a ringtone was purchased via Netpage, there is a charge for the ringtone and also a charge the data traffic used to download the content to the mobile device. It is possible for a 3rd party vendor to enter into a commercial relationship with the carrier whereby the carrier waives or reduces the data transfer costs, in return for a payment from the vendor. Mobile carriers play a central role in billing. They own the private networks used by mobile devices to connect to both the public telephone and data networks and it is at their discretion that a mobile device has access to any services. They already have a billing relationship with each of their customers and hence are able to identify them and bill them. Over time the billing options offered by carriers have evolved from the simple post-pay phone bill to include pre-paid, post-paid and plan-based billing, where customers are committed to paying a certain amount per period for which they can access a range of services. Carriers also have the ability to adjust or waive billing based on a user's activity over a billing period, for example, if you send more than certain number of SMSs in a day then all SMSs is to be charged at a different rate.
For pre-paid accounts the account balance is checked before the transaction is commenced to ensure it has sufficient credit to pay for the service. Not all services can predict the total cost before they are delivered and in those cases it is up to the individual carriers to decide whether those services are to be made available to pre-paid customers or not.
Mobile carriers recognise the value of their ability to identify and bill customers and make it available to third parties on a commercial basis. They do not make it freely available. The ability to integrate into a carrier's billing system is typically offered in a number of different ways, of which some are:
- 1. SMS/MMS-based services
- 2. Hosting of 3rd party applications and billing the traffic for those applications differently
- 3. Billing of data traffic to nominated servers at different rates
- 4. The ability to bill on behalf of a third party, based on billing records provided by the third party.
To bill for products or services attained via Netpage interactions it is necessary to identify where in the sequence of events it makes sense to generate billing records and which party in the transaction is responsible for maintaining and acting on those billing records. To make these services available to users with pre-paid mobile accounts it may be necessary to be able to predict ahead of time the total cost of the transaction.
If we consider the SMS-based content download scenario,
- 1. The SMS to initiate the transaction may be a billable SMS
- 2. The purchase of the content from the vendor
- 3. The delivery of the content via a SMS or MMS.
The first SMS is a standard SMS that the user may be billed for, it may be billed differently given that it is destined for a vendor who has a business relationship with the carrier. The second SMS/MMS is not billed to the sender, as would normally happen, but it is billed to the receiver, via an agreement between the vendor and mobile carrier. In both of these cases the mobile carrier generates and manages the billing records. The purchase cost for the content is also billed to the receiver and the vendor is responsible for generating the billing record. In most cases this billing record is forwarded onto the mobile carrier, typically once a day via a batch transfer. The carrier accumulates these records and includes them on the user's phone bill as a service for the vendor. The carrier then makes a periodic payment of funds collected on the vendor's behalf to the vendor. This alleviates the need for the vendor to establish a billing relationship with each of its customers and also allows the mobile carrier to derive more revenue from its existing billing relationship with the customer.
For the vendor to be able to generate billing records that a mobile carrier can incorporate into a customer's bill the mobile carrier needs to provide the vendor with a "customer id" or "billing id" per transaction that the carrier can use to link a billing record with a customer. The provision of customer id and the ability to generate billing records needs to be done in a secure way to reduce the possibility of fraud. To ensure the required security is maintained each vendor enters into a contractual relationship with each mobile carrier before the "customer id" data is shared with them.
In situations where a vendor cannot or does not want to work with a mobile carrier they need to implement their own means of identifying and billing their customers. Identifying a user of a mobile device without the assistance of the mobile carrier in a uniform way across all mobile devices is non-trivial.
Introducing Netpage and M-Print technologies provide a number of new billing opportunities for all parties involved. If we consider the case where Netpage acts a middle man, there are two billing opportunities:
- 1. When Netpage application retrieves the content from the content vendor;
- 2. For the network traffic used to deliver the click and the ringtone.
The Netpage application fetching the content from the vendor generates a billing record for the customer. As for the SMS case above, it is possible to arrange with a mobile vendor to accept these billing records and to bill on the application's behalf. To do this the data traffic associated with the hyperlink activation is to be tagged with a "customer id" to be associated with the billing record.
The mobile carrier tracks the data traffic used to send the click event and deliver the play request. By default that traffic would be billed in the same way as all other data traffic to and from the device. In a situation were the Netpage application is billing via the carrier it may be possible to strike a deal with the mobile carrier where by they waive the data traffic costs in return for a payment per transaction.
In the case of Netpage acting as a Sales Agent, the Netpage system is not involved in delivering the product but only in making the sale. In this case there are four billing opportunities:
- 1. The data traffic for the Netpage click;
- 2. The forwarding of the purchase request to the vendor;
- 3. The purchase of the content;
- 4. The delivery of the content
The mobile carrier tracks and generate billing records for the data traffic and the delivery of the content. As in the SMS case the delivery message is charged to the receiver rather than the sender, via an agreement with the carrier.
In this case the billing record for the content purchase generated by the ringtone vendor and would be handled in same way as for the SMS case above. It would be possible to have an agreement with the carrier whereby the cost of the data traffic and the delivery message are waived in return for a payment from the vendor.
In most cases the Netpage application would be managed by the vendor as an alternative interface to their existing business and as such it does not need to bill for its forwarding services. If it is run by a different business then it generates a billing record for the forwarding service. This may be delivered either to the user or to the vendor who has agreed to pay for forwarded requests.
The billing options for the hybrid approach are essentially the same as for when Netpage is a middle man but the number of deliveries, and hence billable events, to the mobile device is increased. In this case the bill for delivering the M-Doc may be changed to the vendor rather than the customer since it is an unsolicited promotion. Each of these billable events could be filtered by the mobile carrier based on later billing records that enter the system. For example, the cost of delivering the M-Doc may be waived or credited back, if the offer on the printout is taken up by another user.
5.8 Digital Rights Management
Closely related to billing is ensuring that the product or service is only used for the purpose(s) it was purchased for, eg. a ringtone purchased for one phone, can not be installed on more than one phone, or a music file that is downloaded as a sample can only be played X times before being purchased.
Digital Rights Management (DRM) schemes are being adopted by mobile device manufactures and mobile carriers. Where content is being delivered via the existing mobile mechanisms DRM is automatically triggered. The Netpage Player on a mobile device is implemented to hook into the DRM mechanisms on the mobile device. It prevents a user by-passing DRM restrictions on downloaded content.
5.9 Identifying the User
Mobile carriers identify the user of a mobile device when the device negotiates access to the network, either at boot time or when it comes within range of a base station. For GSM and CDMA networks a user's identity is determined by matching the International Mobile Subscriber Identity (IMSI) with a user's records held by the carrier. The IMSI is not sent during negotiation but rather an identity derived from it called a Temporary Mobile Subscriber Identifier (TMSI) is sent. Access to the IMSI can be protected by a PIN and most phones can be set up to prompt the user for a PIN when it is turned on. This is used to gain access to protected data, such as the IMSI. During the connection time negotiations the International Mobile Equipment Identity (IMEI) is also transmitted. This is not used to determine who the user is, but it is used to filter out mobile devices that are blocked from the network, e.g. stolen mobiles can be blocked based on their IMEI.
When a mobile network allows a user on a GSM network, they assign the user a SIM card and then activate the SIM card. For a non-pre-paid SIM card the user needs to present sufficient identification information that the carrier is satisfied they know who the person is, that they are able to pay their bill, and where to send the bill. For a pre-paid account the carrier does not need such information, but some countries do require carriers to collect user identity information even for pre-paid accounts. Once the user has an activated SIM card it can be used from any handset and the correct account is billed for usage. Users are encouraged to protect their SIM cards with a PIN, so that it cannot be used until a PIN is supplied. However this is not enforced by the carriers, as it is a user choice.
The Netpage system, includes the concept of a Netpage user, each of whom has a Netpage account. Some Netpage applications require knowledge of the user. To be able to access those applications via a Netpage pointer or scanner built into a mobile device, a link between the mobile device and a Netpage user is established. To do this there is a configuration and activation step, similar to a SIM card activation where the Netpage sub-systems on the mobile device are configured and a mapping is setup between the user identity for the mobile device and a Netpage user. If the Netpage account is being established for the first time then, as with a mobile carrier, the user identifies themselves so that the Netpage network operator is able to bill the user for any Netpage related costs incurred.
There are times where a mobile user's identity cannot be determined via a mobile carrier: possibly a company does not want to or cannot get the information from a carrier; the mobile device may be connecting to the network without a carrier being involved; or the carrier may not have the information required, eg. anonymous pre-paid accounts. In these situations the functionality available to the user can be reduced to functionality that does not require knowledge of the user's identity or additional Netpage specific information can be used to establish the user's identity to the satisfaction of the Netpage system.
Netpage-specific user identity information is stored on the device during the Netpage registration/activation process. To give the same level of user identity portability as a SIM card the information can be stored on the SIM card, if it is present. If that is not possible, due to a mobile carrier denying access to it or it not being present, it can be stored in a secure store within the device and if that is not possible, on the normal file system of the device. If the identity information is stored on the SIM card, it can automatically move with the user's carrier identity when they swap SIM cards.
6. Use Cases
6.1 M-Print Blanks
The M-Print printer 4 is able to print on special M-Print blanks that are specially designed to provide optimal print quality in a M-Print printer 4. The blanks are purchased by a user in packs and loaded one-by-one into the printer when a print is being made.
To ensure valid blanks are loaded into the printer 4, a mechanism for validating the supplied blanks and rejecting imitations can be supplied. This can be done by reading an ID from the blank during printing and validating that ID either locally or via a network service.
The blanks are pre-tagged. For Netpage to be able to correctly register a printout an ImpressionID is determined from the pre-tagged blank when the printout is printed. This implies the M-Print printer is able to read the ImpressionID from the blank.
Both cases can use the ID encoded on the blank. The proposed scheme for validating the ID involves reading a second number from the blank called the signature. The signature and ID can then be validated as a pair. The proposed mechanism for this is to consult a network based service that securely stores the ID and signature pairs that have been manufactured.
Both the ID and the signature are readable by the printer 4 and in the Netpage case by a Netpage pointer 533. The M-Print printer 4 does not contain a Netpage pointer 533, but it includes a bar code reader. This means the ID and the signature are provided on the back of the blank as a linear bar code, most likely in IR ink, for the printer 4 and on the front of the blank encoded in the Netpage tag encoding for the Netpage pointer 533.
In some circumstances, validation of the ID may not be possible in real time before the printout completes. Thus, users are informed if non-genuine blanks are being loaded into the printer and wam the user that loaded non-genuine blanks may decrease the lifetime of the printer's printhead.
While complete validation of the ID may not be possible before printing, coding on the blank can be detected that indicates the orientation of the blank and also the start of the timing codes that allow the printer 4 to detect the speed at which the blank is moving through the printer 4. If these can not be detected the blank may be rejected before printing commences.
6.1.1 Loading a Card
Referring to
- 1. The user is prompted to insert a blank (step 750)
- 2. The user inserts a blank (step 751)
If the user inserts the paper upside down at option 752, the user is prompted to re-insert the blank the other way. If the loaded paper is uncoded or incorrectly coded, the user is prompted to insert a genuine M-Print blank.
6.1.2 Validate an ID
Referring to
Once the ID and signature have been validated it is passed at step 762 onto a Netpage microserver 761 for processing as the ImpressionID of the printout. The user is alerted that the last print was done on an invalid blank and continuing to use such blanks shortens the life of the printer 4.
6.2 Printing
Common to all the use cases present below is printing. From a users perspective, printing normally has two stages, a third may be added if an error occurs or the blank is invalid:
- 1. Loading the blank
- 2. Printing
- 3. Error reporting
The user view of loading the blank and reporting an invalid blank are covered above. The user's view of printing is both: a progress dialog that allows the user to view the progress of the print and cancel the print; and being able to see the blank move through the printer and emerge from the device.
Cancelling the print stops the printer using any more ink, but the Ib and signature from the blank may still be read for validation.
6.2.1 Print
- 1. The user is prompted to load a card.
- 2. A print progress dialogue is displayed, with a cancel button
- 3. The blank is drawn fully through the printer and the print progress dialogue is removed
If the user wants to cancel the print jobthe user presses cancel on the print progress bar which results in the print job stopping and the blank being ejected. If an error occurs such as a paper jam, an error message may be provided to alert the user. The user may then dismiss the dialog of the error message and progress dialogs are removed. If a blank fails validation, the user is alerted of the failure.
6.3 Uploading and Downloading Data
Moving data on and off mobile devices via the wireless network reliably presents a number of challenges:
- 1. Wireless networks are inherently unreliable and the link can be lost at any point. This can occur due to signal loss or the mobile device having to disable the radio link to conserver power or to allow another power hungry activity to start up, eg. printing.
- 2. The bandwidth available on the existing 2.5G networks is limited and it could take up to several minutes to transmit a high resolution photo on or off the device
- 3. The cost of transferring data over a mobile network can vary and it may be significantly cheaper to delay the transfer to a non-peak time, e.g. late at night.
- 4. Mobile carriers might prefer non-urgent data transfers to happen during lulls in the network traffic.
- 5. It may be cost effective to support different means of transferring data. A HTTP Put over GPRS is the most obvious way, but it may be possible to take advantage of carrier price subsidies and send the same data via an MMS or SMS message.
Referring to
The network based component of this service provides a carrier integration point. A carrier may choose to host this service and bill the traffic for it differently to encourage usage of the M-Print and Netpage services. It also provides a single point of modification to take advantage of new features in the carrier networks, eg. a new data push model not based on SMS.
The device based component of this service provides a simple interface to the device based M-Print and Netpage services, while providing the ability to exploit all the features of a mobile device 100 to access network based services. This may include taking advantage of WLAN connectivity where possible.
The download sequence shown in
6.4 Netpage Pointer/Scanner
In the printing scenario a blank's ID is read during printing. This ID is used to both facilitate validation of the blank as a valid M-Print blank and also as an Impression ID for Netpage. The Impression ID is used by the Netpage server 529 to associate the M-Print printout with the document that was printed onto the blank.
An M-Print blank has the ID encoded on the back of the blank in a way that is readable by the paper feed mechanism. If the blank has been pre-tagged with Netpage tags then the ID is also embedded in the Netpage tags. To initiate a Netpage interaction the first step is for the user to perform an action that retrieves the ID and supplies it to a Netpage server. The ID can be retrieved by:
- 1. A stroke or click with a Netpage Pen;
- 2. A click with a Netpage Pointer;
- 3. Scanning the ID on the back of the card.
The first two of these actions use Netpage specific devices to read the Netpage tags. The pen 533 provides a stream of digital ink along with the ID and the pointer provides a position on the printout along with the ID. The last uses a scanning mechanism to read the ID from the back of the printout. It can be the same scanner as is used in the M-Print printer paper feed mechanism or it can be a dedicated scanner that the printout is feed into or passed over, similar to a bar code reader. This mechanism only provides the ID, it does not provide any positional information, but Netpage applications can be authored to support a "scan" of the printout as well as a click or a stroke on the printout.
6.4.1 Activate a Netpage Application Via a Scan
The user passes an existing M-Print printout back through their M-Print printer to activate the associated Netpage application.
The printout is drawn through the printer and a Netpage application is launched. If there is no Netpage application for the printout, the user is told the printout has no associated application. If the printout fails validation, the user is alerted of the failure.
The effect the user sees as a result of a Netpage application being launched varies depending on the application, some examples are:
- For a photo the use may see the photo displayed on the screen with the option to reprint it or send to someone.
- For a business card the user may receive a vCard on their mobile device which can be processed in the normal way.
- For a coupon a completed SMS/MMS/email may be displayed asking the user if they wish to send it off to enter the competition.
- Any printout may be displayed on the mobile device showing the print image and allowing the user to navigate the hyperlinks and fields in the printout and activate them. If the device has a touch screen, the user can use a pointer to select fields and generate digital ink.
7. Applications
7.1 Photo Printing
Photo printing is a major application for M-Print. In its simplest form, photo printing can be done completely locally, without any dependence on network services or interactions. Printing a photo can interact with a photo archive. If a photo is printed then it is likely the user may wish to access or print the photo again. When a photo is printed it can be pushed out to the photo archive making it available for on-line retrieval or access. Netpage functionality offers a convenient and natural way of interacting with a printed photo. A Netpage enabled photo can act as a permission token, giving the holder of the printout permission to retrieve and reprint the photo from the archive. Photo archiving from mobile devices is an independent application from photo printing. Users typically take more photos that they wish to keep in an archive than they wish to print.
7.1.1 Local Photo Printing
Referring to
- 1. The user uses the default photo application 796 on their device and takes a photo at step 795
- 2. The user selects print from the applications menu
- 3. The user is prompted to load a blank
- 4. The print is produced
- Other options include:
- The user prints with a border at step 797 by selecting print options from the menu before printing and selects to print with a border, and the user can then select print from the applications menu.
- The user requests the date is printed with the photo at step 798 by selecting print options from the menu and selecting the print date and time option, and the user can then select print from the applications menu.
- The user adds a caption at step 799 where the user selects photo options from the menu and selects add caption,
- wherein the user is prompted to enter a caption and the user selects print from the applications menu.
7.1.2 Printing a Photo Archives the Photo
Referring to
When the photo is pushed to the archive the user is given the opportunity to specify what access permission's should be applied to the photo at step 801 in the archive 800. In this scenario it is kept to public or private 802 for simplicity, but it could easily be a more complex selection from various ACLs (Access Control Lists) maintained by the user.
- 1. The user uses the default photo application 796 on their device 100 and takes a photo.
- 2. The user may set some print options 801
- 3. The user selects print from the applications menu 803
- 4. The user is prompted whether the photo should be public or private in the archive 802
- 5. The user is prompted to load a blank
- 6. The print is produced.
Optionally, default settings may be applied for archiving the images where the user may not be prompted if the default settings indicate whether all photos should be public or private.
This sequence diagram shows the most likely case, where uploading the photo to the archive occurs after printing has finished. This is the most likely case, since power demands of printing require the network connectivity section of the phone to be powered down, or at least avoided. Some devices may be able to support both, in which case the upload could occur during the print. The photo archive is accessible from both a browser on a mobile device 100 or a desktop browser. The user is able to print a photo from the archive to either a desktop printer or the printer in their mobile device.
7.1.3 Printing Archives a Netpage Enabled Photo
In this use case the user interactions are the same as for "Printing a Photo Archives the Photo", but in the background, the document, the printout, and the impression ID are registered with the Netpage infrastructure. The printout can be interacted with via a Netpage pointer 533 immediately on the device it was printed on, but it is not be active for other pointers or pens until it has been successfully uploaded to the network based Netpage services.
Referring to
The need to move the photo and the Netpage document associations out into the network to enable general Netpage interactive on the printed photo, gives the pushing of the photo to the photo archive more importance. In this case the push to the archive includes a flag indicating the photo should be moved to the off device archive as soon as possible. The registering of a printout with the Netpage services can not complete until the blank has been validated since the ID is used as the Netpage impression ID.
In this case the photo reference rather than the photo is lodged with the Netpage microserver. The printout can be interacted with via a Netpage pointer on the same device after the ID and signature have been validated, but other pointers and pens can only interact with the document after it has been successfully uploaded to the Netpage network server.
8. Player Use Cases
8.1 Business Card Application
This section covers the Netpage Player PlayRequests 521 used in the interactive Netpage Business Card and describes the behaviour of the Player Agents 537 handling such objects and commands.
8.1.1 Phone Number
Referring to
The mobile phone icon 813 is configured with a more fully specified PlayRequest 809 than the phone number fields 817, 818. The PlayRequest 809 specifies an operation ("dial") that should be performed when that field is selected. The operation overrides the default handling of phone-number values that might otherwise be performed in the absence of an explicit operation. Note that the target of the request is still left unspecified. This gives the routing system the freedom to determine the most appropriate device with which to make the call. This is especially appropriate for a business card 810 which might be handed out to hundreds of users who each typically have their own phone. Placing a specific target in the PlayRequest would have been possible, although inappropriate in this case. The landline telephone icon 813 is configured similarly to the mobile phone icon, but with a different value for the phone number.
8.1.2 Fax Number
Referring to
8.1.3 Web Address
Referring to
8.1.4 SMS and MMS Fields
Referring to
8.1.5 Email Address
Referring to
8.1.6 Street Address
Referring to
- A Web MAP Search Agent which presents the location in a web browser by accessing a web-based map search facility
- A Print Agent on an m-print phone which prints the location details (and possibly directions) on an m-print card.
- A GPS Navigator Agent which displays the location in a handheld GPS device.
8.1.7 Photo
Referring to
8.2 Scanning Support
Referring to
The printed business card 820 can be authored to invoke a PlayRequest 851 in response to a scan event. Typically, such a PlayRequest 851 provides information pertaining to the entire content of the printout. In the case of the business card, the document can be authored to invoke a PlayRequest 851 that contains a text/directory object 852 that specifies most of the details from the card. Such a PlayRequest 851 would typically be routed to a Contacts Application (such as vCard Agent) which would then modify its database to include the details from the business card.
8.2.1 M-Print Photo Cards Including Scan Support
8.3 Printout Interactivity on the Mobile Device GUI
When a scan of an M-Print printout is performed on a mobile device 100 the action taken can vary. One possible action is to display the printout on the mobile device's GUI with the hyperlinks and form fields active so that a user can navigate between them and fill them in or activate them, in the same way a Netpage user can on a printout using a Netpage pen or pointer.
If the mobile device has a touch screen and a stylus then it is possible to support all the interactions that a user with a Netpage pen could have with the printout. If the mobile device doesn't support a touch screen and stylus then it is possible to tab through the hyperlinks and submit fields on the form and activate them in the same way that a user with Netpage pointer and a printout could.
Below is a use case illustrating the sequence of events for a user to activate a hyperlink by scanning the printout.
8.3.1 Scan a Business Card and Send an MMS to the Person
- 1. The user inserts a printout into the paper feed slot on the mobile device (870)
- 2. The printout is drawn through the mobile device
- 3. The image on the printout is displayed on the mobile device (880), the first hyperlink has a focus region drawn around it
- 4. The user moves focus to the MMS hyperlink and selects it
- 5. The MMS editor on the device is displayed with the address filled out from the details on the business card (890).
The upper portion of the sequence diagram in
9.0 Mobile Telecommunications Device Overview
Whilst the main embodiment includes both Netpage and printing functionality, only one or the other of these features is provided in other embodiments.
One such embodiment is shown in
The mobile telecommunications device can use any of a variety of known operating systems, such as Symbian (with UIQ and Series 60 GUIs), Windows Mobile, PalmOS, and Linux.
In the preferred embodiment (described in more detail below), the print media is pre-printed with tags, and the printer module 4 prints visible information onto the page 6 in registration with the tags. In other embodiments, Netpage tags are printed by the printer module onto the page 6 along with the other information. The tags can be printed using either the same visible ink as used to print visible information, or using an infrared or other substantially invisible ink.
The information printed by the printer module 4 can include user data stored in the mobile phone 1 (including 10 phonebook and appointment data) or text and images received via the telecommunications network or from another device via a communication mechanism such as Bluetooth™ or infrared transmission. If the mobile phone 1 includes a camera, the printer module 4 can be configured to print the captured images. In the preferred form, the mobile phone module 2 provides at least basic editing capabilities to enable cropping, filtering or addition of text or other image data to the captured image before printing. The configuration and operation of the printer module 4 is described in more detail below in the context of various types of mobile telecommunication device that incorporate a printhead.
A more detailed architectural view of the mobile phone 1 of
The Netpage tag sensor module 8 includes a monolithically integrated Netpage image sensor and processor 12 that captures image data and receives a signal from a contact switch 14. The contact switch 14 is connected to a nib (not shown) to determine when the nib is pressed into contact with a surface. The sensor and processor 12 also outputs a signal to control illumination of an infrared LED 16 in response to the stylus being pressed against the surface. The image sensor and processor 12 outputs processed tag information to a Netpage pointer driver 18 that interfaces with the phone operating system 20 running on the mobile telecommunications device's processor (not shown).
Output to be printed is sent by the phone operating system 20 to a printer driver 22, which passes it on to a MoPEC chip 24. The MoPEC chip processes the output to generate dot data for supply to the printhead 26, as described in more detail below. The MoPEC chip 24 also receives a signal from a media sensor 28 indicating when the media is in position to be printed, and outputs a control signal to a media transport 30.
The printhead 26 is disposed within a replaceable cartridge 32, which also includes ink 34 for supply to the printhead.
9.1 Mobile Telecommunications Device Module
Operation of, and communication between, the mobile phone module 2 components is controlled by a mobile phone controller 36. The components include:
- 'mobile radio transceiver 38 for wireless communication with a mobile telecommunications network;
- program memory 40 for storing program code for execution on the mobile phone controller 36;
- working memory 42 for storing data used and generated by the program code during execution. Although shown as separate from the mobile phone controller 36, either or both memories 40 and 42 may be incorporated in the package or silicon of the controller;
- keypad 44 and buttons 46 for accepting numerical and other user input;
- touch sensor 48 which overlays display 50 for accepting user input via a stylus or fingertip pressure;
- removable memory card 52 containing non-volatile memory 54 for storing arbitrary user data, such as digital photographs or files;
- local area radio transceiver 56, such as a Bluetoothrm transceiver;
- GPS receiver 58 for enabling determination of the location of the mobile telecommunications device (alternatively the phone may rely on mobile network mechanisms for determining its location);
- microphone 60 for capturing a user's speech;
- speaker 62 for outputting sounds, including voice during a phone call;
- camera image sensor 64 including a CCD for capturing images;
- camera flash 66;
- power manager 68 for monitoring and controlling power consumption of the mobile telecommunications device and its components; and
- SIM (subscriber Identity Module) card 70 including SIM 72 for identifying the subscriber to mobile networks.
The mobile phone controller 36 implements the baseband functions of mobile voice and data communications protocols such as GSM, GSM modem for data, GPRS and CDMA, as well as higher-level messaging protocols such as SMS and MMS. The one or more local-area radio transceivers 56 enable wireless communication with peripherals such as headsets and Netpage pens, and hosts such as personal computers. The mobile phone controller 36 also implements the baseband functions of local-area voice and data communications protocols such as IEEE 802.11, IEEE 802.15, and Bluetooth™.
The mobile phone module 2 may also include sensors and/or motors (not shown) for electronically adjusting zoom, focus, aperture and exposure in relation to the digital camera.
Similarly, as shown in
- print engine controller (PEC) 74 in the form of a MoPEC device;
- program memory 76 for storing program code for execution by the print engine controller 74;
- working memory 78 for storing data used and generated by the program code during execution by the print engine controller 74; and
- a master QA chip 80 for authenticating printhead cartridge 32 via its QA chip 82.
Whilst the printhead cartridge in the preferred form includes the ink supply 34, the ink reservoirs can be housed in a separate cartridge in alternative embodiments.
In an alternative embodiment, shown in
The Netpage sensor module can be incorporated in the form of a Netpage pointer, which is a simplified Netpage pen suitable mostly for activating hyperlinks. It preferably incorporates a non-marking stylus in place of the pen's marking nib (described in detail later in the specification); it uses a surface contact sensor in place of the pen's continuous force sensor; and it preferably operates at a lower position sampling rate, making it unsuitable for capturing drawings and hand-writing. A Netpage pointer is less expensive to implement than a Netpage pen, and tag image processing and tag decoding can potentially be performed by software without hardware support, depending on sampling rate.
The various aspects of the invention can be embodied in any of a number of mobile telecommunications device types. Several different devices are described here, but in the interests of brevity, the detailed description will concentrate on the mobile telecommunications device embodiment.
9.2 Mobile Device
One preferred embodiment is the non-Netpage enabled 'candy bar' mobile telecommunications device in the form of a mobile phone shown in
In further embodiments, the device can have two body sections that rotate or slide relative to each other. Typically, the aim of these mechanical relationships between first and second body sections is to protect the display from scratches and/or the keypad from accidental activation. Photo printing is considered one of the most compelling uses of the mobile Memjet printer. A preferred embodiment of the invention therefore includes a camera, with its attendant processing power and memory capacity.
The elements of the mobile telecommunications device are best shown in
The front moulding 104 mounts to the emphasis to enclose the various components, and includes numerical interface buttons 136 positioned in vertical rows on each side of the display 138. A multi-directional control pad 142 and other control buttons 284 enable menu navigation and other control inputs. A daughterboard 280 is mounted to the chassis moulding 102 and includes a directional switch 286 for the multi directional control pad 142. The mobile telecommunications device includes a cartridge access cover 132 that protects the interior of the mobile telecommunications device from dust and other foreign objects when a print cartridge 148 is not inserted in the cradle 124.
An optional camera module 110 is also mounted to the chassis moulding 102, to enable image capture through a hole 112 in the rear cover moulding 106. The camera module 110 includes a lens assembly and a CCD image sensor for capturing images. A lens cover 268 in the hole 112 protects the lens of the camera module 110. The rear cover moulding 106 also includes an inlet slot 228 and an outlet slot 150 through which print media passes.
The chassis moulding 102 supports a data/recharge connector 114, which enables a proprietary data cable to be plugged into the mobile telecommunications device for uploading and downloading data such as address book information, photographs, messages, and any type of information that might be sent or received by the mobile telecommunications device. The data/recharge connector 114 is configured to engage a corresponding interface in a desktop stand (not shown), which holds the mobile telecommunications device in a generally upright position whilst data is being sent or received by the mobile telecommunications device. The data/recharge connector also includes contacts that enable recharging of the battery 108 via the desktop stand. A separate recharge socket 116 in the data/recharge connector 114 is configured to receive a complimentary recharge plug for enabling recharging of the battery when the desktop stand is not in use.
A microphone 170 is mounted to the chassis moulding 102 for converting sound, such as a user's voice, into an electronic signal to be sampled by the mobile telecommunications device's analog to digital conversion circuitry. This conversion is well known to those skilled in the art and so is not described in more detail here. A SIM (Subscriber Identity Module) holder 118 is formed in the chassis moulding 102, to receive a SIM card 120. The chassis moulding is also configured to support a print cartridge cradle 124 and a drive mechanism 126, which receive a replaceable print cartridge 148. These features are described in more detail below. Another moulding in the chassis moulding 102 supports an aerial (not shown) for sending and receiving RF signals to and from a mobile telecommunications network.
A main printed circuit board (PCB) 130 is supported by the chassis moulding 102, and includes a number of momentary pushbuttons 132. The various integrated and discrete components that support the communications and processing (including printing processing) functions are mounted to the main PCB, but for clarity are not shown in the diagram.
A conductive elastomeric overlay 134 is positoned on the main PCB 130 beneath the keys 136 on the front 40 moulding 104. The elastomer incorporates a carbon impregnated pill on a flexible profile. When one of the keys 136 is pressed, it pushes the carbon pill to a 2-wire open circuit pattern 132 on the PCB surface. This provides a low impedance closed circuit. Alternatively, a small dome is formed on the overlay corresponding to each key 132.
Polyester film is screen printed with carbon paint and used in a similar manner to the carbon pills. Thin adhesive film with berrylium copper domes can also be used. A loudspeaker 144 is installed adjacent apertures 272 in the front moulding 104 to enable a user to hear sound such as voice communication and other audible signals.
A color display 138 is also mounted to the main PCB 130, to enable visual feedback to a user of the mobile telecommunications device. A transparent lens moulding 146 protects the display 138. In one form, the transparent lens is touch-sensitive (or is omitted and the display 138 is touch sensitive), enabling a user to interact with icons and input text displayed on the display 138, with a finger or stylus.
A vibration assembly 274 is also mounted to the chassis moulding 102, and includes a motor that drives an eccentrically mounted weight to cause vibration. The vibration is transmitted to the chassis 102 and provides tactile feedback to a user, which is useful in noisy environments where ringtones are not audible.
10. Print Media Printing
A Netpage printer normally prints the tags which make up the surface coding on demand, i.e. at the same time as it prints graphic page content. As an alternative, in a Netpage printer not capable of printing tags such as the preferred embodiment, pre-tagged but otherwise blank Netpages can be used. The printer, instead of being capable of tag printing, typically incorporates a Netpage tag sensor. The printer senses the tags and hence the region ID of a blank either prior to, during, or after the printing of the graphic page content onto the blank. It communicates the region ID to the Netpage server, and the server associates the page content and the region ID in the usual way.
A particular Netpage surface coding scheme allocates a minimum number of bits to the representation of spatial coordinates within a surface region. If a particular media size is significantly smaller than the maximum size representable in the minimum number of bits, then the Netpage code space may be inefficiently utilised. It can therefore be of interest to allocate different sub-areas of a region to a collection of blanks. Although this makes the associations maintained by the Netpage server more complex, and makes subsequent routing of interactions more complex, it leads to more efficient code space utilisation. In the limit case the surface coding may utilise a single region with a single coordinate space, i.e. without explicit region IDs.
If regions are sub-divided in this way, then the Netpage printer uses the tag sensor to determine not only the region ID but also the surface coding location of a known physical position on the print medium, i.e. relative to two edges of the medium. From the surface coding location and its corresponding physical position on the medium, and the known (or determined) size of the medium, it then determines the spatial extent of the medium in the region's coordinate space, and communicates both the region ID and the spatial extent to the server. The server associates the page content with the specified sub-area of the region.
A number of mechanisms can be used to read tag data from a blank. A conventional Netpage tag sensor incorporating a two-dimensional image sensor can be used to capture an image of the tagged surface of the blank at any convenient point in the printer's paper path. As an alternative, a linear image sensor can be used to capture successive line images of the tagged surface of the blank during transport. The line images can be used to create a two-dimensional image which is processed in the usual way. As a further alternative, region ID data and other salient data can be encoded linearly on the blank, and a simple photodetector and ADC can be used to acquire samples of the linear encoding during transport.
One important advantage of using a two-dimensional image sensor is that tag sensing can occur before motorised transport of the print medium commences. For example, if the print medium is manually inserted by the user, then tag sensing can occur during insertion. This has the further advantage that if the tag data is validated by the device, then the print medium can be rejected and possibly ejected before printing commences. For example, the print medium may have been pre-printed with advertising or other graphic content on the reverse side from the intended printing side. The device can use the tag data to detect incorrect media insertion, i.e. upside-down or back-to-front. The device can also prevent accidental overprinting of an already-printed medium. And it can detect the attempted use of an invalid print medium and refuse printing, eg. to protect print quality. The device can also derive print medium characteristics from the tag data, to allow it to perform optimal print preparation.
If a linear image sensor is used, or if a photodetector is used, then image sensing must occur during motorised transport of the print medium to ensure accurate imaging. Unless there are at least two points of contact between the transport mechanism and the print medium in the printing path, separated by a minimum distance equal to the tag data acquisition distance, tag data cannot be extracted before printing commences, and the validation advantages discussed above do not obtain. In the case of a linear image sensor, the tag data acquisition distance equals the diameter of the normal tag imaging field of view. In the case of a photodetector, the tag data acquisition distance is as long as the required linear encoding.
If the tag sensor is operable during the entire printing phase at a sufficiently high sampling rate, then it can also be used to perform accurate motion sensing, with the motion data being used to provide a line synchronisation signal to the print engine. This can be used to eliminate the effects of jitter in the transport mechanism.
Referring to
- the orientation of the card;
- the media type and authenticity;
- the longitudinal size;
- the pre-printed side;
- detection of prior printing on the card; and,
- position of the card relative to the printhead IC.
In one form, the encoded data is printed in IR ink so that it is invisible and does not encroach on the space available for printing visible images.
In a basic form, the M-Print cards 226 are only encoded with a data track and clocking (as a separate clock track or a self-clocking data track). However, in the more sophisticated embodiment shown in the figures, the cards 226 have a pre-printed Netpage tag pattern 438 covering the majority of the back-side. The front side may also have a pre-printed tag pattern. It is preferred in these embodiments that the data track encodes first information that is at least indicative of second information encoded in the tags. Most preferably, the first information is simply the document identity that is encoded in each of the tags.
The clock track 434 allows the MoPEC 326 (see
The data track 436 provides the Netpage identifier and optionally associated digital signatures which allows MoPEC 326 to reject fraudulent or un-authorised media 226, and to report the Netpage identifier of the front-side Netpage tag pattern to a Netpage server. It should be noted that a fragment of a digital signature can also be considered a digital signature in its own right.
As an alternative, the optical encoders can sense the direction of media movement by configuring them to be 'quadrature encoders'. A quadrature encoder contains a pair of optical encoders spatially positioned to read the clock track 90 degrees out of phase; Its in-phase and quadrature outputs allow the MoPEC 326 to identify not just the motion of the clock track 434 but also the direction of the motion. A quadrature encoder is generally not required, since the media transport direction is known a priori because the printer controller also controls the transport motor. However, the use of a quadrature encoder can help decouple a bi-directional motion sensing mechanism from the motion control mechanism.
The data decoder 450 uses the clock 446 recovered by the DPLL 444 to sample the signal from the data track optical encoder 442. It may either sample the continuous signal from the data track optical encoder 442, or it may actually 5 trigger the LED of the data track optical encoder 442 for the duration of the sample period, thereby reducing the total power consumption of the LED. The DPLL 444 may be a PLL, or it may simply measure and filter the period between successive clock pulses.
The line sync generator 456 consists of a numerically-controlled oscillator which generates line sync pulses 476 at a rate which is a multiple of the rate of the clock 446 recovered from the clock track 434.
As shown in
Optionally, the printer can rely on the media coding itself to obtain longitudinal registration. For example, it may rely on acquisition of a pilot sequence on the data track 436 to obtain registration. In this case, as shown in
As shown in
While the momentum of the card is sufficient to carry the trailing edge past the printhead, it is not enough to fling it out of the exit slot 150 (
10.1 M-Print Flip Printing
One can allow a previously printed m-print Netpage card to be re-inserted into the printing mechanism "flipped-over", so that the side not previously printed on (i.e. the back of the card) is now facing towards the print head. The printer would detect such an insertion and would automatically print additional information on to the back of the card. The additional information would typically, but not necessarily, be application and context specific. That is:
- the application which created the original printout would determine what is printed onto the back side of the card, and
- would be able to take into account context specific information such as the impression ID of the card.
This allows applications to print information onto the back side of the card which is specific to the original printout on the front side of the card. There are many potential uses for such a mechanism. For the sake of discussion, one such case is described below.
10.1.1 Camera Use-Case
- 1. User takes a photo using an m-print enabled camera phone
- 2. User prints photo onto Netpage tagged card
- 3. User feeds card back through printer flipped-over
- 4. Various details about the photo would then be printed onto the back of the card. Examples of details might be:
- The date and time the photo was taken;
- Location where photo was taken, either automatically determined by a geographical positioning system within the phone (eg. GPS or cell-based location detection), or manually entered after the fact by the user; and/or
- Arbitrary textual information entered by the user (perhaps entered on the phone itself or via a web-based photo archiving application sometime after the photo was taken).
The time duration between the user taking the original photo and inserting the flipped-over card could be arbitrarily long. As such, the mechanism can act as a "what is this photo that I just found?" facility. Another advantage is that it removes the need to have text obscuring parts of the photo in order to provide date/time information.
11. General Netpage Overview
Netpage interactivity can be used to provide printed user interfaces to various phone functions and applications, such as enabling particular operational modes of the mobile telecommunications device or interacting with a calculator application, as well as providing general "keypad", "keyboard" and "tablet" input to the mobile telecommunications device. Such interfaces can be pre-printed and bundled with a phone, purchased separately (as a way of customizing phone operation, similar to ringtones and themes) or printed on demand where the phone incorporates a printer.
A printed Netpage business card provides a good example of how a variety of functions can be usefully combined in a single interface, including:
- loading contact details into an address book
- displaying a Web page
- displaying an image
- dialing a contact number
- bringing up an e-mail, SMS or MMS form
- loading location info into a navigation system
- activating a promotion or special offer
- loading contact details into an address book
Any of these functions can be made single-use only. A business card may be printed by the mobile telecommunications device user for presentation to someone else, or may be printed from a Web page relating to a business for the mobile telecommunications device user's own use. It may also be pre-printed.
As described below, the primary benefit of incorporating a Netpage pointer or. pen in another device is synergy. A Netpage pointer or pen incorporated in a mobile phone, smartphone or telecommunications-enabled PDA, for example, allows the device to act as both a Netpage pointer and as a relay between the pointer and the mobile phone network and hence a Netpage server. When the pointer is used to interact with a page, the target application of the interaction can display information on the phone display and initiate further interaction with the user via the phone touchscreen. The pointer is most usefully configured so that its "nib" is in a corner of the phone body, allowing the user to easily manipulate the phone to designate a tagged surface. The phone can incorporate a marking nib and optionally a continuous force sensor to provide full Netpage pen functionality.
An exemplary Netpage interaction will now be described to show how a sensing device in the form of a Netpage enabled mobile device interacts with the coded data on a print medium in the form of a card. Whilst in the preferred form the print medium is a card generated by the mobile device or another mobile device, it can also be a commercially pre-printed card that is purchased or otherwise provided as part of a commercial transaction. The print medium can also be a page of a book, magazine, newspaper or brochure, for example. The print medium can be provided with coded data in a variety of formats, the coded data encoding a range of information, preferably, at least some of the information being indicative of the print media identifier. The information can be indicative of a two-dimensional coordinate grid, and the format can be a two-dimensional pattern.
For example, the print medium can be provided with first coded data in a first format and second coded data in a second format, the first coded data encoding first information and the second coded data encoding second information, with at least some of the first information being indicative of the print media identifier, the first format being a linear pattern, and with at least some of the second information being indicative of the print media identifier and of a two-dimensional coordinate grid, the second format being a two-dimensional pattern. In a particular example form, the information is further indicative of at least part of a digital signature associated with the print media identifier, the sensor module determining, by reading at least some of the coded data, at least part of the digital signature, and the printer module can then print, if the digital signature is authentic, content on the print media.
The mobile device senses a tag using an area image sensor and detects tag data. The mobile device uses the sensed data tag to generate interaction data, which is sent via a mobile telecommunications network to a document server. The document server uses the ID to access the document description, and interpret the interaction. In appropriate circumstances, the document server sends a corresponding message to an application server, which can then perform a corresponding action.
Typically Netpage pen and Netpage-enabled mobile device users register with a registration server, which associates the user with an identifier stored in the respective Netpage pen or Netpage enabled mobile device. By providing the sensing device identifier as part of the interaction data, this allows users to be identified, allowing transactions or the like to be performed. Netpage documents are generated by having an ID server generate an ID which is transferred to the document server. The document server determines a document description and then records an association between the document description and the ID, to allow subsequent retrieval of the document description using the ID. The ID is then used to generate the tag data, as will be described in more detail below, before the document is printed by a suitable printer, using the page description and the tag map.
Each tag is represented by a pattern which contains two kinds of elements. The first kind of element is a target. Targets allow a tag to be located in an image of a coded surface, and allow the perspective distortion of the tag to be inferred. The second kind of element is a macrodot. Each macrodot encodes the value of a bit by its presence or absence. The pattern is represented on the coded surface in such a way as to allow it to be acquired by an optical imaging system, and in particular by an optical system with a narrowband response in the near-infrared. The pattern is typically printed onto the surface using a narrowband near-infrared ink.
In the preferred embodiment, the region typically corresponds to the entire surface of an M-Print card, and the region ID corresponds to the unique M-Print card ID. For clarity in the following discussion we refer to items and IDs, with the understanding that the ID corresponds to the region ID. The surface coding is designed so that an acquisition field of view large enough to guarantee acquisition of an entire tag is large enough to guarantee acquisition of the ID of the region containing the tag. Acquisition of the tag itself guarantees acquisition of the tag's two-dimensional position within the region, as well as other tag-specific data. The surface coding therefore allows a sensing device to acquire a region ID and a tag position during a purely local interaction with a coded surface, e.g. during a "click" or tap on a coded surface with a pen.
Optional embodiments of the present invention may also be said to broadly consist in the parts, elements and features referred to or indicated herein, individually or collectively, in any or all combinations of two or more of the parts, elements or features, and wherein specific integers are mentioned herein which have known equivalents in the art to which the invention relates, such known equivalents are deemed to be incorporated herein as if individually set forth.
Although a preferred embodiment has been described in detail, it should be understood that various changes, substitutions, and alterations can be made by one of ordinary skill in the art without departing from the scope of the present invention.
12. Further Example Applications—Entertainment Services
12.1 Games and Puzzles
Mobile phone printing of games and puzzles that are traditionally printed on paper provides consumers with several significant advantages. Despite the success of hand-held video games, mobile phone games and DVD consoles in cars, traditional paper-based games have not lost their appeal. These games include connect-the-dots, tic-tac-toe (also known as 'noughts and crosses'), crossword puzzles and a vast array of word and knowledge-based games. Most print newspapers, magazines and comic books usually include a section with paper-based games. Specialist publications are also sold at newsagents and other vendors.
The overall mass market appeal of paper based game publications has been steadily declining as:
- Games are readily available on the internet and most websites offer them for free.
- Most mass market publications are printed using low quality paper.
- Many consumers do not feel the need to purchase an entire volume of games when their interest in a game is spontaneous or intermittent.
The internet has benefited consumers as:
- Many websites offer free games and puzzles to print and play.
- Consumers can select from a wider range of games and puzzles as many people are designing their own unique games.
- Consumers are able to select as many or as few games to print, without restrictions on print volumes.
- The web provides consumers with an easy and convenient way to source paper-based games.
- Games that combine traditional puzzles with a degree of interactivity or progression are also possible.
12.2 Mobile Games and Puzzles
Dell Crosswords, the most popular name in the US for crossword puzzles and word search games, now sells puzzles and games to mobile phone users, as well as online. The consumer purchases the crossword or word search game software from the Dell Crosswords website. This is then downloaded to a computer and installed on a mobile phone via USB, wireless or infrared connection, or installed directly over the air. Once installed, users can download a new puzzle or game each day, to play using a keypad, stylus or pen. To request a puzzle or game:
- 1. Click 'Dell Crosswords' icon from the phone menu.
- 2. Select the 'request game' option.
- 3. Click 'send'.
- 4. A game is sent to the user's phone using SMS, MMS or email.
12.2.1 Print Opportunities
Daily, printable games, puzzles and quizzes can be incorporated into news and other paid subscriptions. Paid subscribers can receive games or puzzles periodically to print as required. It is possible to work with some paper size limitations, such as by printing a crossword grid on one page with the clues on a second.
12.2.2 Interactivity Opportunities
Gamers can enter into draws and competitions, interacting with service providers in real-time.
Referring to
- Click each of the letters of the found words.
- Select the completed checkbox and then click the SUBMIT button when the word puzzle is completed.
Referring to
- Fill in each of the words in the crossword.
- Click the clue to receive another hint or the answer.
- Click the 'results' link to retrieve the full crossword solution.
The printed gaming information may be a permission token readable using the sensor module to at least one of: retrieve information associated with the gaming information from the archive; retrieve a game state; identify a game state and set a state of a game from the game state; retrieve a map; identify a position on a map; identify a position on a map and set a state of a game from the map position; retrieve a game score; initiate payment for the gaming information; transmit the gaming information to a game server; obtain a copy of the gaming information; and gain access to a resource. Printing the gaming information may cause information associated with the gaming information to be archived. Information associated with the gaming information may include one or more of: the gaming information; a visual description of the gaming information; an image of the gaming information; an interactive description of the gaming information; contents of the gaming information; and gaming information details. The gaming information may include at least one of: a game state; a game score; a high score list; a game level; a map; a brag card; a game highlight; a game screenshot; a password; an access key; a cheat code; and game instructions. The gaming information may be associated with a game played on the mobile telecommunications device.
Furthermore, the printed puzzle may be a permission token readable using the sensor module to at least one of: retrieve information associated with the puzzle from the archive; retrieve a puzzle state; retrieve a new puzzle; have a puzzle answer checked; retrieve a score; initiate payment for the puzzle; transmit the puzzle to a server; obtain a copy of the puzzle; and gain access to a resource. Printing the puzzle may cause information associated with the puzzle to be archived. Information associated with the puzzle may include one or more of: the puzzle; a visual description of the puzzle; an image of the puzzle; an interactive description of the puzzle; contents of the puzzle; and puzzle details. The puzzle may include at least one of: a crossword; a numerical puzzle; a word puzzle; a sudoku; a quiz; a puzzle state; a puzzle score; a list of puzzles; a password; and puzzle instructions. The puzzle may be printed periodically.
12.3 Music
Global sales of recorded music in 2003, in both video and audio formats, were valued at US$32 billion. In July 2004, Jupiter Research reported that US digital music sales for 2004 will more than double 2003 sales to an excess of more US$270 million. It will grow rapidly to US$1.7 billion in 2009, totalling 12% of US consumer spending on music. The consultancy BearingPoint has reported that, in Europe and other regions, ringtones are a billion dollar business and that ringtones, digital radio and games may provide the new revenue streams that the US music industry is seeking. Until 2004, growth in the digital music market was held back by concerns about digital rights management—the protection of intellectual property. A variety of different proprietary standards currently exist. Rapid market growth has taken place in 2004 despite these concerns. In a September 2004 report titled Music Enabled Handsets—Next 3G Device Focus, Strategy Analytics reports that digital music is the next 3G opportunity beyond still and video imaging, while total music-enabled device sales will scale to 54 percent of global handset sales in 2009. Nokia is developing relationships with Loudeye OD2 and Universal Music, and marketing specialist 3300 and 5510 handsets. Motorola is aggressively pursuing music-focused alliances with MTV and Apple. Both cases illustrate the importance that music content will play in the emerging music-enabled device market. Strategy Analytics also reports that: MP3, a file format without digital rights protection, will remain the dominant audio format in the mobile market because of its strengths in the wired broadband domain; and Mobile converged devices will account for 50% of music enabled device sales through 2006.
Wireless operators and major record companies including Sony Music, T-Mobile, Universal Music and Vodafone are all working on plans to make sure that the mobile phone will soon be as important a channel as the internet in the short term, and as traditional record stores in the long term.
Mobile music can be divided into three different content streams: Downloaded music; Streaming music; Interactive music content.
12.3.1 Downloaded Music
In Western Europe the legal music download market has taken off in 2004. The market is expected to be worth US$4.41 billion (EUR3.5 billion) a year by 2009. 2004 has marked the launch of new music download sites in Europe such as Apple's iTunes Music Store, Sony's Connect, and Napster. Currently, half of the online music consumers are between 16 and 24 years. However, Forrester Research reports that as online music services expand their offerings and become easier to use that they will also gain momentum with older consumers. Forrester Research forecasts that Britain, France and Germany will dominate the market, with over 60% of legal music downloads in Europe sold in these three countries in 2009. Spain and Italy will grow strongly to account for around 20% of the European market by 2009.
Apple reports that it sold five million tracks in Europe in the first 10 weeks after the launch of British French and German iTunes stores. The market leader, it has since expanded its coverage of Europe to 12 countries. Worldwide, it has sold over 150 million protected AAC-format tracks, mainly through its US website which opened in April 2003. Loudeye's OD2 division, 'On Demand Distribution', is Europe's leading music download distributor to retail partners. OD2 tracks are sold in Microsoft's WMA format with digital rights protection. OD2 has launched interactive music services with retail partners including MSN (in 6 European countries); Ninemsn (Australia); Tonlist (Iceland); NEC's Packard Bell 'Music Station' (France, Germany and the UK); the charity Oxfam in the UK; and Eircom in Ireland. The company is now working with Nokia to deliver services to Nokia handsets.
12.3.2 Streaming Music
Online radio stations, record companies and musicians websites all offer legal streaming music services to enhance the user experience and to promote their products. UK digital media company, 7 Digital Media has designed and built a proprietary download engine to enable digital media distribution on behalf on record labels, broadcast, retail and brand partners. Their client base includes Universal, EMI, Warner Music, Sony BMG, V2, Echo, Independiente, O2 and many others and they have distributed content via over 175 partner sites including AOL, MSN, Lycos, Freeserve, Yahoo!, NME and XFM. BMG Records and Atlantic Records use 7 Digital Media to manage single promotions and billing via SMS and credit/debit card for both the chart toppers. They provide:
- Secure, global distribution of digital media.
- Acceptance of payments via SMS, Credit Card, Debit Card and BT (UK PSTN) phone bill.
- Compatibility with most digital media formats.
Consumers of streaming audio usually use a generic media player such as RealPlayer, QuickTime or Windows Media Player to listen to their favourite online radio stations or to hear songs and tunes from other websites. Real Networks provides the RealPlayer for mobile devices using the Symbian, PALM and Pocket PC operating systems, including select Nokia handsets. Its key features include:
- Playback of RealAudio, RealVideo and 3GPP compliant content via streaming or download.
- Seamless integration with RealPlayer for PC to drag and drop MP3 and RealAudio files to devices.
- Access to news, sports and entertainment updates.
- Access to downloadable content including music videos, travel guidance, auto review and much more.
Microsoft is planning to make its media software available to chip and handset makers to enable more consumers to play music in the Windows Media format on their mobile phones. Motorola and NEC have Microsoft's media decoders integrated into their handsets for 3G mobile networks. In contrast, server-side Apple QuickTime technology is in use by operators such as Verizon Wireless, Sprint, NTT DoCoMo and KDDI. QuickTime manages media for photograph e-mailing and other data services.
12.3.3 Mobile Music Content Services
Nokia has developed a mobile file sharing network, adapting peer-to-peer (P2P) file sharing schemes used by internet users, that has been tested on their 6600 model handsets. The network can currently support image and text sharing. Developing the ability to share digital music is considered a priority. Pop stars such as Anastacia, John Mayer and Madonna are all promoting mobile phones by providing special promotional offers that include, ringtones, MP3 and voicemail downloads, and SMS competitions. In the United States, Preferred Voice (PVI), a personalisation services provider, is offering 'Rockin' Ringback', where users choose an audio file for callers to their phone to listen to while the phone is ringing. Selections can be personalised for different callers, days and times. PVI hope that this will provide wireless carriers with a new way to increase average revenue per user and decrease churn. The service has been successfully deployed for 19 US carriers. The market opportunity for ringbacks is regarded as substantial. Korea's main mobile operator, SK Telecom has achieved more than 30% penetration in just 2 years.
12.3.4 Print Opportunities
Consumers will be able to print Karaoke lyrics, playlists, cover art, related trading cards, gossip and news messages, and also competition information and entries.
12.3.5 Interactivity Opportunities
The ability to interact with playlists, cover art, related trading cards, gossip, news and competition entries will encourage consumer use of value added services.
Referring to
- Click on the 'Silver Angels' logo to visit the artists' website.
- Click on the 'MP3' link to download the song.
- Click on the 'email' link to send a fan email to the group.
Ringtone and ringback options are also possible.
Referring to
- Click on the 'DigiRadio' logo to visit the web site.
- Click on the 'Week 41' link to view the full chart.
- Click on each of the 'listen' icons to listen to the music online.
- Select the 'order' checkboxes of the singles that they want to purchase (this assumes that the format of the
- music has been pre-selected by the user).
If the user has selected to purchase singles from the Top 10 list they can then select the completed checkbox and click on the SUBMIT button to send the order.
The printed audio information may be a permission token readable using the sensor module to at least one of: retrieve information associated with the audio information from the archive; receive audio via the mobile telecommunications device; receive an audio file; receive streaming audio; initiate payment for the audio information; initiate payment for audio associated with the audio information; select an audio channel; select an audio source; select a radio station; obtain a copy of the audio information; and gain access to a resource. Printing the audio information may cause information associated with the audio information to be archived. Information associated with the audio information includes one or more of: the audio information; a visual description of the audio information; a music chart; an image of the audio information; an interactive description of the audio information; contents of the audio information; an audio clip; an audio stream; an audio track; recorded music; synthesized music; recorded voice; synthesized voice; a sound effect; an audio channel; an audio source; a radio station; and audio information details. The audio information may include at least one of: lyrics; words of a song; musical notes; a musical score; a song title; an album title; information about a song; a name of a musician; and information about a musician. The audio information may be associated with audio played on the mobile telecommunications device.
12.4 TV and Video
Mobile TV and video consists of three different content streams:
- Camera phone based video recording and publishing.
- Streaming TV broadcast services.
- TV-like interactive content.
12.4.1 Mobile Video
The worldwide value of consumer video subscription services delivered via the internet is forecast to exceed US$4.6 billion in 2008. The market is expanding to include more types of content, as well as extending to mobile phones. An LG A survey of 228 telecommunications experts at the ITU Telecom Asia 2004 event in Korea, indicated that the convergence of mobile handsets with other digital devices could have a major impact on the markets for both digital still cameras and video cameras. Convergence will eventually combine phone, camera, video camera, music and other features. 95% of respondents said that it was either very likely or somewhat likely (73% and 22% respectively) that consumers will eventually choose a single converged 3G device over multiple devices. Of these, 72% expect to see the transition within the next two years and 24% within 3-5 years. Of the functions available in new 3G handsets, respondents stated that video telephony (41%), TVNideo on demand (23%) and video or photo mailing (20%) were the most important. EarthCam Mobile, a wireless Java application with an online companion site enables people to view webcams from around the world, including traffic and weather cams, on a mobile phone.
SK Telecom in Korea already offers on-demand video programming, and plans to offer 39 digital video channels delivered via satellite. NTT DoCoMo is in trials for streaming television broadcasts on its 3G FOMA networks. In the US, Sprint PCS launched a streaming video service earlier this month offering television content from stations such as CNN, NBC Universal, FOX Sports and The Weather Channel. A new MMS content service, FanTESStic, the UK's first MMS interactive soap opera broadcast, was launched in September 2004 by Endemol UK, the largest independent TV producer in Britain, together with Opera Telecom, a mobile services provider. FanTESStic consists of 80 comic strip-style episodes delivered over a 16-week period. Mobile users are charged US 90c per episode or US$2.72 for five episodes, with charges appearing on the user's monthly mobile phone bill. Openwave Systems is developing and providing customisable, personalised video messaging for 3G phones, such as personal, celebrity or game video greetings for different people. Users are expected to share popular video clips as MMS messages. Popular applications of streaming video content are expected to be clips of sports highlights and music videos available on demand. Journalists and bloggers (web log users) are expected to use mobile phone video technology to cover news stories live from the scene.
12.4.2 Mobile TV Broadcast Services
Mobile TV provides a new channel for existing media players while, for mobile operators, it provides a value-enhanced service and increased revenue per user. The British Broadcasting Corporation believes that IP-based broadcasting, delivered via numerous access devices, will become increasingly important, and that convergence will increasingly separate content from delivery. Leading mobile phone manufacturers Motorola, NEC, Nokia, Siemens and Sony Ericsson are co-operating to develop mobile broadcast services. In 2003, NEC developed the world's first working prototype of a mobile phone capable of receiving terrestrial digital TV broadcasting. Mobile phone TV services are being introduced on the Japanese market while the European market for commercial mobile broadcast services is envisaged to start opening up towards the end of 2005. In the United States, MobiTV is a live TV streaming service for mobile phones developed by Idetic. MobiTV's service is currently available on some Sprint PCS Vision handset models.
12.4.3 Mobile Interactive TV
Interactive TV allows viewers to interact directly with TV broadcasts, to play games, or send messages. Currently, there are over 32 million digital television receivers in use in Europe, of which at least 25 million have interactive capability. The leading mobile interactive TV software and applications server company is Macromedia, which has licensed Macromedia Flash to most interactive television platform providers. Digeo, OpenTV and Motorola are embedding Macromedia Flash Player into their set top boxes. Macromedia also produce Flash Lite, a product for mass-market mobile phones, taking account of processing power, memory and network connectivity issues. Existing online Flash content can be repurposed for access by enabled mobile phones. Macromedia technology is embedded into all new NTT DoCoMo i-mode handsets. The first handsets became available in Japan in May 2003.
12.4.4 Print Opportunities
Printing of digital TV frames such as important sports events. Printing of TV schedules. Printing of interactive TV messages including ads, special offers, competition details and entries. Printing of MMS pay-per-view messages, news and gossip.
12.4.5 Interactivity Opportunities
Interactivity can help to promote the use of value-added services by promoting the use of interactive printed cards as collectables, subscription services and shortcuts to playbacks and MMS messaging.
Referring to
- Click on the 'Dtv' logo to visit the service provider's website.
- Click on each of the 'information' icons to visit each programs information web page.
- Click on the 'envelope' icon to send an email.
Referring to
- Click on the 'Dtv' logo to visit the service provider's website.
- Click on the 'play' icon to play the video.
- Click on the 'email' icon to send the video link to another person.
- Click on the 'archives' icon to visit the video archives web page.
Referring to
The printed video information may be a permission token readable using the sensor module to at least one of: retrieve information associated with the video information from the archive; receive video via the mobile telecommunications device; receive a video file; receive streaming video; initiate payment for the video information; initiate payment for video associated with the video information; select a video channel; select a video source; select a television channel; obtain a copy of the video information; and gain access to a resource. Printing the video information may cause information associated with the video information to be archived. Information associated with the video information may include one or more of: the video information; a visual description of the video information; a video clip; an image of the video information; an interactive description of the video information; contents of the video information; a video stream; a video track; a video channel; recorded video; synthesized video; an animation; a video effect; a video source; a television channel; a television station; and video information details. The video information may include at least one of: television program information; movie information; lyrics; words of a song; musical notes; a musical score; a song title; a movie title; a program title; information about a video; a name of a musician; a name of a producer; a name of a director; a name of an actor; and information about a person. The video information may be associated with video played on the mobile telecommunications device.
Claims (8)
Priority Applications (1)
|Application Number
|Priority Date
|Filing Date
|US11/228,506 US7953387B2 (en)
|Retrieving a program via a coded surface
Applications Claiming Priority (1)
|Application Number
|Priority Date
|Filing Date
|US11/228,506 US7953387B2 (en)
|Retrieving a program via a coded surface
Publications (2)
|Publication Number
|Publication Date
|US20070066291A1 US20070066291A1 (en)
|US7953387B2 true US7953387B2 (en)
Family Applications (1)
|Application Number
|Priority Date
|Filing Date
|US11/228,506 Expired - Fee Related US7953387B2 (en)
|Retrieving a program via a coded surface
Country Status (1)
|US7953387B2 (en)
Families Citing this family (3)
|Publication number
|Priority date
|Publication date
|US20100306318A1 (en) *
|Sfgt Inc.
|Apparatuses, methods, and systems for a graphical code-serving interface
|US20080195456A1 (en)
|Dudley Fitzpatrick
|Apparatuses, Methods and Systems for Coordinating Personnel Based on Profiles
|KR20120058763A (en) *
|Apparatus and method for transmitting video data in video device
Citations (42)
|Publication number
|Priority date
|Publication date
|WO1998020444A1 (en)
|Computer Identics Corporation
|Barcode position detecting system
|US6115508A (en)
|Matsushita Electric Industrial Co., Ltd.
|Clock free two-dimensional barcode and method for printing and reading the same
|US20020082931A1 (en)
|Siegel Brian M.
|Method and system for performing electronic retailing
|US20020117549A1 (en)
|Martin Lee
|Barcode-readable computer mouse
|US20020181010A1 (en)
|Pineau Richard A.
|Method and apparatus for printing remote images using a mobile device and printer
|US20030019935A1 (en)
|Giannulli Thomas Christophar
|System and method for requesting and retrieving contact information via an encoded business card
|EP1291786A2 (en)
|Xerox Corporation
|Method and apparatus for controlling document service requests using a mobile computing device
|US6540319B1 (en)
|Silverbrook Research Pty Ltd
|Movement sensor in a micro electro-mechanical device
|US20030074312A1 (en) *
|White Craig R.
|Centralized billing credit system utilizing a predetermined unit of usage
|US20030103239A1 (en)
|Kia Silverbrook
|Method and system for instruction of a computer using sensor with identifier
|US6720985B1 (en)
|Silverbrook Research Pty Ltd
|Method and system for object selection
|US6766363B1 (en)
|Barpoint.Com, Inc.
|System and method of linking items in audio, visual, and printed media to related information stored on an electronic network using a mobile device
|US20040199424A1 (en)
|Silverbrook Research Pty Ltd
|Dynamic user registration
|US20050010663A1 (en)
|Tatman Lance A.
|Systems and methods for physical location self-awareness in network connected devices
|US6854821B2 (en)
|Anoto Ab
|Systems and methods for printing by using a position-coding pattern
|US20050047243A1 (en)
|Hin Chee Chong
|Media sensing via digital image processing
|US20050063007A1 (en)
|Kia Silverbrook
|Interactive printer
|US20050062769A1 (en)
|Kia Silverbrook
|Printer cellular phone
|US20050138361A1 (en)
|Mart Saarepera
|System and method for generating a digital certificate
|US20050145700A1 (en)
|Kia Silverbrook
|Mobile phone with swipe printer
|US6916128B1 (en)
|Zih Corp.
|Printer attachable to various models and types of portable devices and terminals for operation therewith
|US20050200637A1 (en)
|Silverbrook Research Pty Ltd
|Method of printing a voucher based on geographical location
|US20050242963A1 (en)
|Applera Corporation
|Sample carrier device incorporating radio frequency identification, and method
|US20050265634A1 (en) *
|Fuji Photo Film Co., Ltd.
|Image transmission apparatus, image processing apparatus, image processing system, and image transmission program storage medium
|US20050270569A1 (en) *
|Canon Kabushiki Kaisha
|Printing apparatus
|US20060043165A1 (en)
|Microsoft Corporation
|Reader application markup language schema
|US20060078218A1 (en) *
|Fuji Photo Film Co., Ltd.
|Image correction apparatus, image correction program storage medium, image correction method, and image correction system
|US20060106670A1 (en)
|Simin Cai
|System and method for interactively and progressively determining customer satisfaction within a networked community
|US20060255248A1 (en)
|Eliasson Jonas O P
|System and a method of determining the position of a radiation emitting element
|US20070018820A1 (en)
|Rockwell Automation Technologies, Inc.
|Mobile RFID reader with integrated location awareness for material tracking and management
|US20070102521A1 (en)
|Urban Petersson
|Method and system for using barcoded contact information for compatible use with various software
|US20070272738A1 (en)
|Berkun Kenneth A
|Systems and Methods for Generating, Reading and Transferring Identifiers
|US20080075333A1 (en)
|Anoto Ab, C/O C. Technologies Ab,
|Information management system with authenticity check
|US7369265B1 (en)
|Silverbrook Research Pty Ltd
|Printer with code sensor
|US20080189594A1 (en) *
|Format Dynamics, Llc
|Method and system for creating a digital document altered in response to at least one event
|US20080214146A1 (en) *
|Lincoln Larry A
|Block-Based Encoding and Decoding Information Transference System and Method
|US7427015B2 (en)
|Silverbrook Research Pty Ltd
|System for enabling competition entry via label
|US7493336B2 (en)
|International Business Machines Corporation
|System and method of updating planogram information using RFID tags and personal shopping device
|US20090271527A1 (en)
|Aol Llc, A Delaware Limited Liability Company
|Caching signatures
|US7654444B2 (en)
|Silverbrook Research Pty Ltd
|Reusable sticker
|US7697714B2 (en)
|Silverbrook Research Pty Ltd
|Associating an object with a sticker and a surface
|US7724399B2 (en)
|Silverbrook Research Pty Ltd
|Method of downloading and installing a software object
- 2005-09-19 US US11/228,506 patent/US7953387B2/en not_active Expired - Fee Related
Patent Citations (43)
|Publication number
|Priority date
|Publication date
|US6115508A (en)
|Matsushita Electric Industrial Co., Ltd.
|Clock free two-dimensional barcode and method for printing and reading the same
|US20090271527A1 (en)
|Aol Llc, A Delaware Limited Liability Company
|Caching signatures
|WO1998020444A1 (en)
|Computer Identics Corporation
|Barcode position detecting system
|US20050062769A1 (en)
|Kia Silverbrook
|Printer cellular phone
|US7427015B2 (en)
|Silverbrook Research Pty Ltd
|System for enabling competition entry via label
|US20050063007A1 (en)
|Kia Silverbrook
|Interactive printer
|US6540319B1 (en)
|Silverbrook Research Pty Ltd
|Movement sensor in a micro electro-mechanical device
|US6720985B1 (en)
|Silverbrook Research Pty Ltd
|Method and system for object selection
|US20030103239A1 (en)
|Kia Silverbrook
|Method and system for instruction of a computer using sensor with identifier
|US20060012827A1 (en)
|Silverbrook Research Pty Ltd
|System for capturing information from a printed document
|US7369265B1 (en)
|Silverbrook Research Pty Ltd
|Printer with code sensor
|US20080075333A1 (en)
|Anoto Ab, C/O C. Technologies Ab,
|Information management system with authenticity check
|US6766363B1 (en)
|Barpoint.Com, Inc.
|System and method of linking items in audio, visual, and printed media to related information stored on an electronic network using a mobile device
|US6854821B2 (en)
|Anoto Ab
|Systems and methods for printing by using a position-coding pattern
|US20020082931A1 (en)
|Siegel Brian M.
|Method and system for performing electronic retailing
|US20020117549A1 (en)
|Martin Lee
|Barcode-readable computer mouse
|US20020181010A1 (en)
|Pineau Richard A.
|Method and apparatus for printing remote images using a mobile device and printer
|US20030019935A1 (en)
|Giannulli Thomas Christophar
|System and method for requesting and retrieving contact information via an encoded business card
|EP1291786A2 (en)
|Xerox Corporation
|Method and apparatus for controlling document service requests using a mobile computing device
|US20030074312A1 (en) *
|White Craig R.
|Centralized billing credit system utilizing a predetermined unit of usage
|US6916128B1 (en)
|Zih Corp.
|Printer attachable to various models and types of portable devices and terminals for operation therewith
|US20050145700A1 (en)
|Kia Silverbrook
|Mobile phone with swipe printer
|US20080214146A1 (en) *
|Lincoln Larry A
|Block-Based Encoding and Decoding Information Transference System and Method
|US20060255248A1 (en)
|Eliasson Jonas O P
|System and a method of determining the position of a radiation emitting element
|US20040199424A1 (en)
|Silverbrook Research Pty Ltd
|Dynamic user registration
|US20050200637A1 (en)
|Silverbrook Research Pty Ltd
|Method of printing a voucher based on geographical location
|US20050010663A1 (en)
|Tatman Lance A.
|Systems and methods for physical location self-awareness in network connected devices
|US7493336B2 (en)
|International Business Machines Corporation
|System and method of updating planogram information using RFID tags and personal shopping device
|US20050047243A1 (en)
|Hin Chee Chong
|Media sensing via digital image processing
|US20080189594A1 (en) *
|Format Dynamics, Llc
|Method and system for creating a digital document altered in response to at least one event
|US20050138361A1 (en)
|Mart Saarepera
|System and method for generating a digital certificate
|US20050242963A1 (en)
|Applera Corporation
|Sample carrier device incorporating radio frequency identification, and method
|US20050265634A1 (en) *
|Fuji Photo Film Co., Ltd.
|Image transmission apparatus, image processing apparatus, image processing system, and image transmission program storage medium
|US20060078218A1 (en) *
|Fuji Photo Film Co., Ltd.
|Image correction apparatus, image correction program storage medium, image correction method, and image correction system
|US20050270569A1 (en) *
|Canon Kabushiki Kaisha
|Printing apparatus
|US20060043165A1 (en)
|Microsoft Corporation
|Reader application markup language schema
|US20060106670A1 (en)
|Simin Cai
|System and method for interactively and progressively determining customer satisfaction within a networked community
|US20070272738A1 (en)
|Berkun Kenneth A
|Systems and Methods for Generating, Reading and Transferring Identifiers
|US20070018820A1 (en)
|Rockwell Automation Technologies, Inc.
|Mobile RFID reader with integrated location awareness for material tracking and management
|US7654444B2 (en)
|Silverbrook Research Pty Ltd
|Reusable sticker
|US7697714B2 (en)
|Silverbrook Research Pty Ltd
|Associating an object with a sticker and a surface
|US7724399B2 (en)
|Silverbrook Research Pty Ltd
|Method of downloading and installing a software object
|US20070102521A1 (en)
|Urban Petersson
|Method and system for using barcoded contact information for compatible use with various software
Also Published As
|Publication number
|Publication date
|US20070066291A1 (en)
Similar Documents
|Publication Date
|US9082115B1 (en)
|Communication device
|US9692914B2 (en)
|Devices and method for tagging media
|US9549150B1 (en)
|Communication device
|US8774780B2 (en)
|System and method for providing mobile device services using SMS communications
|US8374639B2 (en)
|System and method for providing mobile device services using SMS communications
|US7289110B2 (en)
|Method and arrangement for identifying and processing commands in digital images, where the user marks the command, for example by encircling it
|US7901031B2 (en)
|Mobile telecommunications device with printhead and a printhead capper
|US8118395B2 (en)
|Mobile device with a printhead and a capper actuated by contact with the media to be printed
|US7900842B2 (en)
|Mobile telecommunications device with image sensor directed internally and externally
|US6741871B1 (en)
|Mobile phone with interactive printer
|US7562973B2 (en)
|Mobile device with battery between input interface and print media cartridge
|US7607774B2 (en)
|Mobile telecommunication device with a printhead and single media feed roller
|CN101253469B (en)
|Image forming apparatus, mobile device, and control method therefor
|US7877111B2 (en)
|Mobile device for enabling interaction with a printed email document
|US8277028B2 (en)
|Print assembly
|JP4233259B2 (en)
|Information provision system using code information
|US8016414B2 (en)
|Drive mechanism of a printer internal to a mobile phone
|Mobile Vas
|US7961364B2 (en)
|Method of determining rotational orientation of coded data on print medium
|US8057032B2 (en)
|Mobile printing system
|US7770995B2 (en)
|Mobile telecommunications device with media edge detection
|US7962172B2 (en)
|Print onto a print medium taking into account the orientation of previously printed content
|US8009321B2 (en)
|Determine movement of a print medium relative to a mobile device
|US8832815B2 (en)
|Accessory based data distribution
|US7431449B2 (en)
|Mobile telecommunications device with interactive paper sensor
Legal Events
Owner name: SILVERBROOK RESEARCH PTY LTD, AUSTRALIA
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SILVERBROOK, KIA;LAPSTUN, PAUL;REEL/FRAME:017001/0967
Effective date: 20050913
|Maintenance fee reminder mailed
|Lapse for failure to pay maintenance fees
|Information on status: patent discontinuation
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362
|Expired due to failure to pay maintenance fee
Effective date: 20150531