Yes, we did.
In the wake of the vast community support for the use of Discourse as the Fedora Badges frontend and the fact that now both Ask Fedora and Discussions would now merge into one unit, we pretty much had to. Please note that it looked like an “everything looks like a nail when I have a shiny new hammer” case when I started off looking into this, but when I delved deeper into the Discourse software and the studies that @mattdm has done regarding this - I started getting more and more creative ideas as to how we can bend Discourse to suit our needs. So what did we end up finding?
TLDR[1]
Add some convenient-to-make changes here and there, and Discourse should be worthy of being the frontend for the Fedora Badges system.
NIWTRTLV[2]
As Discourse is a flexible open-source software with support for custom community-made plugins and the fact that we have a managed infrastructure subscription for the same, it really depends on how willing we are to embrace the new frontend interface. It comes down to not just engineers/designers/sysadmins from within the community and those from the Community Platform Engineering team - but also to the entire community who would be using this system down the line.
Investigations performed…
Being an annexure to the original investigation[3], this functionality, for the most parts, was treated as something which is nice to have. It took a team of one around a couple of weeks of slow inspection to get to the conclusions we have reached. The treatise can be found here[4].
Starting interactions…
The experiment[5] integration[6][7] of Fedora Discussions with Fedora Badges was not only successful but it also brought these badges to the forefront and a part of active discussions. No longer would the acquired badges be left behind gathering electronic dust, but these now can be (and arguably, have been) set as custom titles and the top three selected by the users can be flaunted about in the user card. Here’s how I imagine certain discussions to go in this forum when folks have these set up.
-
After seeing that @jakfrost has a “Nest With Fedora 2022 Attendee” badge…
AD: Hey, I saw you attended Nest With Fedora 2022. Did you happen to attend that
$(ARBITRARYTALKNAME)
?
SS: Oh yes, I did. It was pretty fun and I got to learn a lot of new things too. Did you know that$(ARBITRARYFEDORAFACT)
? -
After seeing that @spot has a “In Search of the Bull (Tester I)” badge…
AD: Hey, that is a really shiny badge “Tester I” you got there. Do you mind telling me what
$(ARBITRARYFEDORACONTRIBUTION)
you did to get it?
TC: Of course not. So first you do$(ARBITRARYFEDORACONTRIBUTION)
, then you do$(ARBITRARYFEDORACONTRIBUTION)
and then you get the badge! -
After seeing that @riecatnor has SOOO MANY badges…
AD: Hey, you have so many shiny design-related badges. I would like to start contributing to Fedora Design but I don’t know how I can…
MN: Not a problem, let me onboard you to the team. Join$(ARBITRARYFEDORACHATROOM)
and attend our meetings on$(ARBITRARYMEETINGROOM)
This is just scratching the surface about the types of interactions made possible with the integration but in the larger scheme of things, folks can expect the following to happen.
- New contributors getting inspired from the badges[8] received by someone else, and understanding where they can start with their contributions.
- Existing contributors actively finding new places[9] to put their efforts into and discovering new avenues of participation to earn cool shiny badges.
- Existing contributors trying to level up[10] their badge path to gain an edge over their fellow contributors in a friendly contribution-based competition.
- All contributors engaging in conversations[11] around badges, and the scenario that led them to get those - which can lead to a greater sense of bonding.
- All contributors setting a certain badge as their custom title to mark an occasion[12] (say, Fedora Week of Diversity, Creative Freedom Summit etc.)
The move of having Discussions f.p.o. as the frontend for the Fedora Badges system, not only relieves our contributors from building yet another frontend from the ground up but also helps them focus more on the parts of the system that needs more attention, i.e. the backend. The fact that this involvement makes Badges a very involved part of the community and its discussions, just happens to be an added plus that we can take advantage of.
Technically speaking…
In the internal entity chart, the Discourse frontend can be a drop-in replacement for the Liberation entity[13]. The remaining parts would, more or less, stay the same as we still want the Database entity to be the “single source of truth” to all the entities involved in the Fedora Badges system. As it stands, the interactions for the proposed Discourse frontend entity would be pretty much the same as that of the Liberation entity[14] so the internal workflow would not change much from the one proposed previously[15]. This is an excellent result as this helps dedicate the efforts put in by the contributors to the parts of the system that could really use their attention i.e. the entities that constitute the backend like Accolades API entity, Messages Consumer entity, Accolades CLI entity, Database entity and Collection entity.
Please note that this does not mean that the frontend side of things would involve work. Owing to the fact that the current catalogue of badges on Discourse[16] leaves a lot to be desired, it is something that would require frontend designers and engineers to rework the same and to make it look “fedorable”[17]. The leaderboards (each for weekly, monthly and all-time) have to be implemented as well so even these require assistance from the folks who are well-versed with the frontend technologies but a lot of these functions would be streamlined as we would not be creating things from the ground up and simply build upon an already-established and well-documented Discourse plugins ecosystem. The platform makes use of HTML, CSS, and JavaScript for its frontend while Ruby for its backend, as mentioned in their repository[18].
Backup plan
We can always make the current integration work with the newly created system, just in case the suggestion to utilize the Discourse frontend is not accepted by the community or if it proves to be too difficult to implement. By highlighting our badges on the Fedora Discussions forum, using them as custom titles, and putting them on the user cards, we can develop our own frontend while making sure that they are not left behind gathering electronic dust. Please note that, in this case, the integration would be deemed as a “nice to have” feature and not as a “needed” one to ensure that the more important parts are looked into first.
So what do you think?
This is when I stop speaking and open myself up to what you folks have to say. Please answer the poll with your preference and help us understand your choice by commenting below. As this decision would lead to us, paying more attention to either of the parts on a branching road, I strongly recommend following up your choices with feedback and counting for those choices only which were explained. The options marked with [NEEDED]
are more likely to be implemented on priority while the options marked with [NICE TO HAVE]
are likely to be implemented at later stages or when the situation requires them to be implemented.
[NEEDED]
We should build our own frontend from the ground up for the Fedora Badges system.[NEEDED]
We should have Discourse as the primary frontend for the Fedora Badges system.[NICE TO HAVE]
We should build our own frontend while having integration with Discourse for the Fedora Badges system.
If you have reached this part of the textual content, I would like to thank you for spending your valuable time reading this detailed analysis. Please feel free to reach out to me or comment down below if you have any questions and I would be glad to be of assistance.
Acronym for “Too Long Didn’t Read” ↩︎
Acronym for “No I Want To Read The Long Version” ↩︎
https://fedora-arc.readthedocs.io/en/latest/badges/index.html ↩︎
https://fedora-arc.readthedocs.io/en/latest/badges/discourse_integration.html ↩︎
A magical one, if I may add ↩︎
Go comment under this thread if you haven’t already to be a part of this experiment ↩︎
Folks, who are new to the community, are mostly at a loss of where they can contribute and it is better to have something pique their interest in a natural manner than having stuff assigned. ↩︎
In a community as vast as Fedora Project, discovering new SIGs, workgroups and teams organically can be difficult - unless something lucrative shows up and incentivizes folks to participate there. ↩︎
The leaderboards and rankings are there for a reason and it helps mark out members who have been contributing extremely well and inspiring other members to do the same as well. ↩︎
In a community where folks meet each other over textual conversation and video conferencing platforms to serve a purpose, it is nice to get a reason to have a water cooler chat, every now and then. ↩︎
I am drawing parallels to a run-of-the-mill social media trend here as it really helps make people aware of a certain event or occasion happening so that even they can participate and contribute in it. ↩︎
https://fedora-arc.readthedocs.io/en/latest/badges/prop_rewrite_entities.html#internal-entities ↩︎
https://fedora-arc.readthedocs.io/en/latest/badges/prop_rewrite_interactions.html#la ↩︎
We should really consider having this trademarked if we haven’t, you know. ↩︎