Invitations, implicit account creation, self-deleting and usernames

AI-generated summary

Invitations and Implicit Account Creation in Discourse

The invitation feature in Discourse allows registered users to invite others to the community via email or a shareable link. If the invited user clicks the link, Discourse creates an account for them automatically, allowing them to start posting immediately. However, this process raises three challenges:

  1. Implicit account creation might be surprising for both the inviting and invited users.
  2. Unused accounts may be left intact if the invited user doesn’t realize an account was created or doesn’t know how to delete it.
  3. Username selection might not be intentional, as users may not be prompted to choose or confirm their username.

To address these issues, several solutions have been proposed:

  • Be more explicit in the invite mail about account creation
  • Prompt users to confirm their username before their first public action
  • Make the “Delete my account” option more visible
  • Delete unused accounts automatically after a certain period of inactivity

@codinghorror suggests that some of these issues are already being addressed, such as prompting users to revise their username in the welcome PM. However, @claas argues that more explicitness is needed, especially in certain regions like Germany where users demand clear communication.

The discussion aims to gather feedback on these issues and potential solutions.

So the invitation feature allows registered users to invite people to the community.

This works as follows:

  1. A registered user goes to its profile > “Invites” > “+ Send an Invite” and provides the email address of person to be invited:

  2. The user can Send Invite directly via Discourse and/or Copy Invite Link and send the link via another channel.

  3. If the user chooses to Send Invite, the mail will say (unless customized):

     {user} invited you to join
       {site_name}
     If you're interested, click the link below:
       {link}
     This invitation is from a trusted user, so an account will be created for you automatically.
    
  4. Once the invited user opens the link (whether via this invite mail or not), Discourse will automatically create an account (given that the inviting user is a trusted user).

The rationale for this is that this allows the invited user to get started and post right away. If the invited user had to provide any details, this would reduce usability and likely also the probability of an invited user to actually dive into the conversation and join the community.

However, there are three challenges:

  1. The implicit account creation might be surprising …
    a) … for the inviting user, as this is what’s meant by “no login required”,
    b) … for the invited user, if she/he didn’t read the invite mail beyond the link or only received the invite link via a different channel.
  2. The invited user may decide not to join the community, but –without intending so– leave its account intact, …
    a) … if the user did not realize that an account was created (and ignores the “Set password for your Community account” mail),
    b) … if the user does not expect there to be a “Delete my account” function or simply doesn’t find it.
  3. The username(*) of the implicitly created account is derived from the email address and the user is never prompted to explicitly revise this choice, which means that …
    a) … the username may contain information that the user may not intend to share with the public or other users of the community (like full name or ilovebritneyspears87) and which may allow deducing the user’s mail address (a good guess would be username@gmail.com),
    b) … the username may be unhandy for mentioning.

(*) = and the name, as it appears

So you may not agree with some of these points, but what if we could solve these challenges without hurting anybody and without breaking the premise that invited users could get started and post right away?

We could …

  1. … be more explicit about the account creation …
    a) … in the Send an Invite dialog,
    b) … be more explicit in the invite mail (e.g. by mentioning it before the link),
    c) … be more explicit in a sticky “notification” similar to what the blue “you’re in Bootstrap mode”.
  2. … differentiate between the link in the invite mail and the link from the “Copy Invite Link” and prompt the user for confirmation only when opening the link from the “Copy Invite Link”.
  3. … defer the account creation until the first action (e.g. writing a reply or liking a post).
  4. … prompt the user to revise its username at some point (e.g. before its first public action).
  5. … make the “Delete my account” option more visible (e.g. further at the top of the profile/settings) and possibly explain, until when or under what circumstances this will still be possible (or not) “in the future”.
  6. … be more explicit about the option to delete the account (and possibly inform about this after a couple of days, if the user has not had any activity).
  7. … delete the account automatically, if there was no activity (and if we properly announce this to the user before).

So what do you think?

2 curtidas

I really don’t think a poll is a good idea for this.

So be it. Switched back to list. :angel:

PS: Can you read my mind?

https://github.com/discourse/discourse/commit/8a5dad16bd273255517cc722f42ae9238769f1c9

2 curtidas

This already happens in the welcome PM, with a link to the preferences page:

I was aware of this. What I had in mind with “prompt the user” was more "prompt the user with a choice between “Yes, keep wumpus1_test as username” or “No, change username to |________|”. In doubt, it only costs the user a click, but gives us the guarantee that this username is complying with the user’s intention. Here in Germany, users tend to appreciate –and demand– explicitness, I think.

2 curtidas