Add Substrate address login to forum

Suggestion was made to post this here.

1 Like

I think this is a great idea, and probably pretty simple to implement.

I would think teams like Polkassembly already have a solution for this. I donā€™t know how proprietary it is, or if it could be ported to the forum as a Discourse plugin.

It seems there are also solutions already existing for Ethereum which can act as a starting point:

End of the day, someone just needs to build this, and I think, after peer review, it could be added here.

2 Likes

mentioned to jaski and a couple of other devs, so we could push this forward.

there may be interesting ways we can square the circle of dot/ksm forums with token gating, this may also provide a path to scaling the forum in a more organic way, than splintering things.

1 Like

I think natural addtions to Web3 login are:

  • badges which signify token balance within certain ranks (small, medium, large, whale)
  • moderator / elevated privledges granted to council members (if they would still exist after open gov)
  • access to certain sections which may be private for on-chain-collectives like the fellowship (more here)
  • access to certain sections for those who have authenticated their account with a web3 login
  • nft pfp
  • user to user tips / badges similar to reddit, using tokens burnt to treasury (naively this would be super centralized)

Anyway, there is a wide range of options available. It just needs to be developed.

3 Likes

Out of interest is there a ā€˜forum roadmapā€™ in any way or is this more an ad hoc managed site? who is ultimately responsible for upgrading / evolving it, or is this just something people do in their spare time?

As the person who originally did the research to see how we could adapt a forum to cater for our needs instead of building it, I can tell that itā€™s not trivial, and as a result, I decided to build Polkassembly from scratch, with such functionality at the core.

Discourse like many other platforms are general purpose. Access to the DB is only made possible through plug-ins. Deeper changes arenā€™t possible unless you modify the platform, opening a can of worms in terms of maintenance.

Itā€™s not to say thereā€™s nothing that can be done. The link you proposed with SIWE for instance allows it after youā€™ve already created a user with an email, which is one of those strong requirement imposed by the playform. While this is not ideal, it may be good enough.

As per the code, it revolves around creating a unique message that users need to sign. Upon signing verification, a user is given the token (jwt) as if they had provided the right credentials.

1 Like

@shawntabrizi who is most involved on the forum in terms of maintenance and what is the process for pushing upgrades? I couldnā€™t find a repo for the forum on github.

we are working on the technical R&D around linking discourse and substrate addresses - ultimately people will be able to login with via whatever address / chain they prefer.

for newcomers we are aiming for a more fluid onboarding process using burners, that allows them to use an email address and gradually move towards a point where they have an address.

once we have substrate addresses, we can move on to identity, rights, permissions and indeed proposal development and governance, as well as considering questions around storage etc.

The forum is a managed instance of Discourse. There is no github that we own behind it.

The people managing the forum are the administrators here:

https://forum.polkadot.network/about

1 Like

Reposting this here:

Would you be open to integrating this functionality and others that are currently contained within Subsquare as plugins on a discourse foundation?

We are working to more tightly integrate discourse based forums - which enjoy a far better user experience and knowledge sharing structures than Subsquare or Polkassemblyā€™s off-chain forums currently offer.

Have posed same questions to Jaski / Polkassembly teams.

i think polkassembly / subsquare teams should join technical forces, and work collectively to make discourse based forums more functional

We are open when we have enough capacity and budget, but the current task queue is very full.

Correct me if I am wrong but there are two ways to approach this:

1. Add Polkassembly/Subsquare features to Discourse

Pro:

  • People are used to Discourse and like to use it

Con:

  • We basically have to maintain a fork of Discourse (IIUC)
  • We probably only get a subset of features

2. Add Discourse features to Polkassembly/Subsquare and migrate the forum to those

Pro:

  • We use Web3 software as we should
  • Probably increase on-chain participation

Con:

  • People like their discourse

I see the the first one unlikely to happen because of the maintenance burden.

There is a third way, and that is to do a full bespoke integration between Discourse and Substrate via existing, custom and bespoke plugins.

This is possible and would allow us to create a far better flow and UX both from onchain triggers that can then create topics and then from discourse to substrate - where we can make the process practically seamless between:

Discussion ā€”>
Debate ā€”>
Proposal ā€”>
Proposal iteration ā€”>
Push on chain ā€”>

The ultimate aim with all of this is to bundle the whole flow into a unified experience.

We can also look to integrate mastodon, peertube and other activity pub / fediverse tools to make chat and media a part of the same UX, eg with this tight integration when a proposal went onchain, the UX would surface live chat under it for the duration it was in voting.

This sounds good. I thought that it wasnā€™t possible as a plugin because this was already explored:

What you have in mind doesnā€™t fall under the ā€œdeeper changesā€ mentioned in the quote that would require modifying discourse itself?

Correct, on investigation we can do a lot with plugins without going under the hood.

Iā€™ve used Commonwealth, Politea, Snapshot, Polkassembly and Subsquare and the general issues are all the same - there just isnā€™t a tight UX/UI that really consolidates the on/offchain elements into a cohesive flow across the full phases of governance.

Simple example: if we can login to these forums via substrate address, why canā€™t the various extrinsics required to push a proposal on chain be part of the basic UX. Commonwealth (that hosted Edgewareā€™s gov) tried but it was unloved and never really worked.

1 Like

I do think this is the most realistic way, and improving user experience is one the our most important jobs. I think we donā€™t have to just focus on discourse features, while many github features are also very useful like github flavored markdown(already implemented on subsquare), issue mention, checked list, etc.

1 Like

Please take the following as critical feedback - we all want to make things better, so Iā€™m going to be direct.

Governance is at its highest and most abstract, the process of making decisions as a group.

If you want to optimise for the highest order outcome within communities, it is simple:

Optimise for increasing collective intelligence.

Iā€™ve now been a heavy ā€˜userā€™ of many different governance forums - Politiea, Commonwealth, Polkassembly, SubSquare and Discourse.

Alongside this I have spent (like everyone here) an insane amount of time stuck in Discord, Telegram, Element, Whatsapp, Google Hangouts/Docs, Zoom etc etc. The switching costs between these varying platforms, philosophies, identities and UIs is a massive drain on the ability to sustain and scale collective intelligence.

Discord etc are not the right space to begin. They constrain culture into a box weā€™re trying to escape.

My approach to learning / iterating on-chain governance has been to get involved, be part of the process and to be inside the mechanisms themselves.

Before ā€˜cryptoā€™ I launched / coordinated / scaled many communities and creative projects on social networks dating back to 2007, so Iā€™m very familiar with recurring patterns, issues and roadblocks faced when it comes to increasing the collective intelligence of diverse social groups.

Or said another way:

Lets start by cutting to Polkadotā€™s primary issue when it comes to driving up collective intelligence of the group.

Philosophy

  • Of the governance forums iā€™ve used, only one has been designed from the start to be a fully unified experience that bridges user experience, technical integrations (read and write to the chain), proposal changes, integration with a ā€˜contractor management systemā€™, native DEX and that is Decredā€™s Politiea.

  • The issue with building generic governance forums for ā€˜all chains and tokensā€™ as Commonwealth tried is you end up doing everything sort of ok. Polkassembly and Subsquare are better version of Commonwealth - I would say Subsquare is likely the best UX/UI of all, but they are still a long long way from being the sort of best in class experience that comes from designing from the ground up for a vertically integrated decision-making engine.

Incentives

  • Commonwealth / Polkassembly / Subsquare struggle as well because of the independent nature of token economies that are not economically incentivised to tightly bind their ecosystems within a unified stack/interface since they are selling their own token and systems, hence the increasing complexity with forums / UIs. This is practically speaking unsolvable. I also see this as a primary barrier to the likelihood of killer applications emerging from the unification of ā€˜independent parachainsā€™ underlying projects like Apillon Web3 development platform as a common good infrastructure - Polkadot Treasury Proposal.

Network effects

  • In highly experimental, emergent and exploratory communities. the real test of governance is where do people want to discuss things and what form do they use?

Currently the network effects, and the collective intelligence is here, not anywhere else.

This is where conversations, topics, challenges, opinions, debates and arguments are their most dense.

Where do conversations, and collective intelligence expand and evolve best?

What feels like the most fluid process?

This is I would argue, Polkadotā€™s most successful app - and yet is has no on-chain elements, no chain integrations, no treasury analytics - it is succeeding by having a potent mix of great user experience, user-base and interesting conversation.

Screenshot 2023-06-21 at 09.43.20

Discourse has optimised and evolved from the ground up to serve communities with tools, processes and structures that enable them to engage in ā€˜governanceā€™.

The important question to ask is this:

Given network effects, via plugins, can Discourseā€™s foundation evolve to become a better Polkassembly/Subsquare quicker than they can become a better Discourse?

My approach is very very simple - and it is to stage by stage more tightly integrate the lived experience of governance into a process and tightly integrated open source stack that streamlines the following into a unified UX:

  • Discussion
  • Debate
  • Proposal development
  • Chat
  • Education
  • Multi-Media (Text, Image, Video, Livestreaming, AI assistance)
  • Identity
  • Reputation
  • Fund management
  • Collectives
  • Funding (across various phases of development)
  • Legal & Compliance
  • Parachains
  • Security

We are building out all of this in sync, mostly using existing tools and services, rather than building new things - adding in talent, and tech as and when we need it.

You and other teams can absolutely demonstrate Iā€™m wrong in my approach - I would happily depart this forum and contribute actively on any other forum including Subsquare, but right now, the collective intelligence is at its densest here.

Hey @shawntabrizi - is this a ā€˜businessā€™ instance of Discourse? Am presuming so.

I am not sure at which tier this instance is running, but that seems like a fair assumption.

@shawntabrizi we now have a poc running that integrates Discourse Connect and Substrate address login via Polkadotjs.

From here we can more easily move to soulbound NFT identities, token gating, badges and Wallet-less onboarding (Experimental concept) with burners.

Should we maybe organise a call to talk through?

I have pinged the admins and moderators about this thread, and hopefully it is something they will be able to guide the rest of the process with.

Specifically @erin seems like a good candidate to take a second, closer look.