Since we use Discourse a lot, we might as well get the most out of it. Going through the Discourse features list to better understand what’s possible. Suggestions for improvement will be shared below for further discussion.
We could embed the SourceCred Discourse into the website. This would help us convert interested people into community members
Questions, FAQs, and/or AQs (WIP)
We need to think through how to address the needs of different types of community members. In addition to the Getting Started category and guides, a Help or Questions category might help too. Created a Help category
Could (maybe) even roll it as a Stack Overflow type thing where as people ask questions, if that question is common it gets added to an FAQ Artifact, and then they get Cred from asking a question and engaging with a common problem. I dunno how technically feasible that is atm, but encouraging people to engage, learn, and share knowledge is essential. Will create a post and/or Initiative wish list item to explore further.
The issue is, chronological ordering isn’t the best for such threads… you want to be able to see the best answers upfront. Maybe one approach would be to have askers ask a question according to template, the question is a wiki, and the template has slots for linking to + quoting from the accepted answers (maybe as determined by # of likes).
Not sure if this would be a feature or a bug, but if we can allow people to post without first creating a profile that might A) lower friction in the onboarding flow, and B) make it easier for people to say what they really want without compromising their reputation (if that’s a thing people become concerned with) As @Beanow pointed out here this is not ideal for the SourceCred community right now.
Would be cool to leverage badges to make user profiles more fun and also informative to new users. For example, Discourse admins could have a badge, community engagement volunteers could have a badge, tech support volunteers could have a badge, etc… All of these players would get Cred for contributing so maybe they’re semi-volunteers? but you get the idea
Solved Support Tickets
Not sure if this is the intended usecase of this feature, but the Discourse Solved integration allows users to post problems and then report when they’re solved. Could be great for community/tech help, esp for onboarding and supporting projects trying to learn about and deploy SourceCred for their communities.
If we don’t go with the splash screen, then we should pin some threads
mega thread with all relevant SourceCred info
If Cred flows through the forum, but not the website, should we try to keep the website as simple as possible to get new users into the forum as fast as possible so that they can start engaging with the community and/or earning Cred?
Speaking of, are we measuring views on pages/threads? Because if the forum is the main place for people to create and update information related to SourceCred, then we should give Cred for view too. For example, an FAQ list might not get a lot of engagement, but will definitely be useful. Measuring the amount of people that view it might help?
In principle, cred for changes to the website get picked up too, both via GitHub cred measurements, and also by (future) initiatives describing the website.
I do think our current website does too little to guide visitors towards understanding what SourceCred is all about.
Discourse does record the view counts. Currently it’s not used in cred at all. I worry that it would be way too easy to write bots that anonymously pump the view counts for an attacker’s threads, and I can’t think of any way to detect or mitigate against this attack. Therefore, I don’t think we should use the view counts.
I like the idea of badges and achievements and such, but I’m not sure what kinds of badges we should have.
Right, but websites are static, so unless we’re tracking page views and click through rates there’s no way to know if an addition or change to the website is helpful or not. Supernodes might help with this, but that’s still very subjective.
Also, the point I was trying to make here was that when people (users) view the website they don’t earn or share cred as they do. If people engage on the forum, however, they’re immediately playing the SourceCred game. Then they’re learning about SourceCred, but also playing SourceCred. It’s in interactive learning experience. Seems like a (potentially) much better onboarding experience than a static website (if we can optimize it).
I would imagine that the main goal of the website is to A) provide high level information, B) help people deploy SourceCred (GitHub and docs), C) help people engage with the community (forum). Is that how you see it as well?
Might be able to ban bots, scraper, and automated scripts, but generally agree that the risk outweighs the reward in this case. Good call.
Something fun would be ideal! Will keep brainstorming…
I think this harms transparency and attribution. So I think there needs to be a very strong use-case for this to be helpful I think. About B) people being able to speak more freely, I think there should be off-the-record channels available for this reason. But I don’t think it should be a large public stage, like the forums. I think having to stake your reputation to use the public stage is important to the health of that stage and the community as a whole.
Current off-the-record channels would be private messages on the forums, or direct messages on Discord.
Yeah good point. Anyone can sign up and use any pseudonym they want anyways. As such, the “freedom of speech” argument here was weak.
The onboarding ux flow argument is also weak because A) can’t flow Cred to an unregistered guest, and B) people can read without a profile, but if they want to play the game we need to flow Cred to their profile.
Overall, totally agree. Thanks for pointing this out
One immediate idea would be to embed Discourse into the website as a main section of the website. This could help convert interested people into engaged community members. If we embedded the the Help category, then (I think) people who skimmed the website and wanted to learn more could immediately (after creating an account) start engaging with the community and asking questions.
I like this idea. I think the Discourse is the strongest part of the project from a community/engagement perspective, so having the website leverage it makes sense to me.
The website repo lives here, if you feel like hacking on it I can do some upfront work in writing a proper README and adding some development instructions. (It’s a very shitty website, I hacked it together over the course of a weekend.)
Looks like it’s mostly just basic React stuff right? If so, I should be able to noodle around on it to explore integrations. If I do, however, I’ll fork it first so that I can deploy a staging demo before merging into the master
Been exploring Discourse more and we can actually add headers, footers, splash sections, images, custom colors and boxes, backgrounds, fonts, etc… all the basic website things. Essentially, Discourse can be customized to become a mini website. Not sure if there’s a plan for the current website, but we could probably recreate all the components on the current website inside the Discourse homepage. If we could do that, would it maybe make sense to just make sourcecred.io the Discourse homepage?
FTR this site is 100% pure play Discourse goodness
Besides that it would just be awesome, this could also optimize engagement with the SourceCred community. Right now it’s mostly 5-10 people. If Twitter, the podcast, and our other outreach campaigns would link directly to the forum. People who hear about SourceCred would be one click away from engaging with the community. They would still see high level info on the website, but they could also ask questions and create a profile to start playing the SourceCred game right away!
I like this idea! The one thing I’d miss from the current website is the cool animated SourceCred logo. But it’s not the most important. The site you linked is a compelling example in that it has all the splash-page stuff I’d expect, and then transitions into Discourse.
I’d like to get thoughts from some others (@s_ben, @wchargin, @Beanow) on this change. And we’d need someone to champion it. But I’m definitely open to it.
I’d be happy to champion the initiative. Also, may or may not be able to include a cool animated logo What would be really great though… and I’m not sure how to do this yet… would be if we could have the SourceCred graph as the main splash screen so every time you open Discourse you see the latest snapshot on the homepage. That would really drive home that A) this game is live and working, B) you can play right now by contributing to the community, and C) SouceCred is awesome!
Oh and btw, I added a footer, some header links, and some other stuff to see how it looks. I’m still just experimenting with everything, however, so if anyone has suggestions for improvement please share
Totally! Thanks for the feedback I actually have a dark mode extension that makes it dark for me so I was totally unaware that was happening. Will look into fixing that
EDIT: went into the CSS of the plugin and it was set to make the footer the opposite of the main page for contrast. Changed it so that they’re the same. Doesn’t feel like a “real” footer (doesn’t stand out), but at least now it’s not blinding us as night lol
EDIT 2: got it set so that it’s a different color than the main background, but still similar. Is that better?
EDIT 3: changed the header to match the footer. Are we happy with that, or is it weird?
EDIT 4: so the light and dark themes both looked great, but the neutral theme was being difficult. TBH I’m not even sure what “neutral” means in the context of a theme. To keep things simple made dark the default theme with light as an option users can self select in the hamburger menu.
Manually took a snapshot and uploaded the image as a background for the homepage. Will either find a better homepage banner and/or manually update the snapshot every few days. If/when we get a server to regularly run the protocol and create a new snapshot we can just point the image to that snapshot