Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rethinking adding a second device (multi-device use) #1611

Closed
Hocuri opened this issue Jun 13, 2020 · 5 comments
Closed

Rethinking adding a second device (multi-device use) #1611

Hocuri opened this issue Jun 13, 2020 · 5 comments
Labels
enhancement New feature or request

Comments

@Hocuri
Copy link
Collaborator

Hocuri commented Jun 13, 2020

Adding a second device per Autocrypt Setup Message has some fundemental problems. I'd like to collect what needs to be done here, so that we do not forget it whenever we do it:

@Hocuri Hocuri added the enhancement New feature or request label Jun 13, 2020
@gerryfrancis
Copy link
Contributor

Typing a 37-digit number is very uncomfortable: #803

I would convert it to a QR code for devices that are equipped with a camera, but retain that number for devices which are not.

maybe DC could recognize the existing messages or the "DeltaChat" folder and ask the user "Seems like you are already using Delta Chat with another device. Would you like to continue using the old device?

Maybe the Autocrypt code and its relationship to other Delta Chat clients can be encrypted and stored in the DeltaChat folder. (Just a thought, I do not know if that is a good idea...)

@clayt0nk
Copy link

A fairly uninformed / has not looked at the code on either end comment from the author of #1597: Keybase seems to me to be to be an example of doing multiple devices elegantly and safely. Each device has it's own key, new devices via QR code have their key signed by one of the user's other devices (and thereafter are trusted by all correspondents), and the key of lost or stolen devices can very easily be revoked by any not-lost device.

@gerryfrancis
Copy link
Contributor

gerryfrancis commented Jun 14, 2020

@clayt0nk AFAIK, Keybase use an own protocol named KEX, and their own server infrastructure to achieve this: https://book.keybase.io/docs/crypto/key-exchange

@clayt0nk
Copy link

clayt0nk commented Jun 16, 2020

Yes, I understand that, and the fact that I do not trust a monolithic server run by them is one of the reasons I am here. But, I would still like to offer the Keybase multi-device UX as an example of one elegant solution out there. If you have never seen it in action, it is worth experiencing just once. It is the best I have ever seen, and I have tried almost everything that offers an open source client.

@hpk42
Copy link
Contributor

hpk42 commented Jun 25, 2020

Most discussions i participated in were to regard "adding a second device" as:

  1. exporting data
  2. sending data to other devices (now: USB, later: nextwork)
  3. importing data

there is no autocrypt setup messages involved and i think keybase or Matrix.org UX is not neccessary to consider. This is really just getting to identical setups going. The basic UX idea is:

  1. on setup screen of second device click "request device setup", a QR code and maybe a coded text (for copy+paste purposes) is shown

  2. on first device (already running DC) perform a QR-scan and get "do you want to sync/export your chat setup (including all media, contacts, files etc.) to Delta Chat on device 'blabla'?" If you say yes, then the second device receives the stream (progress bar etc.) and then you have another account setup on that device, ready to go.

There are security and implemention details to consider but that's the rough UX plan.
I suggest to close this issue here, however, as we really want to track actionable items.

Maybe "export in zip format, import from both old and new zip format" with zip format being "DB file + all blob files", could be such a trackable item if you are interested, @Hocuri. Once we have this we have already streamlined/sped up export/import and are better prepared to implement the Multi-device network-setup flow above.

Closing this issue here now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants