Lots of questions of (very incomprehensible) basic concepts

Lots of questions of basic concepts which is not described in Q&A.

I found the text explanation / description in UI (No matter in GNOME or Android client) are VERY HARD to understand for non-professional user (such as me…). If can, I want to contribute this project in UI UX, to improve the text descriptions in client and Q&A in official site.

However, before that, my concepts and questions need to be clarified first, I want to know the true expected behaviours of Jami.



GNOME client:

Welcome Page

  1. “Create a Jami account” -> “Register username” will register this username to Jami officially maintained server?
  2. If register username, anyone can find me via official Jami server by username?
  3. What the Jami official server do is to:
    (a) Let user register username, which let user search other users via username.
    (b) Generate PIN code for link account to new device.

“Delete” Accounts

“Settings -> Account -> Delete Account” actually delete the account from this device only, instead of simultaneously deleting the registered username from server, right? (This issue probably isn’t severe but it exactly exist in some i18n translations… the “can be lost” is wrongly translated to “will be lost”)

If so, the description “Warning! … your registered name can be lost!” is very misleading. “Unless you’ve backed up your account or transferred to another device” would be better? (Android version’s warning message is quite different, which just says “delete account from this device”.)

Restore Account

In a new device, after restoring a account (username is registered) from backup

  1. username input is empty in GNOME client…
  2. alias must be inputted again? What if different devices set different alias?
  3. photo must be set again? What if different devices set different photo?
  4. existing contacts cannot sync from existing online device?
  5. Cannot see correct $HOSTNAME in “linked devices” list in another Android device.

Android client

  1. When restoring account, existing contacts cannot sync from existing online device?
  2. After restoring account in all devices of mine, the text messages I sent from one of my devices cannot be sync to all other online device?

General Issues

Account

  1. QR code is only used for adding contact, instead of linking own account to own devices?

Profile

  1. Why different client can set different (a) profile photo (b) alias ???

Backup file

  1. Contacts seems not to be included in backup file, so… can user export contacts for backup?
  2. Unlike Android version, GNOME client cannot set current device name.

Registered username

  1. A registered username cannot be changed anymore.
  2. A registered username cannot be deleted from server anymore.
  3. A registered username can be searched by anyone, via search box.

Sync (between devices)

Contacts

  1. There’s no way to sync, or transfer contacts from device to another device?

Existing Text Message

  1. User cannot sync existing text messages from another online existing device?

Incoming New Text Message (This behaviour is too incomprehensible…)

Assume:

  • I have device A, B, linked with the same account.
  • Another user Z
  • A, B, Z are online.

If “A” sends some text to “Z”, “Z” can see the text. but “B” cannot see what “A” sent?

Hi @alkan, thanks for the detailed feedback :grinning:. I will try to respond to each question first to clarify everything. Then if you feel like some things are important enough for the developers to fix, it would be helpful to file issues for these things separately. For the Android app, you can create issues here, and for the GNOME client, you can create issues here.

The official website at https://jami.net is going to be redone so I will focus on the UI text.

“Create a Jami account” -> “Register username” will register this username to Jami officially maintained server?

Yes, but you do have the freedom to use another nameserver (the nameserver software is FOSS so you can host your own if you wish). Registering a username is optional.

If register username, anyone can find me via official Jami server by username?

Yes

What the Jami official server do is to:
(a) Let user register username, which let user search other users via username.

Yes, it simply maps a username to a Jami ID (your public encryption key fingerprint, see https://git.jami.net/savoirfairelinux/ring-project/wikis/guidelines/Identifiers).

(b) Generate PIN code for link account to new device.

No, this happens over the DHT. Linking accounts does not depend on the Jami nameservers and is fully distributed.

“Settings -> Account -> Delete Account” actually delete the account from this device only, instead of simultaneously deleting the registered username from server, right?

Yes, it only deletes the account from this device.

If so, the description “Warning! … your registered name can be lost!” is very misleading. “Unless you’ve backed up your account or transferred to another device” would be better? (Android version’s warning message is quite different, which just says “delete account from this device”.)

Yes, I think it should say “delete account from this device” like Android. However, the warning exists because you aren’t able to register your username later if you’ve deleted the account (Jami ID) it was registered to.

In a new device, after restoring a account (username is registered) from backup

  1. username input is empty in GNOME client…

This would be a bug I think.

  1. alias must be inputted again? What if different devices set different alias?
  2. photo must be set again? What if different devices set different photo?

Display name and profile photo are not used as identifiers, they are set locally on a device. Due to a technical limitation, they will not sync to other accounts except when you make a call (this might change with the coming swarms feature). I think each device can set its own display name and profile photo. Your contacts will see the display name and profile photo from the device they called most recently.

  1. existing contacts cannot sync from existing online device?

No, they will only show up on your new device if they message you. However, if you add a new device by “linking” the account, all of your contacts will be synced to the new device. It’s better to add new devices by “linking” accounts with a PIN (e.g. in the GNOME client, click “settings>link another device” and in Android app click Add Jami Account> connect from another device). The account.gz export is really better for backups.

  1. Cannot see correct $HOSTNAME in “linked devices” list in another Android device.

It works for me if I link the accounts instead of restoring from backup. Does the same thing happen if you link the devices by using “link a new device” instead of restoring it from backup?

Android client

  1. When restoring account, existing contacts cannot sync from existing online device?

No, I think this only happens when you “link” accounts using a PIN.

  1. After restoring account in all devices of mine, the text messages I sent from one of my devices cannot be sync to all other online device?

No, this feature is coming with group chats (even for 1-on-1 conversations). A lot of people want this feature for good reason.

  1. QR code is only used for adding contact, instead of linking own account to own devices?

This would be a great feature, there is no reason to type in the PIN when you could just scan a QR code with the PIN. One reason they might not have done this yet is that desktop users might not have a camera, but you could show the PIN with the QR code. There should be an issue for this.

Why different client can set different (a) profile photo (b) alias ???

I talked about this already, but I think it’s just a technical limitation. Clients currently don’t share much information with each other except when linking a new device with a PIN. Some people might like to have a different display name for different devices though.

Contacts seems not to be included in backup file, so… can user export contacts for backup?

This could be a good feature request. Maybe there should be an option to include contacts in the backup file.

Unlike Android version, GNOME client cannot set current device name.

This would also be a good feature request.

A registered username cannot be changed anymore.
A registered username cannot be deleted from server anymore.
A registered username can be searched by anyone, via search box.

Yes.

There’s no way to sync, or transfer contacts from device to another device?

Right now, only by linking devices with a PIN.

User cannot sync existing text messages from another online existing device?

Nope, this is coming with swarms.

Assume:

  • I have device A, B, linked with the same account.
  • Another user Z
  • A, B, Z are online.

If “A” sends some text to “Z”, “Z” can see the text. but “B” cannot see what “A” sent?

Yes, this is how it works currently. This will be fixed when they roll out group chats/swarms.

contacts are in the account archive (and should load when importing from backup) and across devices (or it’s a bug to fix)

To prove it:

Create an account (without any password for the next steps)
Add a contact (eg: test)
Export the account (Account settings, backup account)
This will give a file like ACCOUNT.gz
You can use gunzip on it (if no password), this will give the json

and in the JSON, contacts are stored under the key “ringAccountContacts”