ricochet-im / ricochet

Anonymous peer-to-peer instant messaging
https://ricochet.im/
Other
3.73k stars 401 forks source link

Memorization friendly Ricochet handles #128

Open hdm opened 9 years ago

hdm commented 9 years ago

It would be neat if ricochet IDs (handles, screen names, etc) were easier to memorize. These would need to be relatively short (under ~8 words, maybe some numbers).

hdm commented 9 years ago

In other words:

JeremyRand commented 9 years ago

Something like Namecoin would be potentially applicable, if the anonymity issues in Namecoin were resolved (which is a big if).

s-rah commented 9 years ago

Follow on from an email conversation with John,

There are a number of options here, and while none of them are perfect, many of them may greatly improve usability.

Currently ricochet address are base 32 encoded 80-bit values. This lends itself rather well to being encoded in a base 1024 sscheme where each encoding is a single word.

For example:

    rs7ce36jsj24ogfw = cutfist-oftenweek-canbone-wheatloud
    qn6uo4cmsrfv4kzq = sugarpower-viewgym-rivercable-gaslake

This presents some significant advantages:

  1. It is more non-computer friendly - for conveying in person or over the phone.
  2. It is more memorable - humans are pretty good at remembering lists around the size presented here, and are pretty terrible and remembering random characters.
  3. It is more approachable to an average user. For the same reasons as above.

It also shares some significant implementation challenges:

  1. Extending this encoding to the new proposed hidden service implementation makes this 26 words - that is fare less approachable.
  2. Extending this to non-English speakers requires simplified word lists in multiple languages, which represents a significant effort.

With some effort I believe we could extend this idea through application of multiple encodings applied in chunks i.e. the first 10 bits are mapped to an adjective list, the following 10 to a noun and the following to a verb and so on. This has the effect (again at least in English) of constructing sentence-like fragments - a quick prototype this evening led me to something looking like:

    the quick fire open the usual dais 
    the fluid ball line the true bag 
    the close seal pay the black coil 
    the gay eft burn the angry fart 
    the warm bank call the live jest 

Which reads like a typical English literature reading assignment ;). Tweaking each word list could probably improve this some what - and with some effort the scheme can most likely be internationalized. The question is - is this is more approachable to a user than richochet:qn6uo4j24ogfwcmsrfv4kzqrs7ce3j24ogfww6jsjgwj24ogfw ?

Now of course we are not limited to just one encoding scheme here, and there have been a few studies recently that have looked at providing users with multiple schemes and letting them pick the best one that suites them in terms of memorability (some people can remember pictures much better than words for example).

In the same vein - we should also seek to improve the usability of the introductory screens to new users. Even something like:

    richochet:rs7ce36jsj24ogfw -  This is your identity. You can give this to people you would like to talk to. They will then be able to chat with you.

Would go someway to improving this.

Thinking further, and considering encoding schemes - a common pattern that I have seen is to present users with multiple identity choices and let them make the determination. So for example:

    Please choose the identity that you like the most. The identity is written in two forms the first is the raw address, the second is a collection of words which also represent your identity.

    Once you have chosen the one that you would like, you can give either of these out to contacts so that they can talk to you using ricochet.

          Raw                       Pretty
    =======================================================
    rs7ce36jsj24ogfw   cutfist-oftenweek-canbone-wheatloud
    -------------------------------------------------------
    qn6uo4cmsrfv4kzq   sugarpower-viewgym-rivercable-gaslak

This would add a flavor of fun and personalizaiton that is often missing from these new-fangled secure IM's.

These are just a collection of thoughts thrown around by both myself and John and collected here for the record. There are many other possible ideas here from the mentioned namecoin tie in (however that creates a fairly large an ominous dependency). I am a fan of a more UX centered approach, presenting an encoding or two and letting the user find out what works for them. There is definitely a need to gather more ideas and let them brew before constructing a formal proposal I think.