I’ve started seeing Discourse everywhere, and I couldn’t be happier! It seems like it is quickly becoming the standard choice for communities looking to quickly set up new discussion forums or replace existing forums based on old platforms and outdated UX patterns.
However in some ways it feels like a victim of its own success - every time I want to post to a new Discourse community, I need to create an account, set up a password, etc. Some communities have bothered to set up OAuth via Github, social media, etc but many have not. I have to create and verify a new account on their Discourse server just to ask one question, offer an answer, or even an answer that I found helpful.
Compare this to my experience on the StackExchange network, where I am offered a “Join This Community” button on a community that I wish to interact with for the first time. When I click this button, I get an offer to sign up using my login from another community:
The new account is automatically created and logged into with a single click.
I think my issue is that there is an unstated assumption that each Discourse community is its own island, and that users sit around all day logged in to a single forum waiting to see responses and new questions, having fun by earning badges and racking up privileges. In reality the vast majority of users’ interactions are need-driven, with only a very few users anchoring the communities to participate on a regular basis. I believe a typical user’s interaction with a Discourse community is something like:
- Have a problem
- Google for an answer
- Can’t find a solution anywhere on the internet including the group’s Discourse forum
- Decide that my problem is pressing enough to create an account on the forum
- Ask my question or comment on an existing question
- Get an answer from someone, or eventually figure it out on my own
- If I figured it out on my own and I’m feeling prosocial, report back to the Discourse forum with my solution
- Go back to living my life
- Years later, have another problem and try to remember my credentials so I can log back in to the forum again
- Repeat steps 5-10
Much of this process is hampered by having to create a new account for every new forum I want to participate in.
I realize that StackExchange communities are managed by a central company, whereas Discourse communities are hosted in a completely decentralized manner, but it seems like this could be implemented with Discourse establishing its own identity provider service. In contrast with integrating something like Github or Facebook, where the administrator for the forum has to take active steps on an external website to set up OAuth with these providers, it seems like the necessary tokens for a “login with Discourse” button could be automatically set up through the standard installation process.
I know there have been other conversations about this issue, but they seem to be overly complicated in scope and gotten off track.