Another way to use QR codes
After reading today a post about QR codes and comments on it, I wondered how else can I use such a convenient tool in everyday life?
In the beginning, I just wanted to write a short description of the technology for readers of my blog, with a few examples. But then an idea was born, which, I hope, will be close to the readers of Habr.
I, like many, really like to keep my finances under control. I try to avoid unnecessary purchases and optimize expenses. But for complete control, often there are not enough good and convenient software tools that allow you to visually keep a budget. Of course, there are a lot of similar programs (I have used my own tables in Excel for a very long time), but they all have one significant drawback - the need to regularly and manually enter a huge amount of data. Usually, this ends with the fact that the tables gradually become incomplete, and then, their maintenance is completely stopped.
However, this problem can be solved comprehensively using these cashier checks:
How it will work
The first step is printing on the checks of QR codes. Since it is not practical to enter the complete list of purchases on the check, I suggest placing one single link in the code. An XML file containing a structured shopping list with dates, prices, and the number of purchases will be located at the link address. The link will look like " domainname [long random string]". Naturally, the cash register in this case, in addition to printing the code itself, must upload information to the server.
The second stage is the creation of a special mobile application that can scan a QR code and download a shopping list from the server. Also, it will be possible to use the “desktop” application, with a scanner or webcam, to receive data.
Thus, instead of entering information independently, we will need only a few keystrokes on the keys of the phone or computer.
In the case of implementing such a system, the user will be able to create a variety of reports, because the check contains not only a list of goods, but also the price per unit of goods in a particular store. It will be possible to control the volume of consumption of products, since the receipt contains information on the quantity and volume. And all this will not be necessary to enter manually.
By itself, the check does not have information that the buyer would like to hide (credit card numbers are not completely written on it), therefore, it is not even necessary to “filter out” the information before uploading it to the server. Even if the link string is found by brute force, the attacker will not know who exactly was the buyer. It is also impossible to compile any statistics on these files, since obtaining a large number of checks satisfying certain conditions will be practically impossible.
In addition, you can use the "lifetime" on the server for each check. Usually, a day is more than enough to enter data into the local storage, especially if a mobile phone is used.
Also, using encryption to avoid attempts to intercept data over the network is a good solution.
I think the introduction of such a system will be a good step for manufacturers of software for cash registers. It will become an additional advantage over competitors, and will provide an excellent base for the modernization of a whole class of applications.
And of course, this will be another step towards a meeting with consumers.
upd: For this post in the sandbox, I received an invite from PatapSmile , for which many thanks to him.