I reflected on Votes in our community and changed my mind. @B_Sp and other community members’ enormous contribution is helping us to shape Fibery (thank you for that! ), but not everyone is ready to write something just to support the idea. While I still think that Votes are less useful than comments, they are still useful and we will take them into consideration for our decision-making process.
Also I gave serious thoughts to our feedback management process, and the end-game for us is to use Fibery as a Feedback Portal as well. It is a long-term goal, but there is a permanent gap between community feedback and our real product model/plans/priorities. There should be a single space where community members can see the whole picture and help us shape Fibery.
It’s hard to do with any external software and Discourse is not an exception. Here are some problems that should be addressed to have a good solution:
We have a product model as a hierarchy of Product Areas, Ideas, Features, Stories and Bugs. It’s very hard to map this model to Discourse. We might map all Product Areas as categories, but it will complicate feedback submission.
We prioritize Features/Stories/Bugs, but this is not visible here and there is no clear way to do it.
We want to collaborate from a single space, while here we can only sync data into Fibery, but again it is not visible for the community.
So far we’ll try to squeeze value from Discourse, but in the meantime we are thinking how to replace it with Fibery.
This is exciting to see Michael, and I echo Matt’s appreciation of your commitment, consideration, and patience. Software development and community management are both imperfect, messy things, and when you smash them together (as is necessary in a software tool community ), it can get even more so.
I think for now you need to keep them separate and use Fibery relations internally to associate public feature requests with internal features, product areas, etc. And I’m thinking about it and not actually sure how it could be otherwise.
Let’s say you have a perfect Fibery 2.0+ in the future that has the ideal permission model to show your “roadmap” to the public and let people add requests and vote on everything. Do you think most users are going to make appropriate decisions about how/where to put their feature request in your internal organization of everything? For example I would be willing to bet nobody would have ever put anything into “Fear management”, because what the heck is that? We in the forums know what it is because you’ve explained it many times here, but the average person wanting to make a feature request never would. I would bet there are plenty of other potential examples.
Of course you could just have all Feature Requests go into a single “uncategorized” type of place and then Fibery team manually moves it where they think it goes, that could work. It is not much different (in my view) from connecting Discourse topics with internal Fibery tracking, although it is a bit more complicated, less integrated, and not bi-directional as you say. But it seems that manual work is necessary to manage it in either case.
So some improvement could be made, but my point basically is that the issues you outline of Product Area, Idea, etc. complexity are not unique to Discourse and I’m not sure you’d want to map that model to Discourse nor fully expose it directly through Fibery even if you could.
This to me is super exciting because I honestly have not seen a really great product in this space! Productboard is surprisingly bad, in my view (no conversation, no participation between users, just isolated feature requests and a form of voting). Canny is the best one I’ve seen so far, at least for the front-end/user experience, but it too has some issues, and more importantly it lacks in integrations with most actual product and dev management tools except through e.g. Integromat. And if it’s all implemented right, i.e. in a flexible model as Fibery has been so far, then it should be useful for lots of other things I would think. Public form view and submission, and some way to handle “public” (non-user) interactions for voting and comments, ways to create public-“sanitized” or appropriately limited views for e.g. public roadmap without exposing all internal discussion and details, etc.
No, I don’t think so. I still think that it is good to separate requests from our real features/ideas/stories, since people don’t want to think hard about our product structure and we should not put this burden to users. However, some part of the model can be exposed, for example, high-grained product areas like Integrations, Automations, Search, etc. It’s relatively easy for a user to add requests into Product Areas and then we’ll link them to features/…
Then our team links feedback as usual, and the good thing for us here is that we still can show a total number of votes from all sources for the request (we can get it from Feature/Idea/etc as a lookup field).
When we’ll have blocks, it will be also possible to include blocks from other source into request, thus providing a more complete view and spark better discussions.
Note how you can react on every use case (block) and have thread discussion about every use case. It will help us to define what use cases are more important and prioritize our MVP accordingly. Now we mainly have to guess, since requests are often too broad. For example, take this request
It has at least 5+ use cases. Diff, revert, named versions, etc. What is more important? We can guess, but sometimes guesses are not so good.
And roadmap report can be quite easy to show, since we can add Start/End date and Status for Request as lookups and just create a Timeline that will show all requests. Everything will be in sync and there will be 0 manual effort to keep feedback and plans consistent.
I agree about Canny, most likey it is the best at this moment. They get many things right. But if we replace Discourse with Canny, we’ll get almost zero benefits.
Oh yes, I agree. I just brought it up as an example of how that product/service space is not that well served yet (from what I’ve seen). Your mockup above looks quite promising vs. the existing options, especially given how it then integrates into the entire rest of the back-end dev/product management power and flexibility of Fibery. Can’t wait to have this available and be able to recommend it to other teams I work with!
So now that you use the Vote plugin, does Fibery import the vote count with the Discourse integration? I don’t have a plugin-enabled instance of Discourse to test this with at present, so I thought I’d ask. If not, it seems important to add!
Moving this reply to a more relevant thread as it’s mostly about feature voting. Sorry for the long response, but hopefully this illuminates some things, and does not itself require a mile-long response from you.
That’s OK, I moved my vote too It’s interesting to see how I have felt the desire to shift them around depending on various factors over time. For example, for me it is not just about what I need most right now, but also what I think is most likely to get done “anyway” vs. something that may “need more support”, as well as relatedly whether something has “enough” support without me, and I can thus use my votes for “underdog” things perhaps.
The number of votes is actually intentionally limited in the way the plugin was developed. It allows the forum admin to set a specific number of votes for each “trust level” (a Discourse concept explained in more detail here). I would say the defaults of the plugin are rather low, but the idea is arguably sound, which is that more long-time members of the community, who are thus more “invested”, get more ability to influence things with their votes. The reason for vote limits at all is it should better represent the real value of things to people since they can’t just go upvote everything that they care even a little about. It’s not perfect, but it’s a simple and reasonably effective approach, at least in theory.
But one problem with this - which is not Fibery’s fault, but a limitation of the “vote” plugin for Discourse - is that the votes count for both feature requests and bugs (well, I should say, they count for any category that voting is enabled on). I have recently advocated for allowing per-category vote limits, which I think would be very helpful and sensible (particularly in the distinction between bugs and features), but so far there is no real traction on that. If Fibery was interested in contributing a little money to the problem, I imagine I could get some “matching” funds. Say $100-200 or something. I’m not sure if that’d be enough to fund development, but it’s worth mentioning.
Anyway, as I said the number of votes depends on your Trust Level. Somehow you are a “Member” here, which in the plugin’s default config gets 6 votes (you can see your votes here: Profile - B_Sp - Fibery Community), while I am “Regular” (as in a “forum regular” I think), which gets 10. Given your activity here I have no idea why I’d be a more “trusted” member than you, and keep in mind this is generally an automated, system-driven trust level “promotion”. So somehow I did something that the system considers valuable that you did not. I would certainly advocate for a manual promotion for you to “Regular” at the least (Trust Level 3, i.e. “TL3”), if not “Leader” (TL4).
So for @mdubakov and team, two suggestions, and a request for consideration:
So the way I see this is that each feedback channel has to be treated differently because the rules, limits, and general interaction paradigms are different. This would be true even if “voting” were not an option. For example let’s say you get 10 requests from a single person in Intercom for a feature that is important to them. You will very likely not get someone in the forum posting 10 times about a feature, because it’s public and considered bad etiquette (not to mention mods generally clean up/merge such things). And with votes or “hearts”, one can only express importance a single time. So how to gauge importance of a feature for each person? Systems like ProductBoard make this explicit such that each user can indicate “nice to have”, “important”, or “critical”: New Features - Amazing Marvin | Product Roadmap
Something similar has been suggested for the Discourse Vote plugin, like “Supervotes” (e.g. being able to use multiple votes on a single feature), but it has so far not been well supported, much less implemented.
In any case the point is that the Fibery team needs to have some system for deriving feedback volume and importance, and thus a feedback “weight”, from different sources, in different ways. Discourse makes this easy, to some degree, with the Vote plugin. But it doesn’t exist in a vacuum and so must be harmonized in some way with other feedback sources. For Intercom I imagine it’s harder, but my understanding is that Fibery team gets a lot more volume of feedback through Intercom, so it’s a bit challenging as we don’t see any of that, and unsurprisingly the resulting weights/scores don’t necessarily make sense to us.
And of course these things may need to be adjusted over time. You pick one set of ratios and calculations and see if they work and make sense in practice. If not, you have to adjust. There needs to be room for iteration and change. But unless that is made public knowledge, an apparent shift in priority over time can seem arbitrary. A “little bit” of transparency can be arguably more dangerous than total transparency as it tends to invite questions that would be self-evident with total openness. But total transparency is hard too.
Hopefully you can get more votes whether or not you get bumped up a Trust Level. I think everyone at TL2 should have more. I also think some explanation of how they are calculating weight of Intercom feedback vs. forum feedback would be nice to have. That said, my ultimate hope is to see Fibery (the tool) have a way to expose feature priority information publicly, and for the Fibery team itself to use this to keep us all more in the loop.
In the end the data (feedback volume, weight, etc.) is also only one factor in the decision making process, of course. Michael and his colleagues have written extensively and insightfully on the many factors that must be balanced. I imagine you’ve read these, but I’ll post them for the benefit of other possible readers.
Thanks for the time and effort into a nice detailed post @Oshyan
I actually have similar logic for when I’m voting (underdog support etc.) but I guess I should think about how meaningful it is for me to cast votes now I’m ‘on the inside’!
I’ll leave it to Michael to decide if the vote limits should be adjusted, but he won’t get to it before September (he’s offline til then)
FYI, the criteria for each of the trust levels is defined here:
It doesn’t seem like it’s possible to manually promote individual users to TL3 :-/ and I think it’s currently only Fibery staff at TL4
It is possible, but it’s a little unintuitive. If you have Admin access, you can go to /admin/users/list/active (or just click Admin from the hamburger menu and select the Users tab) and then click on their name and scroll down and you should see a dropdown menu where you can change trust level.