I am working on a Survey123 form where one of the essential requirements is the ability to scan QR codes that are attached to various assets in the field. I am hoping that there is a way to improve the QR code scanning capabilities of Survey123 as the performance is very poor compared to every other scanning app that I have tested (detailed results below).
The QR codes that we need to scan are printed on metal plates that are somewhat reflective. I am having an incredibly difficult time scanning these bar codes within the Survey123 app built-in barcode scanner. I am finding that these tags are almost impossible to scan within the app with almost any amount of reflection. This is a huge problem for field use where light sources are variable.
Other barcode scanning applications do not have this problem. I have created a comparison video with a constant light source showing the scan speeds between the first 8 apps that appear on the IOS app store when you search "Barcode Scanner". Here is a detailed breakdown of the results.
0:01 to 1:08 - attempting to scan the QR code within the Surbey123 app for over a full minute. The scan does not register the QR code.
1:12 - to 1:20 - Scanning with 'QR Reader' app. This scan took 8 seconds and was by far the slowest other scanning app (other than Survey123
1:25 to 1:27 - Scanning with 'SkanKey' app - this took under 2 seconds to correctly scan the tag
1:30 to 1:31 - Scanning with 'Bakodo' scanner app - correctly scanned in under 1 second
1:39 - 'QR Code' scanner app scans the app in under a second and brings up the correct result as the app opens (near instant scan speed) before it even initialized the camera viewfinder view.
1:48 to 1:54 - 'QR Scanner' app scans the code in 6 seconds
2:02 to 2:04 - Free version of 'QRScan Pro' app scans the tag in under 2 seconds
2:13 to 2:18 - 'Scanner' app scans the code twice, in a fraction of a second each time
2:22 to 2:28 - 'Qrafter' app scans the code in about a second.
2:35 to 3:33 - I open Survey123 again to attempt to scan the code. This time I move the light source around until I get Survey123 to get a correct scan of the tag. This takes nearly a full minute and only achieves a correct scan when there is nearly no reflection on the tag.
Why is this capability so poor in Survey123 compared to seemingly every other application?
Specs: this app was created in Surey123 connect. This specific test was done on an A1954 6th gen model iPad, iPad OS 13.1.3 with Survey123 version 3.6.157.
This problem is not limited to IOS - I have tested the Survey123 QR code scanning with Android (Galaxy S8) and Windows 10 (Surface Go tablet), and on other IOS devices with very similar poor results.
Thanks for your detailed post and the video demonstrating scanning your barcodes with different apps. I see from your video that you are using a green QR code on a white background and on a reflective green surface. This is not optimal for barcode scanning due to the variability in colour and light being reflected and the possible interference it causes with the detection of the parts of the code.
Currently, the Survey123 field app is optimized to scan the most common, standard black and white, barcodes not colourful or reflective barcodes. I was able to see that when you had a successful scan in your video using Survey123, the torch (flash light) was not on, which gave a more consistent colour across the entire image. When the light was on, half the image was brighter and had a white artefact on the right which interfered with the reading of the code.
While other barcode apps may handle this better and scan successfully within 1-2 secs, those apps are likely adapting better for the reflective non-white background, by applying different filters and scanning algorithms. Unfortunately Survey123 does not have this level of detail in the barcode scanner implementation at present. This is something that would need to be enhanced in the future.
I would encourage you to submit an enhancement request via Esri Support for this issue with your specific barcode. Our Support team will then assign an official enhancement number for your records. Similar requests from other customers can then be attached to the same enhancement request, which helps us assess demand for the enhancement and prioritize it accordingly.
Thank you for the thorough explanation Philip. I will pass this info along and submit an enhancement request as suggested.
It's unfortunate that there currently isn't a way to improve this functionality, I will have to look into some way to work around this as our field workers will need to scan possibly dozens of these tags every day either in sunlight or by illuminating them with a flashlight which wont be practical with the in-app scanner.
I agree with Sam about the poor functionality of the scanner in Survey123. It needs to be improved. We are scanning blood tubes in the field. Tried QR and barcodes with no luck. All labels are black and white but the curved surface of the tube, and being outside, means sometimes Survey123 never takes a scan. Looking at abandoning Survey123 all together for another solution that can scan barcodes or QR codes.
Hi Nyssa Whitford, in case it helps the workaround that we have used is to abandon the in-app Survey123 scanner and instead use the 'ScanKey' keyboard app. When filling in the survey and reaching a barcode scanning question our inspectors switch from the default IOS keyboard to the ScanKey keyboard which has a large barcode scan button; when pressed the view changes to the ScanKey app - once the code is scanned they tap a checkmark and it returns you to the Survey123 form at your previous location with the scanned code input to the question field, then then have to switch back to the IOS keyboard. It is certainly not an ideal solution but it has been working for us so far.
Thanks Sam! We are doing animal captures in the field and want to handle the animals for as little time as possible. Your solution sounds like a good one but would be too time consuming for our situation. I need the scanner to work in seconds. If we have data collection that allows us a slightly slower pace, I will make sure to try out your workaround. I really appreciate you responding.
Hi Sam and Nyssa,
Just letting you know that for the 3.10 release we have made significant improvement to barcode scanning, especially for non-white barcodes, reflective barcodes and inverted barcodes. Currently we have uploaded new RC builds for 3.10 on EAC, so you can test out the current improvements, however further final changes to barcode scanning will be uploaded to EAC next week, so if you do still see any issues with the current 3.10 RC builds, try again next week with the newer builds.
Would be great to get your feedback. Thanks.
Just letting you know the latest 3.10 RC builds are now available on EAC, please test out RC build 3.10.309 for improved barcode scanning support. We are planning for 3.10 to be released publicly in late July.