Victoria's QR code contact-tracing check-in system, while addressing an important goal, appears to have a relatively big usability flaw (specifically on the Android App), that can result in check-ins being missed. The problem occurs when using a QR code reader app (e.g. Google Lens) that is not the Service Vic app, but having the Service Vic app installed on the phone. I've been able to semi-regularly reproduce this on my own phone, but haven't tried any others, so I've only got a small sample size.
What's the problem?
Steps to reproduce
- Ensure that the Service Vic app, and a QR code reader are installed. I have only tested with the Google Lens app, but by my understanding of Android, this should be the same with any QR code reader app.
- Check in to a location (initially, it doesn't matter whether through the Services Vic app, or the QR code reader) - let's call this Location 1.
- When the "Check-in successful" page in the Services Vic app appears, do not press the "Done" button - leave it there (possibly as proof to the shop you're entering that you've checked in).
- Press the Home button on your phone, to put the Services Vic app into the background.
- Go to another check-in location (Location 2)
- Open Google Lens, point at the QR code for Location 2
- Google Lens should now open the Services Vic app, however, the app will still be showing the "Check-in successful" page of Location 1, and not any option to check in to Location 2.
- Pressing the "Done" button will take you back to the main page of the Services Vic app.
- Reviewing where you are currently checked in to will show you are checked into Location 1, while Location 2 has not been logged at all.
Why is it a problem?
Why not just use the Services Vic app to read the QR code?
But shouldn't people check their app to make sure they're checked into the right place?
What are the technical details?
- When you check in to a location in Services Victoria, it shows the "Check in successful" page; I think this is implemented as an Android Activity.
- When you go Home, or to another app, the Services Victoria app remains running in the background, with the "Check in successful" activity at the front.
- When a QR code reader app finds a valid QR code (in this case, for a URL), it fires an Intent to the rest of the Android system to ask which app is best equipped to handle this particular address.
- The Services Vic app has previously registered that it's the one for these types of Intents/URLs, so it gets sent the Intent/URL.
- But the Services Vic app is on the "Check-in successful" activity, which either doesn't know how to deal with the new Intent/URL, or ignores it, and stays on it's current page, and doesn't register the new Check-in location.