dicekeys / beta-program

Information for the DiceKeys beta
5 stars 3 forks source link

Inconsistent results using https://dicekeys.app/ on Pixel 2XL (running Android 10, 6/5/2020 patch) and Chrome 85.0.4183.120 #17

Open yeliaBdE opened 3 years ago

yeliaBdE commented 3 years ago

Okay, now this was weird. All attempts were made using back camera. All this is from memory, as it's entirely unreproduceable; perhaps I need to restart my phone...

First attempt: Got a relatively sharp video stream that was updating at about 1fps or so. Was trying to get DiceKey into field of view when it suddenly produced a "final" image showing only the top-most left die completely, with all the other dice blank.

Second attempt: Got an image that appeared static, but again it produced a "final" image showing only the top-most left die completely, with all the other dice devoid of their letter+number identifier, but all "guide strips" (or whatever they're called) were in place. Was able to generate a password from this.

I tried to get things to work better, but eventually it would only show a static initial image of whatever happened to be in front of the camera at that instant. I would have to refresh the page with each scan attempt. By this point, all images were unfocused, and it was not possible to adjust the distance between the Dicekey and the camera to get a more focused image.

yeliaBdE commented 3 years ago

Using the staging app and my phone's back camera, I was able to more easily get the DiceKey to scan successfully than before, though only the upper left-most die is fully displayed. All the other dice in the grid do not have their letter and number displayed, though the "guide strips" are accurately displayed, and I am able to generate a password.

Scanning is quite sensitive to any shadows cast from the top onto the surface of the dice; for me to be at all successful, I have to slightly lift one edge of the DiceKey so that it was more directly facing the light coming from my desk lamp.

I was able to get the staging app to use my phone's front camera, and the video stream was relatively clear, and had a good refresh rate. But it was not possible to get a sufficiently sharp image of the DiceKey for scanning to be successful.

By the way, this was done using Chrome 85.0.4183.127 (I had a Chrome update waiting for me this morning.)

UppaJung commented 3 years ago

What is the resolution on the front screen and camera as described by the app?

yeliaBdE commented 3 years ago

@UppaJung Here's a screenshot:

Screenshot_20200925-130306

UppaJung commented 3 years ago

This looks less like an issue of the choice of camera and more a matter of lighting. There's a bright light behind the DiceKey and the device camera is reading a very grainy image as a result. My guess is you'd get the same poor result with the other camera under the same lighting conditions.

yeliaBdE commented 3 years ago

@UppaJung I respectfully disagree, though admittedly my screenshot wasn't the best example out of the many I tried. Just now I used the diffuse light coming from a window to light my DiceKey, and though the rear camera was able to successfully scan, using that same lighting with the front camera it was impossible for the staging app to scan--in fact, I never even saw any of green (or red) indicators that any dice was identifiable.

I also used a 10,000lux sunlight therapy lamp for a light source with the same results: successful scan using the rear camera; unsuccessful scan using the front camera.

But, on reflection, the front camera is nearly worthless to use, given that attempting to properly frame the DiceKey entails using the phone's screen for feedback, and the position of both the DiceKey and the screen means you have to move in exactly the opposite direction to make framing adjustments. This is possible, but difficult, leading me to wonder whether it's worth the effort to even bother supporting the front camera on such devices.

Anyway, just my two cents...

UppaJung commented 3 years ago

Agreed, we default to the rear screen for a reason and equivalent applications (e.g. depositing a bank check) always use the rear camera. We could go so far as to disable the front camera if a rear one is present and only show it if the user goes into an advanced mode.

Also, I wonder if the resolution on the front camera might actually be lower than what the app thinks it's getting.