Increase human-readability of invite links

Expected behavior

You know what an invite link does (group invite, contact, etc) based on its text, without having to install/open Delta Chat and click on it.

Actual behavior

Links are not really human-readable.


I suggest this as an alternative (or an addition) to More detailed chat invite link preview.

Take a look at how links look currently: https://i.delta.chat/#F565A77295ADB383DE07BD7657CD1F9E8BB79431&v=3&i=p3nnrZMx-S7HNJ-ORZExzNsA&s=oXyyxAcIht1JWAcA-zpZdeti&a=abcdefghi%40nine.testrun.org&n=Bob.

Ways to improve things, off the top of my head:

  • Put the important stuff at the start and not the end
  • Use better separators for the parts of the link, e.g. _.
  • (maybe?) shorten the fingerprint by base64-encoding it instead of base16.
    Though arguably it’s also a human-readable thing, so maybe no.
  • Consider not URL-encoding the link parts, e.g. the name could be Unicode?
    Not sure if it’s valid.

Here is the current code:

Put the important stuff at the start and not the end

In this change important text was moved to the end on purpose, to make it easy to find:

Another similar improvement would be to render the DeltaChat links as a button when inside DeltaChat chats. Like “Chat with XYZ” or “Join group XYZ”.

Something similar is already shown after you click the link but I think it would be nice to render the links directly as a nice button.

That could be nice aesthetically if it is rendered as a button but I see practical possible drawbacks, because a button is not so intuitive to copy or share to other messaging apps like a link is, which is probably the main reason to use links over vCards. Users might also get confused between links and vCards which are already rendered as buttons with “Chat with XYZ” text and then assume the behavior should be the same because they look similar in the chat when actually it is different.