[Thali-talk] QR codes

Yaron Goland yarong at microsoft.com
Fri Mar 27 14:04:54 EDT 2015


We wanted to do exactly what you are describing but didn't because it requires the user to face the screen of the phone away from themselves. So now you have to basically hover the two phones over each other without being able to see where you are in terms of scanning and keep moving things around until it works.

This is actually why we also ran away from NFC. Ever watch two people try to use NFC between two phones? It's awful. You have to find the exact spot on each phone that has the transceiver. The usability is near 0.

As for the Bluetooth issues we will probably do discovery via Wi-Fi Direct on Android and then switch to Bluetooth streams for the actual protocol steps. So we won't ever put the devices into Bluetooth discovery mode. Once Lollipop gets popular enough (in a few years, sigh...) we will switch the whole thing to BLE. On iPhone we can just use the multi-peer connectivity framework which works really well.

        Yaron

-----Original Message-----
From: Michael Rogers [mailto:michael at briarproject.org] 
Sent: Friday, March 27, 2015 10:53 AM
To: Yaron Goland; thali-talk at thaliproject.org
Subject: Re: [Thali-talk] QR codes

Thanks for the explanation! What I had in mind for the QR code workflow was slightly simpler, but maybe the fiddliness of scanning the codes would still kill it:

1. Users 1 and 2 put their phones into exchange identity mode
   - QR code on the top half of the screen, viewfinder on the bottom 2. Users 1 and 2 scan each other's codes, in whichever order they like
   - When a phone has scanned a code, the viewfinder becomes a tick

When both phones have scanned a code, the rest of the exchange happens automatically.

The problem we've had with the discovery approach is that Bluetooth discovery is unreliable on some phones, and it interferes with making a connection, so the phones may not be able to connect until they've both stopped discovery (which you can control on the local device, but not the remote one). But maybe those problems are easier to work around than the physical awkwardness of scanning QR codes. I guess the only way to know is to build some prototypes...

Cheers,
Michael

On 27/03/15 17:42, Yaron Goland wrote:
> With QRCodes the exchange is:
> 
> 1. User 1 puts their phone into 'show qrcode mode' while user 2 puts their phone into 'read qrcode mode'
> 2. User 2 then points the back of their phone at User 1's screen and reads in the QRCode. This process was consistently a bit wonky, even with native readers. You really do have to get the phone pointed correctly and wiggle things around a bit.
> 3. User 2 then accepts the offered information into their system.
> 
> Now repeat the above but flip User 1 and User 2.
> 
> So a total of 6 steps. And don't ask me how we explain this all to the users. 6 steps is way beyond most humans.
> 
> With the Bluetooth/BLE exchange the process is:
> 
> 1. Users 1 and 2 put their phones into 'exchange identity mode' 
> 2. Users 1 and 2 select each other's names 3. Users 1 and 2 compare 
> the numbers on each other's screens 4. Users 1 and 2 both hit 'accept'
> 
> So it's 4 steps versus 6. Both users are doing the same thing at the same time which is also easier to explain.
> 
> But to be fair we have not done any usability testing. What really drove the change was that we knew the QRCode experience was pretty awful. Just too many steps and too much fiddling with phones to make things work. So that pushed us to try and find something else.
> 
> Unfortunately I doubt we are anywhere near the end of the journey in 
> figuring out how to securely exchange identities. :(
> 
>     Yaron
> 
> -----Original Message-----
> From: Thali-talk [mailto:thali-talk-bounces at thaliproject.org] On 
> Behalf Of Michael Rogers
> Sent: Friday, March 27, 2015 6:02 AM
> To: thali-talk at thaliproject.org
> Subject: [Thali-talk] QR codes
> 
> Hi,
> 
> This blog post argues that discovering nearby devices and picking a device from a list is more convenient than scanning a QR code from the device you want to connect to:
> 
> http://www.goland.org/coinflippingforthali/
> 
> I'm surprised by this, because we've tried the discovery approach in Briar and found it pretty inconvenient. We're planning to switch to the QR code approach - but perhaps that would be even worse! Would you mind saying a bit more about your QR code experiments and where the pain points were?
> 
> Thanks,
> Michael
> 



More information about the Thali-talk mailing list