May be improve onboarding for newbies about how to add contacts?

I tried to convince a contact to use the DeltaChat app, and I found that way to add contact is not so obvious as it should be.

Expected behavior

A newbie installs DeltaChat, adds profile. As part of profile creation flow, or via link in Add contact screen, or both ways, right in the app shows and explains in detail how to add contacts with all possible ways:

  • via qr code scanning
  • via sending the link, For this way it should explain can I share this link via software that fetches link preview, such as Whatsapp or Fediverse? Or the link is one time?
  • If I add to contact in the DeltaChat app by starting chat with compatible email address (hosted at Chatmail servers?), it should perform some establishing of encryption automatically (or by showing confirmation UI and do it on confirm) by sending some appropriate message of “I added you to my contacts, I use ChatMail compatible software and here is my key data” kind.

Actual behavior

Currently I just see an unusable notification about need to establish encryption

Example Images

How it appears now
image
How it can appear after possible update


Idea is to give ways to setup encryption right in the chat, when confused people new to Delta Chat “added” contacts by simply typing in contact email and trying to start the chat right away.
Including more or less automatic way after confirmation if contact recognized as “ChatMail compatible” by sending special message of “I use ChatMail Compatible client, I added you to contact, here is my key data if you want add me to contacts, use it please to setup encryption”.

Thanks for raising the issue and your suggestions! Improving initially getting into contact, is always a good idea as it’s the first thing everybody tries :wink:

Adding by email address is not a natural thing with chatmail relays because they enforce end-to-end encryption (as you found out via the system message). The problem with “sending a request for establishing end-to-end encryption” is that it involves considerations that chatmail relays could be used for generating spam messages to lists of email addresses. There currently is no in-band protocol (i.e. using the SMTP mail pipeline) to setup encrypted chatting by just starting from a known email address. Such a protocol has been discussed but there is no conclusive approach yet. The UI part would not be a big problem, compared to the in-band key exchange protocol.

Personally, i agree it’s useful to have an in-band key exchange, and am bringing the topic up from time to time in discussions with other contributors. But having co-created https://autocrypt.org and https://securejoin.delta.chat i am also aware of several intricacies on the protocol/implementation level. Anyways, thanks for adding your voice to the discussion!

Thanks for reply. I guess that I will need to spend extra time to better examine possible “best practices” both in context of security and usability, and how other software generally address contradictionbetween these.