deltachat / interface

General and shared components and discussions relating to deltachat user interface
8 stars 3 forks source link

Device setup / pairing #36

Closed Gozala closed 4 years ago

Gozala commented 4 years ago

Current UX for adding a new device could be improved significantly. I would like to share some ideas in that regard:

Today you need to do following:

  1. Add an email account info
  2. Send setup message from old device
  3. Click received message on a new device device
  4. Type a long code from the old device

It appears that all this steps could be replaced by QR code scan from old device to new device.

If new device isn't capable of scanning QR code, ideally only step 1 would be necessary. Ideally new device once set up would:

  1. Send a "setup request" message (that old device can see).
  2. Old device could display prompt asking user if new device should be authorized.
  3. If user chooses to accept old device could send a setup message so that new device can be configured.

"setup request" message could include a public, so that old device could supply setup info by encrypting it for the requesting device (which should have corresponding private key).

hpk42 commented 4 years ago

thanks for your thoughts :) Actually we are aware of the short-comings of AC-setup work flow and recommend against using it for setting up a second device. See here https://delta.chat/en/help#multiclient

Also please see https://github.com/deltachat/deltachat-core-rust/issues/803 as this is firstly a core issue. So i am closing this issue here for now.

On Tue, Jul 14, 2020 at 23:37 -0700, Irakli Gozalishvili wrote:

Current UX for adding a new device could be improved significantly. I would like to share some ideas in that regard:

Today you need to do following:

  1. Add an email account info
  2. Send setup message from old device
  3. Click received message on a new device device
  4. Type a long code from the old device

It appears that all this steps could be replaced by QR code scan from old device to new device.

If new device isn't capable of scanning QR code, ideally only step 1 would be necessary. Ideally new device once set up would:

  1. Send a "setup request" message (that old device can see).
  2. Old device could display prompt asking user if new device should be authorized.
  3. If user chooses to accept old device could send a setup message so that new device can be configured.

"setup request" message could include a public, so that old device could supply setup info by encrypting it for the requesting device (which should have corresponding private key).

-- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/deltachat/interface/issues/36

hpk42 commented 4 years ago

Ah -- nice, i only realize now you opened this in the interface repo, good move :) Still, i think the core issue is the main blocker/task -- and FYI a refined export/import workflow is itself blocked on introducing exporting/importing to/from a zip file. Currently we export the sqlite database, but pack all blob files into the DB, and then on import unpack all blob files from the sqlite export file. This is a) slow b) not streamable c) requires extra file storage that mobiles not always have (depending on the size of the chat database). Once we have zip-exports we can see to use QR codes to setup/transfer whole account setups between devices, maybe using libp2p.