-
2016-02-02
14/664,063
2015-03-20
US 9,250,712 B1
2016-02-02
-
-
Seung Lee
Additon, Higgins & Pendleton, P.A.
2035-03-20
Smart Summary: A smartphone application allows users to scan barcodes while using other apps at the same time. It features a special input panel that includes a button for scanning and a tool that converts barcode data into keyboard strokes. When the app is activated, it replaces the input panel with a viewfinder for scanning barcodes. After scanning, the app decodes the barcode and sends the information as keyboard strokes to another app that is still open on the phone. This means users can easily scan barcodes across different applications without needing to switch between them. 🚀 TL;DR
A barcode scanning application is provided for a smartphone. The barcode scanning application includes a custom software input panel, which includes a barcode scanning key and a keyboard wedge capable of translating barcode data into keyboard strokes. The barcode scanning application, once initialized, is configured to cause the custom software input panel to be removed from the first portion of the visual display and to open a barcode viewfinder on the portion of the visual display previously occupied by the custom software input panel. The barcode scanning application is configured to scan a barcode in the viewfinder, close the viewfinder, decode the scanned barcode, and send the barcode information to the keyboard wedge. The keyboard wedge is configured to translate the decoded barcode information into keyboard strokes and send the keyboard strokes for displayed within a different application running and displayed continuously on the second portion of the visual display.
Get notified when new applications in this technology area are published.
G06F3/0238 » CPC main
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; Input arrangements or combined input and output arrangements for interaction between user and computer; Input arrangements using manually operated switches, e.g. using keyboards or dials; Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes Programmable keyboards
G06K7/10 IPC
Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
G06F3/023 IPC
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; Input arrangements or combined input and output arrangements for interaction between user and computer; Input arrangements using manually operated switches, e.g. using keyboards or dials Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
The present invention relates to barcode scanning and smart devices and in particular, to the ability to scan barcodes while running other application on a smart device.
Generally speaking, there are many smartphone applications that require the ability to scan a barcode. In order to add this functionality to their application (app), developers quite frequently rely on a 3rd party software development kits to add this functionality directly within their application. The functionality gives the smartphone user access to barcode scanning only from within that particular application. If a user wants a universal method of scanning barcodes across all their applications, usually, this is not available.
Sometimes a keyboard wedge style application is used to facilitate universal scanning in any application. A keyboard wedge can be either a software program or an inserted hardware device that translates digital signals from a barcode reader or a magnetic strip reader into keyboard strokes for a smart device or a computer. The software form of a keyboard wedge intercepts the digital signals from the reader when they arrive at the computer and instantly translates them into keyboard strokes. The hardware form of a keyboard wedge inserts the translation device between the reader and the keyboard. Data sent through a wedge appears as if it was typed into the computer, while the keyboard itself remains fully functional. Because a computer or smartphone using a keyboard wedge can't tell the difference between data that is entered by a scanning device or data that is entered by keyboard typing, a wedge can be used to easily add barcode reading capability to an existing device without modifying software applications.
A keyboard wedge-style application can be used to facilitate universal scanning in any application by keeping a background service running that responds to a particular key press. When the service detects this key press, it brings up the barcode scanner and inserts the resultant scan data into the keyboard buffer so that is it inserted at the cursor as text in whichever application has focus at the moment. This is usually a somewhat clumsy operation, as it requires a scan wedge application to first be started and running in the background. The user also needs to be aware of the hardware button that will trigger a scan event.
Today, many smartphone operating systems allow you to create custom software keyboards (soft input panels) which are sometimes used to add a barcode scanning button and scan wedge functionality. When the custom keyboard is loaded, if the user wants to enter barcode data into a text field, the user simply opens the software keyboard, hits the scanner button, scans the barcode, and the result is placed in the text field. However, when the scanning trigger occurs, the application loses context, that is the running application is no longer displayed, while the barcode scanner preview screen is displayed. This might worry some users that the application they were just in was closed and that they possibly lost their data.
Therefore, a need exists for a method and an application to scan and decode a barcode on a smartphone without losing context of a running application.
Accordingly, in one aspect, the present invention embraces a barcode scanning application for a smartphone. In general, the smartphone has an embedded camera, a visual display, and an operating system. The operating system communicatively couples the embedded camera and the visual display.
In an exemplary embodiment, the barcode scanning application comprises a custom software input panel. The custom software input panel is provided with a barcode scanning key. The custom software input panel occupies a first portion of the visual display of the smartphone. The barcode scanning application further is provided with a keyboard wedge capable of translating barcode data into keyboard strokes. The barcode scanning application is communicatively coupled through the operating system to the embedded camera, the keyboard wedge and the custom software input panel. The barcode scanning application is configured to operate while a different application is running and being displayed continuously on a second portion of the visual display. The custom software input panel is configured to initiate the barcode scanning application when the barcode scanning key is touched. The barcode scanning application, once initialized, is configured to cause the custom software input panel to be removed from the first portion of the visual display and to open the barcode viewfinder on the portion of the visual display previously occupied by the custom software input panel. The barcode scanning application is further configured to scan a barcode in the viewfinder, then close the viewfinder, decode the scanned barcode, and send the barcode information to the keyboard wedge. The keyboard wedge is configured to translate the decoded barcode information into keyboard strokes and to send the keyboard strokes to be displayed within the different application running and displayed continuously on the second portion of the visual display.
In another exemplary embodiment of the invention, the keyboard wedge is a software program, and is an integral part of the custom software input panel.
In another exemplary embodiment of the invention, the keyboard wedge is a hardware device incorporated into the smartphone.
In yet another exemplary embodiment of the invention, the barcode scanning application is further configured to re-display the custom software input panel after closing the viewfinder.
In still another exemplary embodiment of the invention, the first portion of the visual display occupies less than 50% of the visual display.
In yet a further exemplary embodiment of the invention, causing the custom software input panel to be removed from the first portion of the visual display is accomplished by minimizing the custom software input panel.
In another embodiment of the invention, causing the custom software input panel to be removed from the first portion of the visual display is accomplished by closing the custom software input panel.
In another exemplary embodiment of the barcode scanning application, a smart phone is provided having an embedded camera, a visual display, and an operating system, the operating system communicatively coupling the embedded camera and the visual display. The barcode scanning application includes a custom software input panel. The custom software input panel is provided with a barcode scanning key. The custom software input panel occupies a first portion of the visual display. The custom input panel is communicatively coupled through the operating system to the embedded camera. The barcode scanning application also includes a keyboard wedge capable of translating barcode data into keyboard strokes. The keyboard wedge is an integral part of the custom software input panel. The keyboard wedge is configured to control a barcode scanning operation. The custom software input panel is configured to initiate the barcode scanning operation when the barcode scanning key is touched. The keyboard wedge is configured to operate the barcode scanning operation while a different application is running and being displayed continuously on a second portion of the visual display. The custom software input panel, upon initiating barcode scanning, is configured to minimize and to open a barcode viewfinder on the first portion of the visual display previously occupied by the custom software input panel. The keyboard wedge is configured to scan a barcode in the barcode viewfinder, close the viewfinder, decode the scanned barcode, translate the decoded barcode information into keyboard strokes, and to send the keyboard strokes to be displayed within the different application running and displayed continuously on the second portion of the visual display.
The barcode scanning application of claim 16, wherein the keyboard wedge is further configured to re-display the custom software input panel after closing the viewfinder.
In another aspect, the invention embraces a method of scanning a barcode with a smartphone while continuously running and displaying an application on a first portion of a smartphone visual display. The smartphone is provided with a user interface panel occupying a second portion of the smartphone visual display. The smartphone is further provided with barcode scanning software, a viewfinder, and an embedded camera. The barcode scanning software, the viewfinder, the embedded camera, the user interface panel, and the visual display are communicatively coupled. The method of the present invention is comprised of the following steps: i. initiating barcode scanning via the user interface panel while an application is running and being displayed on the first portion of the smartphone visual display, ii. removing the user interface panel from the second portion of the smartphone visual display, iii. opening a barcode scanning viewfinder on the second portion of the smartphone visual display previously occupied by the user interface panel, iv. routing the embedded camera video feed to the barcode scanning viewfinder, v. locating a barcode in the barcode scanning viewfinder, vi. scanning the barcode, vii. decoding the barcode, viii. closing the viewfinder, ix. translating the decoded barcode data into keyboard strokes, and x. displaying decoded barcode information on the first portion of the smartphone visual display within the running application.
In another exemplary embodiment of the method of the invention, the user interface panel is a custom software input panel. The custom software input panel is provided with a barcode scanning key. The initiating step is accomplished by touching the barcode scanning key.
In another exemplary embodiment of the method of the invention, the user interface panel is provided with voice command capability, and the initiating step is accomplished by a voice command.
In yet another exemplary embodiment of the invention, the method further comprises the step of re-displaying the custom software input panel to occupy the second portion of the smartphone visual display after the closing the viewfinder step.
In another exemplary embodiment of the invention, the decoding step is accomplished at a remote location. The remote location is wirelessly enabled and in communication with the smartphone. The method further comprises the steps of transmitting the scanned barcode image to a remote location before the decoding step, and transmitting decoded barcode information back to the smartphone after the decoding step.
In still a further exemplary embodiment of the invention, the smartphone is provided with a keyboard wedge. The keyboard wedge is communicatively coupled to the barcode scanning software. The translating step is accomplished by the keyboard wedge.
In another exemplary embodiment, the removing step is accomplished by closing the user interface.
In yet a further exemplary embodiment of the invention, the removing step is accomplished by minimizing the user interface.
The foregoing illustrative summary, as well as other exemplary objectives and/or advantages of the invention, and the manner in which the same are accomplished, are further explained within the following detailed description and its accompanying drawings.
FIG. 1 schematically depicts a smartphone with components, which allow the application of the invention to operate.
FIG. 2a-2c schematically depict the smartphone with the barcode scanning application in operation.
FIG. 3 schematically depicts a smartphone with components for another exemplary embodiment of the barcode scanning application of the invention.
FIG. 4 schematically depicts the method of scanning a barcode with a smartphone of the present invention.
The present invention embraces a barcode scanning application for a smartphone.
In an exemplary embodiment, referring to FIG. 1, a smartphone (10) is provided with a visual display (11), an operating system (20), and an embedded camera (17). A system bus (21), in cooperation with the operating system (20) communicatively couples the embedded camera (17) and the visual display (11). The smartphone (10), in connection with the barcode scanning application (19), is provided with a custom software input panel (12) which can be displayed on the visual display (11). A keyboard wedge (18) is provided with the barcode scanning application (19) to translate barcode data into keystrokes which appear on the visual display (11) in a running application. The keyboard wedge (18), barcode scanning application (19), and the custom software input panel (12) are communicatively linked to each other and to other smartphone (10) components via the system bus (21) and the operating system (20). The smartphone (10) is also provided with a viewfinder (15) which can be displayed on the visual display (11).
The keyboard wedge (18) can translate decoded barcode information into keystrokes, which are then displayed in an application running on the visual display (11). Keyboard wedges can be software programs or can be hardware installed on the smartphone (10). Preferably, the keyboard wedge (18) is software and is an integral part of the custom software input (12) panel. Most preferably, the keyboard wedge (18) controls the barcode scanning operation.
The custom software input panel (12) is preferably designed to take up less than 50% of the visual display (11) when the custom software input panel is open, although a greater portion is possible. The custom software input panel (12) is provided with a barcode scanning key, not shown in FIG. 1.
Referring to FIGS. 2a, 2b, and 2c, the smartphone (10) of FIG. 1 is further depicted with the barcode scanning application (19) in use.
In an exemplary embodiment, the smartphone (10) is illustrated with a visual display (11). The visual display has a first portion (11a) and a second portion (11b). The first portion (11a) is occupied by a custom software input panel (12). On the custom software input panel (12) is a barcode scanning key (13). The second portion (11b) of the visual display (11) is occupied by a running application (14), designated by the lined screen and the words “Hello testing testing”.
When the barcode scanning key (13) is pressed by a user of the smartphone (10), the visual display (11) changes from that of FIG. 2a, to that of FIG. 2b. Referring now to FIG. 2b, a barcode viewfinder (15) has replaced the custom software input panel (12) of FIG. 2a on the first portion (11a) of the visual display (11). The barcode scanning application (19) of FIG. 1 is initialized with the press of the barcode scanning key (13) and subsequently scans and decodes the barcode (22) in the viewfinder (15).
Referring now to FIG. 2c, the keyboard wedge has taken the decoded barcode information and translated the information into keyboard strokes (16) which appear in the running application (14); the decoded barcode information translated into keyboard strokes (16) appears on the visual display (11) as the words “This is my QR Code, like it?”. In FIGS. 2a, 2b, and 2c, the running application (14) has continuously been displayed on the second portion (11b) of the visual display (11) during the entire the barcode scanning operation.
In another exemplary embodiment, the custom software input panel (12) may be minimized when the barcode scanning key (13) is pressed. Alternatively, in another exemplary embodiment, the custom software input panel (12) may be closed when the barcode scanning key (13) is pressed.
In another exemplary embodiment, the custom software input panel (12) may be re-opened or re-displayed on the first portion (11a) of the visual display (11) after the barcode (22) is scanned.
The smartphone (10) may be provided with other features and capabilities not shown or described here. For example, in another exemplary embodiment, the smartphone (10) is provided with means for wireless communication. The scanned barcode image may be transmitted via the means for wireless communications to a remote location for decoding, and then the decoded information may be transmitted back to the smartphone (10) wherein the keyboard wedge (18) captures the decoded information, translates it into keyboard strokes (16), and causes it to be displayed in the running application (15).
Referring now to FIG. 3, in another exemplary embodiment, a smartphone (10) is provided with components similar to those in FIG. 1 described hereinbefore. However in the present embodiment, the keyboard wedge (18) is resident as an integral part of the custom software input panel (12). The keyboard wedge (18) controls the barcode scanning operation. The custom software input panel (12) and keyboard wedge (18) cooperate as shown in FIGS. 2a-2c to initiate and run a barcode scanning operation on the lower portion (11a) of the visual display (11) while continuously running and displaying another application on the upper portion (11b) of the visual display (11).
The present invention also embraces a method of scanning a barcode with a smartphone while continuously running and displaying another application on the smartphone. Referring to FIG. 4, in an exemplary embodiment, the method (30) of scanning a barcode with a smartphone while continuously running and displaying an application on the smartphone visual display is illustrated with a flowchart. Generally the smartphone of the method is the same as has been described hereinbefore in connection with FIG. 1 or FIG. 3 and as shown in operation in FIGS. 2a-2c.
In an exemplary embodiment, the method (30) is comprised of the steps of: (31) initiating barcode scanning via the user interface panel while an application is running and being displayed on the first portion of the smartphone visual display; (32) removing the user interface panel from the second portion of the smartphone visual display; (33) opening a barcode scanning viewfinder on the second portion of the smartphone visual display previously occupied by the user interface panel; (34) routing the embedded camera video feed to the barcode scanning viewfinder; (35) locating a barcode in the barcode scanning viewfinder; (36) scanning the barcode; (37) decoding the barcode; (38) closing the viewfinder; (39) translating the decoded barcode data into keyboard strokes; and (40) displaying decoded barcode information on the first portion of the smartphone visual display within the running application.
In another exemplary embodiment, the method (30) further comprises the optional step of (43) re-displaying the custom software input panel to occupy the second portion of the visual display after the viewfinder is closed in the (38) closing step.
In yet another exemplary embodiment, the (37) decoding step is accomplished at a remote location. Most if not all smartphones are equipped with wireless communication capabilities. The scanned barcode image can be transmitted to a remote location for decoding and then the information transmitted back to the smartphone for display. In this exemplary embodiment, the method (30) further comprises the steps of: (41) transmitting the scanned barcode image to a remote location after the (36) scanning step, and (42) retransmitting the decoded information back to the smartphone after the (37) decoding step.
In the exemplary embodiments of the method (30) described hereinbefore and depicted schematically in FIG. 3, an application continuously runs and is displayed on a portion of the visual display of the smartphone. A custom software input panel, which includes a barcode scanning key has been provided on the smartphone. This custom software input panel, when accessed, occupies only a portion of the visual display, such that the running application is still displayed. When the barcode key is pressed, the barcode scanning application is initialized. The custom software input panel on the visual display is removed, minimized or closed, and replaced with a barcode viewfinder, while the running application remains running and displayed on a portion of the visual display. The user locates and scans a barcode in the viewfinder. The barcode scanning application decodes the barcode. The keyboard wedge takes the decoded information, translates it into keyboard strokes, and displays it in the running application on the visual display.
To supplement the present disclosure, this application incorporates entirely by reference the following commonly assigned patents, patent application publications, and patent applications:
In the specification and/or figures, typical embodiments of the invention have been disclosed. The present invention is not limited to such exemplary embodiments. The use of the term “and/or” includes any and all combinations of one or more of the associated listed items. The figures are schematic representations and so are not necessarily drawn to scale. Unless otherwise noted, specific terms have been used in a generic and descriptive sense and not for purposes of limitation.
1. A barcode scanning application for a smartphone, the smart phone having an embedded camera, a visual display, and an operating system, the operating system communicatively coupling the embedded camera and the visual display; the barcode scanning application comprising:
a custom software input panel, the custom software input panel being provided with a barcode scanning key; the custom software input panel occupying a first portion of the visual display;
a keyboard wedge capable of translating barcode data into keyboard strokes;
the barcode scanning application being communicatively coupled through the operating system to the embedded camera, the keyboard wedge and the custom software input panel; the barcode scanning application being configured to operate while a different application is running and being displayed continuously on a second portion of the visual display;
the custom software input panel being configured to initiate the barcode scanning application when the barcode scanning key is touched;
the barcode scanning application, once initialized, being configured to cause the custom software input panel to be removed from the first portion of the visual display and to open a barcode viewfinder on the portion of the visual display previously occupied by the custom software input panel;
the barcode scanning application being configured to scan a barcode in the viewfinder, close the viewfinder, decode the scanned barcode, and send the barcode information to the keyboard wedge; and
the keyboard wedge being configured to translate the decoded barcode information into keyboard strokes, and to send the keyboard strokes to be displayed within the different application running and displayed continuously on the second portion of the visual display.
2. The barcode scanning application of claim 1, wherein the keyboard wedge is a software program, the keyboard wedge being an integral part of the custom software input panel.
3. The barcode scanning application of claim 1, wherein the keyboard wedge is a hardware device incorporated into the smartphone.
4. The barcode scanning application of claim 1, wherein the barcode scanning application is further configured to re-display the custom software input panel after closing the viewfinder.
5. The barcode scanning application of claim 1, wherein the first portion of the visual display occupies less than 50% of the visual display.
6. The barcode scanning application of claim 1, wherein causing the custom software input panel to be removed from the first portion of the visual display is accomplished by minimizing the custom software input panel.
7. The barcode scanning application of claim 1, wherein causing the custom software input panel to be removed from the first portion of the visual display is accomplished by closing the custom software input panel.
8. A method of scanning a barcode with a smartphone while continuously running and displaying an application on a first portion of a smartphone visual display, the smartphone being provided with a user interface panel occupying a second portion of the smartphone visual display, the smartphone being provided with barcode scanning software, a viewfinder, and an embedded camera; the barcode scanning software, the viewfinder, the embedded camera, the user interface panel, and the visual display being communicatively coupled; the method comprising:
i. Initiating barcode scanning via the user interface panel while an application is running and being displayed on the first portion of the smartphone visual display;
ii. Removing the user interface panel from the second portion of the smartphone visual display;
iii. Opening a barcode scanning viewfinder on the second portion of the smartphone visual display previously occupied by the user interface panel;
iv. Routing the embedded camera video feed to the barcode scanning viewfinder;
v. Locating a barcode in the barcode scanning viewfinder;
vi. Scanning the barcode;
vii. Decoding the barcode;
viii. Closing the viewfinder;
ix. Translating the decoded barcode data into keyboard strokes; and
x. Displaying decoded barcode information on the first portion of the smartphone visual display within the running application.
9. The method of claim 8, wherein the user interface panel is a custom software input panel, the custom software input panel having a barcode scanning key; and the initiating step being accomplished by touching the barcode scanning key.
10. The method of claim 8, wherein the user interface panel is provided with voice command capability; and the initiating step is accomplished by a voice command.
11. The method of claim 8, further comprising re-displaying the custom software input panel to occupy the second portion of the smartphone visual display after the closing the viewfinder step.
12. The method of claim 8, wherein the decoding step is accomplished at a remote location, the remote location being wireless enabled and in communication with the smartphone; the method further comprising the steps of transmitting the scanned barcode image to a remote location before the decoding step; and transmitting decoded barcode information back to the smartphone after the decoding step.
13. The method of claim 8, wherein the smartphone is further provided with a keyboard wedge, the keyboard wedge being communicatively coupled to the barcode scanning software; and wherein the translating step is accomplished by the keyboard wedge.
14. The method of claim 8, wherein the removing step is accomplished by closing the user interface.
15. The method of claim 8, wherein the removing step is accomplished by minimizing the user interface.
16. A barcode scanning application for a smartphone, the smart phone having an embedded camera, a visual display, and an operating system, the operating system communicatively coupling the embedded camera and the visual display; the barcode scanning application comprising:
a custom software input panel, the custom software input panel being provided with a barcode scanning key; the custom software input panel occupying a first portion of the visual display, the custom input panel being communicatively coupled through the operating system to the embedded camera;
a keyboard wedge capable of translating barcode data into keyboard strokes, the keyboard wedge being an integral part of the custom software input panel, the keyboard wedge configured to control a barcode scanning operation;
the custom software input panel being configured to initiate the barcode scanning operation when the barcode scanning key is touched;
the keyboard wedge being configured to operate the barcode scanning operation while a different application is running and being displayed continuously on a second portion of the visual display;
the custom software input panel, upon initiating barcode scanning, being configured to minimize and to open a barcode viewfinder on the first portion of the visual display previously occupied by the custom software input panel;
the keyboard wedge being configured to scan a barcode in the barcode viewfinder, close the viewfinder, decode the scanned barcode, translate the decoded barcode information into keyboard strokes, and to send the keyboard strokes to be displayed within the different application running and displayed continuously on the second portion of the visual display.
17. The barcode scanning application of claim 16, wherein the keyboard wedge is further configured to re-display the custom software input panel after closing the viewfinder.