Unrelated barcode question, to take advantage of a technical audience with knowledge in such things:
I have a use case where users are trying to scan 2d Pharmaceutical Product barcodes (https://www.gs1.org/docs/healthcare/GS1_Healthcare_Implement...) containing lot number, expiration date, and so on. We're mostly using Realinn 6200 scanners, some bluetooth some hardwired. In my testing, the FNC1 character gets sent to my Mac as '29', and to the warehouse PCs as '↔'. They also have chromebooks in the warehouse, and as far as I can tell the Chromebooks are just dropping the FNC1 character entirely from the barcodes.
I can not figure out how to program the RL6200 scanners to replace FNC1 with another character - only to add/remove a prefix/suffix.
Is this a known issue? Do I need a different scanner which can be programmed to substitute characters? Throw out the chromebooks in favor of Windows machines?
Do you have the scanner set up as a keyboard wedge (USB-HID)? From your description, it sounds like it. Usually when dealing with control characters it's easier to put scanners in virtual COM mode. Although using them as a COM device does carry its own set of issues. I'm more familiar with honeywell and cognex scanners, but quickly browsing the realinn documentation I don't see a character replacement functionality.
Yes, the scanner is operating as a keyboard HID. I'll look into whether virtual COM could work. Will that still let it type into random webapp pages (how I use it now), or does that tie it rigidly to specific applications? (This question is based on this language from the Realinn manual - "9.2 USB virtual COM mode
In USB virtual COM mode, the scanner needs to work with driver and serial software.Expected final behavior is that even if you open up another page, the scanned information will show up in the window of serial software. Please let us know if you need to set it to USB virtual COMmode,we will send you the driver."
I assume that Virtual COM works with both USB and bluetooth?
If you're entering into a webpage, your best bet may be a different scanner. Virtual COM generally ties it to native applications (website COM interfaces are possible, but I'm assuming the website isn't yours to modify).
Another possibility is writing a native app that works like a shim: reading from the COM port and using APIs (e.g. SendKeys on Windows) to re-transmit the characters as keystrokes. But the most robust solution is probably a different scanner.
The website is mine to modify. I wouldn't go to great lengths to change things to support virtual COM, but if it's just a question of adding a few lines of javascript to listen to virtual COM and map to keypress events that would be possible.
I'm not familiar with that scanner, however that sounds like a scanner issue. I haven't had that issue with GS-128 with the couple scanners I & colleagues have tried. I did a google search and in the Amazon reviews there is someone purporting to be from the manufacturer saying to email them to learn how to make it work, with regards to FNC1.
Can you determine what USB HID code(s) the scanner is sending for that? (Perhaps using wireshark, or usbmon on linux, …) Some years ago I worked on ChromeOS keyboard input, and I can probably tell you right away what it'd do with it. Basically, is the USB code in https://source.chromium.org/chromium/chromium/src/+/main:ui/...
We haven't used Chromebooks, sorry. For scanners a number of cheap to pricey ones were tried. On the cheap end I don't have the exact model number but I think it was about $30USD from Netum, as well as using apps in cheaper smart-phones using the built-in camera.
I'd guess it's the scanner though, I don't think those control characters are supposed to be sent.
I've written applications for health care use, in my experience I'd recommend sticking to Honeywell and/or Zebra scanners. They are very popular in healthcare and easy to program, good documentation.
I'd check with your vendor to see if there is a barcode that you can scan to toggle the function code transmit, this is what I did with Honeywell anyway.
(I was trying to figure out how a letter got delivered to an address in GA when the handwritten address was for somewhere in WA. Somehow the barcode did not match the handwritten address at all. It got delivered to the address specified in the bar code - https://ibb.co/Y04q78V)
Sometimes when I get a letter which is for previous residents, I used to sharpie the address, and drop it back in mailbox, it will again appear in my Informed Delivery, there I learned this barcode & cover it too. Just last week a letter from IRS had this code two times, and I covered only one, I missed the other one.
I could rant for hours about USPS planet codes and how busted the backend was a decade ago when I had to integrate our industrial printers and inventory tracking system into it. But it can really be summed up with this: they used local time for timestamps and neglected to record the offset from UTC... you wouldn't believe how many time zones there are in the continental United States. It was almost like the indian reservations had it out for programmers, with their totally capricious clock changes.
I’m torn between using DataMatrix or QR codes on our inventory. They need to be small, easily scanned using a handheld mobile scanner, and slightly damage resistant in case the adhesive label is partially folded or scratched.
Both DataMatrix and QR codes have similar performance in all manners in my limited testing. Are there any clear advantages to one over the other, or am I bikeshedding myself?
I'm a label printer. Data matrix can be smaller depending on how much data you are using. If its customer facing, obviously QR. If you are scanning with an app/scanner, there is little difference in speed. I'm happy to run some prototype labels for you if you want to test out different size/versions (Qr 1-40)/error correction... firstname at midwestlabelsupply.com
I’ve tried a few different rolls from Amazon and the stuff gets stuck on objects and won’t peel off. Is there a supplier that sells the kind of label rolls that will peel off without sticking? What are the terms I should be using to describe this kind of paper? I feel like I’m fumbling around with my language describing this problem.
Using DataMatrix for inventory tracking purposes might make using QR for some different, end user purpose a little easier.
(Or not conflicting the UX with existing purposes of QR on whatever you're inventorying, such as manufacturer/brand's consumer engagement on packaging or the products themselves. "No, not that QR, a different one, somewhere else.")
Personally I like DataMatrix on small parts, and QR codes for more complex data structures and internal user-facing stuff.
An example with QR Code, I made "prefilled" email templates using the mailto: protocol, so let's say you want to report an issue regarding a specific piece of hardware in the office, you can scan the Tech Support QR code and it will prefill the email to send to our tech support email with all its information (hostname, serial number, model, location, etc) and then the client can fill up a small description of the problem before sending. I only do this for hardware that doesn't leave the premises, on laptops I just put a CODE-128 barcode that contains the hostname (also written in plaintext) below the display, and another one on the lid to make the process of taking an inventory quickly when someone is working at their desktop using a docking station with the lid closed.
It saves us some back and forth with our users.
It's a bit of work, but once you have your template it's fairly easy to automate the generation.
I think the key question here is: are you using GS1 identifiers? If not, I don't think it'd make much sense to throw a non-GS1 identifier in there and expect anyone else to be able to use it. Or is this just internal?
Curious that a scanbot service has no mention of the historic POSTNET, PLANET, and now current Intelligent Mail Barcode used in the USofA for mail routing.
It's almost exactly like the old magnetic Wiegand Wire swipe-cards, which align the wires high or low so they go past different read heads.
I've always thought of Wiegand as a 1-d barcode because the displaced wires are just a way of achieving "contrast" and clocking, basically. But I could see the argument breaking down into semantics.
I wish they went into some of the more exotic 2d codes. I found a weird sort of 2d code that consisted of concentric circles with data bits encoded as circular dots along each "track". It was like a weird mix between a Vinyl record and a computer punch card. I've also seen triangular and hex grids used in some encodings. My favorite is the ones that triple the information density by simply printing a different QR code in the red, green, and blue channel (all on top of each other obviously).
I'm never quite sure why some businesses choose to implement these non-standard solutions. Is it a form of vendor lock in? Do they just want something with less of a digital-brutalism aesthetic? Is it an attempt at security through obscurity? All of the above?
The article is only half right about laser scanners and the ability to read 2d codes. In principle it wouldn't be too hard to engineer a laser pattern / data matrix pattern that works. The trivial solution is to just make the laser run in scan lines like an old analog TV, but then the person doing the scan needs to be annoyingly precise in how they point the scanner at the data. If digital cameras and image processing weren't dirt cheap, there would still be visible spectrum 2d data encodings.
> My favorite is the ones that triple the information density by simply printing a different QR code in the red, green, and blue channel (all on top of each other obviously).
My first thoughts are that colors tend to change and degrade over time, and when wet color inks tend to bleed more easily than black ones, I don't see something like this being used in an industrial setting. It seems more like a novelty.
Yeah but we are talking about just 1 bit per color channel (8 colors, 1 for every on/off combination of RGB). I buy that colors bleed and fade, but surely they don't fade to the point where an entire channel disappears.
Yellow will definitely fade to something that is much less perceptible. Since it's a primary color in the CMYK space, this is an issue with any kind of multi-color process printing.
TIL about GiroCode: QR codes for EU SEPA bank info.
I wonder why it is not used in major banking applications. I have manually copypasted IBAN numbers from friends so many times it gets old. I guess scan with a visual check that the numbers are correct before adding account could provide a boost in usability.
Maybe it is not done on purpose so that easier alternatives (like Paylib) are used instead, which may incur a fee while IBAN transferts are free.
I had to install the "Don't F** With Paste" browser extension for when I'm interacting with US banks. They like to make you manually re-type things in hope that you'll make a mistake and it will lead to them assessing one of their $40 fees against you. For that reason you'll never see these codes used in the US. There is big money in human error.
I’ve worked in financial-adjacent industries and this is a very cynical view. Most banks use contractors that specialize in banking who rip off features of the big banks and up sell them on all these “features” such as preventing copy/pasting into a confirm account number field. This type of thing looks good on a proposal, execs eat this shit up because it looks like they are choosing secure products and using “tried and true” methodologies even though it’s a simple JavaScript barrier that does nothing practical. Financial institutions play everything safe because they themselves do not want to get fined and as a result, they end up all ripped each other off. My best bet is that some genius copy/paste savvy CSO/CTO thought this was a good idea and everyone else started copying it.
It's getting some traction in Germany. Two out of three of my banking apps support scanning QR Codes for payment. I had the opportunity to use it once so far with a major online retailer.
> Maybe it is not done on purpose so that easier alternatives (like Paylib) are used instead, which may incur a fee while IBAN transferts are free.
The problem with IBAN transfers compared to Paypal, Sofortüberweisung, Klarna and friends is that the merchant doesn't get instant notification of the payment. SEPA instant payments exist, but usually cost the customer ~0.50€-2€ and a lot of the banks, particularly those whose tech stacks are fossilized mainframes, don't support them [0].
And even if the merchant's bank accepts SEPA IP, there is another problem - unlike Paypal and other processors, there are no "callbacks" from the bank to the merchant, the merchant's shop system would need the credentials for online banking to poll, and obviously it's not a great idea to put the main banking credential into the biggest target for hacker attacks a company has.
In France the most common barcode for payments is the TIP SEPA, a Datamatrix variety mostly used by public bodies for tax payments.
The reason they are rightly opposed is that they favor and push mobile dependency, witch means that you must own a smartphone to do something, sure that's not technically true, but that's practically true for most users. The real reason why are not widespread is people inertia in adopting anything new respect of their routine though.
Personally I found FAR easier if just both people and institution known how to damn use computers at a basic level like: "if you want some money please include immediately copy-pastable full information in clear text instead of crappy heavyweight docs that regularly lack some information".
For instance: get a France or Italian electricity bill, a gazillion of information presents, but try to find the damn address of the bill so if you have two or more houses you immediately identify it... In most case you can find written very little somewhere, sometimes is not present at all. Equally when you read an email. That's for company's side. For customer's side the same most call a callcenter "hy, I'm john, calling about something strange in your last bill". Even better: some companies add refs: .... to their communication, you call the call center, give the ref they do not know what to do because since almost no one use them no one have added a damn search by ref in their CRM/ERP/* UI.
Even worse: we have mandatory OpenBank APIs for institutions but not for customers. As a result instead of easily manage your finances with the comfort of a personal client for all banks, institutions etc auto-updated via feeds you need to login (with absurd procedures, that frequently mandate crappy mobile crapplications) to a gazillion of different sites and no easy way to concentrate your information.
In germany HBCI/Fints is an standard quite a few banks use. I think its the oldest onlinebanking standard that is still in use.
you can send money, check transactions and everything runs over https. The user only has to enter his credentials and optional an second factor. For sending money an second factor was always used.
Here in the Netherlands iDEAL is usually used. It was originally invented for e-commerce, but these days you can also send them as a private person ('Tikkie').
Btw, don't you have IBANs that you frequently send money to saved in your 'address book'? The banks here have offered such functionality since forever (even before IBAN existed)
They should have mentioned JAB Code (ISO standard 23634).
By default they use 8 colors or 3 bits per cell instead of the 1 bit per cell of most black and white codes, but can go up to 64 colors per cell (6 bits). The format also seems to be a bit more flexible and offers MUCH larger code sizes than QR at present. The goal as I recall was to store biometric or ID data locally rather than being forced to hold just a URL. It's also patent-free.
The gold standard for me over the last 4 years has been BWIP-JS, which uses the BWIPP postscript library. It's so good, and useful, and has been powering my indie barcode label design Electron app. Shout out to Terry Burton and metafloor for developing and maintaining such an amazing resource.
What do you mean by barcode numbers? UPCs? Barcodes can encode many many different things, some of which are internal, some are proprietary datasets you can buy/license for $$$, and so on.
This seems a bit unfair - the article is packed with useful information. Arthur is nailing their job. Useful content that happens to make you aware of Scanbot, without being too in your face.