QR code scanning on Android

@Kal_Lam , I am designing a form that needs to be usable by anyone. I do not know if those collecting the information will have Android or iPhones.

From developing a previous form, I know that for data collection to work when using an iPhone for a QR/barcode question, the label to be scanned needs a clear human-readable. The user taps in the field, and with the latest version of IOS, there is now a choice of “paste” or “autofill”. If you select “autofill”, you are then supplied with 3 choices, the last of which is “scan text”. Selecting this then opens a camera in the bottom half of the phone screen, and the human-readable of the code can be scanned and entered into that data field. So this works fine to collect the relevant data.

From everything else I can find on the forum, it seems that for the equivalent to work on an Android, this has to be done using the Collect Android App. It seems that this will then scan the QR/barcode, rather than the human-readable. Does this mean that anyone going out to collect data must first download the Collect Android App from Google Play, and sign up to be a Kobo Toolbox user (i.e., username, password, e-mail address) before they can begin collecting data?

As I don’t have an Android phone to test this with, then how do they find the correct blank form (project) to fill in once they log in? Do they have to type in a URL each time? If a different person from an agency goes to the field each time, how do they get the relevant information on their phone?

I am designing several small forms, to collect different kinds of data, so a single user may have to use multiple forms, and obviously, they need to be able to select the correct one for the task they are doing.

With the Enketo version, it seems all users need are the link to the form to fill out, and they can then simply start recording the data. Is there any way that someone with an android phone can fill out the QR/barcode question without having to go sign up to KoboToolbox and get the Collect Android App - even if this is scanning text instead of a code, as occurs on iPhones?

Many thanks for your help.

1 Like

Yes, @taniak, if you wish your respondents to fill up the form through the Collect Android App they will need to download the app (KoboCollect or ODK Collect) from the Play Store and then configure the same as outlined in this support article shared in the community previously:

Kindly please note that the article also has a section where you can configure (a lot of apps simultaneously) through the help of QR.

Once you configure the app, and press the Download form, you should get all the deployed forms to the app. The respondents should then be able to select the appropriate forms to fill up. Maybe you could also try out BlueStacks as outlined in this previous post:

I would say the respondents should be well aware of using KoboToolbox for this. Otherwise, a short training should also help them collect data for relevant forms as needed.

But yes, if you feel like it’s a risk, maybe collecting data through Enketo is the best option as it should work both with IOS as well as Android devices. Besides, no training for the respondents is required too.

Thank you very much for this response, @Kal_Lam . I think I need to get a cheap android phone to test things out on. You finish by saying that collecting the data on Enketo/web form is the easiest, as it works well with both IOS & Android systems. Overall, I agree, but then I cannot include a field that requires the respondent to scan a QR code (or a text string), as this does not work on an Android :(.

@taniak, did you mean you cannot use the barcode/qr question type with Enketo? Correct me if I understood you differently.

@Kal_Lam yes, this is what appears to be the case. The Enketo/web form “works” with an iPhone, because the iPhone will scan the human-readable part of the code. With an Android and the Enketo/web form, users are unable to get the camera to open to scan the code (or text). When they click in the space where the code is supposed to be read, nothing seems to happen.

Do you have a solution?

Many thanks,

@taniak, as of now, Enketo aka the webform does not support barcode/QR Code. As of now, as a workaround, you could, however, enter the code manually (until we have this feature being supported for the same).

@Kal_Lam : Thank you for this response. It is what I was thinking was the case.

Do you folks plan to implement the ability for Enketo (aka webform) to support the barcode/QRcode scanning question type? If so, what is your time frame for this?

Also, can you please advise what would take for your team to develop the system to enable both Android & iPhones to scan when they come across a barcode/QR code question in a web/Enketo form? The people I am developing the forms for really want the scanning facility to work on Androids as well as iPhones. and from my perspective, web forms are soooooo much easier to use and deploy compared to setting up devices with KoboCollect / ODK Collect, and having people sign in to collect the data and then upload it.

In other words, I would like to understand if it is possible for you to develop the Enketo/web form so that the barcode/QR question works easily on both Androids and iPhones. If we could get some idea off what this would cost, we can then compare the cost of funding you to develop the scanning process in Enketo/web form against the cost of having to (1) purchase iPhones so that the Enketo/web form can be used or (2) purchase Androids that we then set up with the KoboCollect / ODK Collect app. Is this something we can discuss?

Thank you, Tania

1 Like

Thank you @taniak! I will get back to you after discussing the same with our team.

Hi Tania :wave: This is a totally understandable request - it’s frustrating for sure that scanning barcodes in web forms is not possible yet. (See my comment on the original issue from 2015 here. The limitation is actually because the mobile browsers don’t yet natively support barcode scanning.

The good news is that there is work underway to add this functionality to browsers. See here. This is still experimental and not ready for widespread adoption. I would hope that the Enketo web forms software can be updated in the near future to take advantage of this underlying functionality once it is a bit more mature.

For now, the best option is to make sure team members use Android phones and install the Collect app. These devices are quite inexpensive and the setup procedure is pretty easy. Note that these team members don’t have to create their own KoboToolbox account. You can choose to give all collaborators the same account to submit data (user2). For example, you can just create one separate user that is used for entering all the data. Your user that owns the project (user1) can then share permissions with user2. All team members can use the same login information to configure their devices and immediately start collecting data.

To make this easier, you can set up one Android device with Collect using the username and password for user2. Then generate a QR code on that first Android device that you can then share with everyone on your team. They can scan this QR code to configure their Collect app, so they don’t even have to enter the username and password. See this article for details.

1 Like

@tinok and @Kal_Lam . Thank you both so much for this. I will now go read all of these articles you provided links to, and see how we go from here. But at least now I can let the team know what is possible.

And in the meantime, I am very thankful that this process sort of works on iPhones (at least the human-readable of a code is scannable!) for another project we are collecting data with.


1 Like