For my current project I need to integratie QR code scanning in my app (which will be available for both Android and iOS). The QR code contains info that sets up the app for the rest of use case. For Android I'm looking into the ZXing project. There are two possibilities: Either integrate a library such as ZXing, or call it from my own app with an intent. I'm wondering which of the two is preferable from the UX point of view.
Scan via an intent
- Follows the Unix philosophy of "Write programs that do one thing and do it well. Write programs to work together." Google Authenticator does it for example, and the fact the OS has support built in for this kind of thing leads me to believe it's a good practice.
- Users without the app need to download and install the Barcode Scanner app from ZXing before they can continue to complete the task they originally set out to do.
- Easier for less experienced Android users.
- Larger app file size.
Integrating the library might take more developer effort and seemingly goes against Android best practices, but in the end it seems to be the most user friendly option. Should I integrate ZXing?