Truffle Community Updates - Introducing Github Discussions!
By Emily Lin
At Truffle, our goal is to fuel the growth of Web3 through the expansion, support, and cultivation of the dapp developer community and tooling ecosystem. As such, we’re retiring our fragmented support channels in favor of GitHub discussions! This post seeks to explain our motivations for doing so and what this means for the Truffle developer community.
Challenges¶
Before GitHub discussions Truffle provided support through several different platforms:
- Gitter
- Discourse
- Discord
- r/truffle
- GitHub issues
- Spectrum
- Zendesk support tickets
This presented three major problems. On the developer side, it was unclear where to go to find help. It was also difficult to find out if questions had been answered before. On Truffle’s side, the overhead in monitoring all these different channels made it difficult to provide the first-class support that our robust developer community needs. Overall, this lack of clarity in where to go for what meant that opportunities for community building and feedback could get lost in a sea of support requests.
Now, it’s time for a new approach! Our goals to manage the Truffle community are as followed:
- Know exactly where to go for questions
- Can search historical data to see if questions have already been answered
- Have their questions answered within 24 hours
- Have a platform to express feedback and ideas
- Can collaborate and bond with other developers
Evaluated Channels¶
When analyzing the tools we had at hand, we decided between Discord and GitHub Discussions for support.
We considered Discord because:
- Live chat seemed like it could provide faster response times
- We could separate topics into various channels
- It’s a popular means of support amongst other Web3 developer communities
However, Discord was not an ideal solution because the search functionality was not robust enough. If a developer Googled a problem, Discord answers would not be discoverable. Also, the chat could get noisy, as users are, by default, notified of every message, regardless of the channel or organization.
Additionally, threaded replies aren't hidden, which makes reading messages difficult since irrelevant replies are also displayed. While there are merits to surfacing potential messages of interest, it ultimately provides a clunky user experience for highly active support cases.
In evaluating the pros and cons of GitHub Discussions, we liked it because:
- We could pin important posts, such as our detailed installation guides for MacOS Monterey and Windows 11
- Questions were discoverable via search engines such as Google
- We could create categories to logically separate posts by topic
- Developers would only get notifications for the posts they are interested in
- A discussion could be quickly converted into a GitHub issue for our engineers to address if necessary
- Community members can interact with posts via upvoting, reactions, and marking helpful answers
- GitHub is a platform for developers, which means new Discussions features would align closely with Truffle’s needs as an open source project
Our primary concern with moving support completely to Discussions was that it didn’t provide insight on how quickly questions were resolved - a vital metric in determining whether or not we are doing our jobs correctly.
We’ve posted feedback for GitHub here. Please upvote to help us service Trufflers better! Our other concern was that Discussions is a public platform, which could be problematic for developers who may have personal questions with more sensitive information.
Our Solution¶
After careful deliberation, we ultimately decided on a hybrid approach as follows.
GitHub Discussions¶
GitHub Discussions is your one-stop shop for getting your questions answered about using the Truffle suite. You can search discussions to see if your question has already been answered, and if not, ask the question yourself! This is the place for fellow Trufflers as well as our support team to connect, discuss ideas, and help each other out!
GitHub Issues¶
Create a GitHub issue on the relevant repository if you are making a feature request or are reporting a bug (find repositories under our GitHub org). GitHub issues typically result in a code change and are more directly related to developing and contributing to Truffle’s open source code. You can search through issues to see if you’re encountering a known problem or pick up an issue and create a PR if you want to help address it yourself! If you have a question about using Truffle in your smart contract development, GitHub discussions is the way to go!
Zendesk Support Tickets¶
Zendesk support tickets should only be created when you need 1:1, personalized help because your question includes private, sensitive content. We understand that sometimes, a public post is not ideal. However, Github Discussions has a variety of advantages: 1. You could potentially help other developers facing the same problem 2. You would have more eyes on your question, and thus a faster feedback loop
If Discussions is still not the way to go, you can start an email thread with our support team through Zendesk.
Discord¶
We’re reimagining Truffle’s Discord by completely dropping our development support in the #truffle-support channels and redirecting users to Github Discussions. Instead, we’ll be focusing Discord on community building. We’re tackling this initiative through a variety of ways, and you can learn more about them in our upcoming “Improving Developer Engagement” blog post!
Get involved!¶
We invite all aspiring and current smart contract developers to help grow and support the Truffle community. Ask your questions on GitHub Discussions, and help out your fellow developers by answering and interacting with posts. Make feature requests and alert us about bugs through GitHub issues. And finally, don’t forget to follow Truffle on Twitter to stay updated on our latest product release, events, and more!