jami-docs/tutorials/Tutorial-in-app-(en).md

6.5 KiB
Raw Blame History

It is important that users who wants so can easily learn how Ring works. Today, many are lost from the account creation wizard.

This page aims to gather as many resources as possible (technical or not) and condense them to create concise documentation. Then, this can then be integrated into a tutorial or a help page in the clients.

Resources :

1 - What should a Ring user know?

  • Ring is fundamentally different from other communication tools
  • Ring protects the privacy of its users
  • A Ring account is stored on the device, it must be saved

2 - What should a Ring power user know?

What is Ring?

Ring is an innovative communication system. It doesn't work like other solutions since its designed to protect user's freedom.

The Ring network is distributed, hence, you may be invited to perform some actions that are considered bad practices on centralized or decentralized systems, but that are totally acceptable with Ring.

No password?

With Ring, you are not forced to have a password on your account. Don't worry, it's a decentralized system, consequences are not the same than on other systems.

With a centralized system, you use your password to authenticate on a public server. Someone who knows your password can usurp your identity.

With Ring, your account is stored in a folder on your device. The password is only used to protect you from someone who have a physical access to your device.

If your device is encrypted, you may not want/need to use a password.

No username?

For a while, Ring had no username management system. Instead, we had to use Infohashs. They are quite difficult to use for most people (ie : 3d1112ab2bb089370c0744a44bbbb0786418d40b). To mitigate the issue, we created a system that associate your Infohashs to a username of your choice that will be much more easier to remember. We recommand you to create a username: Ring will be friendlier.

The technology we used to associate a username to a Infohashs, Ethereum blockchain, is also distributed, but it doesn't allow to modify or delete the association between a username and a InfoHash.

You can still create an account without a username if you wish. Please note that if you choose this option, it is still possible to register a username later.

How to delete my account?

Accounts without Infohash

A Ring account only exists on linked devices with this account. So, you only have to delete this account in app on all these devices and your account will not exists anymore. Or to uninstall Ring.

  • GNU/Linux

In the settings page, go to Accounts, choose your account and click on the Delete button in the GUI. Another way is to remove configuration files

  • Android

In the hamburger menu, choose Manage accounts, choose the account to delete and click on the trash icon.

Note for accounts with a username

The technology that handle usernames is also distributed. So, it depends the nameservice you choose to make the translation between a nickname and your Ring ID. By default, a username is registered on ns.ring.cx where you can't modify the Ring ID associated to this username. So, if you delete or if you lost your account you will not be able to retrieve this username, ever. Nobody will be able to recreate an account with the same username.

If you do not want to lose your account, please back-up files related to this one.

What happens when I bind my account to a new device?

When you start the binding procedure, the folder containing your account information is simply put on the Ring network for a few minutes. It is protected by a password Ring gives you.

What data passes through my machine when I participate in the Ring network?

All these data are encrypted. There is:

  • ICE descriptors of other Ring users. ICE is a protocol that help establishing communication between two computers
  • certain text messages
  • as indicated above, accounts currently being linked to a new device

Audio/video streams and some text messages pass through the VOIP protocol. Text messages can be sent either via VOIP or DHT (the distributed network) depending on whether a VOIP communication channel is already open or not.

Why am I able to communicate with myself?

Many users use Ring to transfer data from one machine to another.

Should I enable push notifications ?

Push notifications allow Ring to operate in a way more adapted to the context of mobility (energy consumption, data...). However, for the moment, notifications go through Google's servers, via the Firebase service. Only one identifier is transferred and it is unusable for anyone who does not have access to your account.

What is DHT proxy?

The DHT proxy is a server that registers on the DHT for you and relays your information to you. Thus, it is the server that will be active on the DHT and will participate in the network, and no longer the target device. Multiple devices can register on the same DHT proxy.

How the username registration service works?

The usernames are registered on an Ethereum blockchain. By default, it's ns.ring.cx that is used, but if you are a developper, you can create your own system. Hence, nothing forces you to implement it with a blockchain. You can check results at http://ns.ring.cx/name/test, where "test" is a username for which we are looking for a matching Infohashs.