Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consistent terms & translations #388

Open
pgerstbach opened this issue Jan 23, 2023 · 6 comments
Open

Consistent terms & translations #388

pgerstbach opened this issue Jan 23, 2023 · 6 comments

Comments

@pgerstbach
Copy link

We shall discuss how to achieve consistent terms and translations.

Account, Private Key, Public Key

Currently there are different terms for the same thing in use:

  • Account, Account ID, Account Key, Public Account ID

And also:

  • Secret Account Login Key, Secret Account Key, Private Key

My proposal:
Use the terms "public key" and "private key" only for the fields containing npub & nsec. It is correct from a cryptographic point of view and it would help to convey the message that there is no "account" as on a centralized platform. Nevertheless it might confuse new users.
Therefore I propose to use the term "account" wherever those two fields are used together, for example on the "settings" screen and when logging in or creating a new key pair.

This discussion was started on Nostr: note1309a8g74ccvu5js3tz6cv56jdw0cse4gfp66xlk05clnxm9pr7mqgz0f5k

Other important terms we might discuss here:

  • Follower
  • Post
  • Reply
  • Repost
  • Broadcast

Not all terms are "defined" through NIPs. Some are also borrowed from Twitter, as I see it.

@gregoreu
Copy link

gregoreu commented Jan 23, 2023

Thanks for specifying this.
Support the proposed account, public key, private key differentiation.
Thoughts:
Post: replace with “share”? Would this conflict with iOS “share” language, eg. share sheets?
Broadcast: “publish”, “submit”?
Follower: Any fans of “reader”, “supporter”, “subscriber” instead?

@alltheseas
Copy link
Collaborator

Nostr protocol https://github.com/nostr-protocol/nostr main page terminology:

  1. public key (4 times)
  2. pubkey (same as public key) (1 time)
  3. sign (3 times)
  4. signatures (3 times)
  5. publish (11 times)
  6. broadcast (1 time)

Here are the relevant quotes:

Every user is identified by a public key. Every post is signed.

it is based on cryptographic keys and signatures,

you write a post, sign it with your key

There is no mention of "secret", "private", or "account" terminology in nostr-protocol github.

I recommend not using "account", as this is a term used in centralized services like gmail, lyft, twitter etc.

I like @pgerstbach suggestion of using public key.

Because nostr-protocol git does not use private key, I recommend instead to use the term "Signing Key", or "Signature".

@tyiu
Copy link
Collaborator

tyiu commented Feb 17, 2023

Sorry, I just remembered that this was a thing and left it hanging.

If you look into NIP-19, it uses public keys, pubkey, and private keys as terminology.

Public / private key pairs is pretty well known terminology for many folks who are well versed in technology. Since it's already in the NIP, I feel like that is the best option.

I feel like signing key or signature could be confusing to folks.

But yes, I don't think Account should be used.

Thoughts?

@alltheseas
Copy link
Collaborator

Staying consistent with the NIPs sounds reasonable.

Would be great to eventually poll options with non-technical users. Related PR: #243

@pgerstbach
Copy link
Author

Public / private key pairs is pretty well known terminology for many folks who are well versed in technology. Since it's already in the NIP, I feel like that is the best option.

Thanks tyiu, I see it the same way.

As a reminder this is the current view in Settings:
settings

Why is the public key called "Account ID" but the private key "account login key"?
Those words does not explain anything.

So now, after letting it sink, I am in favour of "public key" to label the npub1xxxx thing. To stay consistent it might be best to call the nsec1xxx thing "secret key". This way to UI would actually help non-technical users to better understand what the fields actually contain. They might wonder what npub and nsec means and using those labels they can see that "pub" stand for public and "sec" stands for secret.

UI is like a joke. If you have to explain it, it's not that good! 😅

@alltheseas
Copy link
Collaborator

https://damus.io/note1mver8pxjpmz0s3u3rqv0wkqcx7uj2l9azy3m6nekn22qgp0z80mszg9evu

Jack:

"notes” is a far better label than “posts”.

and more unique to #nostr

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants