Proposed Improvements to the freeCodeCamp Forum + Localization Approach

I pretty much consider knowing English to be a requirement for becoming a good developer. I don’t think avoiding that fact will help anyone trying to learn software engineering, be it web development or otherwise. It does raise the barrier-to-entry, but I think that is somewhat unavoidable.

Just like medical students and practitioners use Latin and Greek languages in their vocabulary, we use English as the universal language for technical communication. In fact, because I’m self-taught, I would be hard-pressed using my native language (Danish) for technical communication.

1 Like

Thank you to all of you who took the time to respond here.

Here are my thoughts based on reading through all of your responses here twice and sleeping on it:

  1. As @ArielLeslie, @Sky020 and others pointed out, it may be simpler to keep Support in just one language. And I would argue that probably holds for Contributors as well.

  2. As @nhcarrigan pointed out, we could use a Tag feature. But I personally am opposed to it because it takes time to tag posts and it’s not necessarily any more helpful than just searching for keywords.

  3. The General subforum is helpful. I would estimate around 90% of posts here on the forum are indeed technical question-answer threads.

So in the interest of minimizing the number of categories, it might be better to just have a General subforum and not have a Programming Help subforum.

We could then re-categorize questions asked in General that would be better suited for JavaScript, Python, HTML-CSS, Project Feedback, Career Advice, You Can Do This, Support, or Contributors.

This would mean we would have 7 subforums for each non-English language:

  1. General
  2. Python
  3. JavaScript
  4. HTML+CSS
  5. Project Feedback
  6. You Can Do This
  7. Career Advice

And for English we would have 10:
9. Support
10. Contributors
(and a ninth subforum called Staff that moderators occasionally use)

What are your thoughts on this?

Once we’ve finalized what to do, we can start recategorizing posts. (But note that due to the nature of Discourse, there won’t be a way to move posts back to their original subforum once we’ve consolidated them. So we should measure twice and cut once.)

2 Likes

Did the JavaScript one get lost here? :thinking:

I would propose that rather than nesting these in the English category, make them top level categories. While the primary language for conversation might be English, I’d worry that nesting them in the English category might discourage a contributor who isn’t as confident in the language from posting.

My only argument for tagging posts is to allow users/moderators to mark something as specific to React, or Backend - I do agree it takes more time, but using it wouldn’t be mandatory right? And allowing this option would mean that:

  • As a user, I could optionally tag my post with React to let others know the scope of my question at a quick glance
  • When looking at a topic, I could see the Backend tag and know that I might not have the knowledge to answer the question - but I could look at the post to learn something instead.

I’m not sure how often users browse a specific sub-forum, though, so I could definitely see a lack of use-case for the tags. But it seems to me like a feature that could have merit, especially if enabling it doesn’t make its use required.

1 Like

Personally, I like having both a General category for the odds and ends questions and Programming Help for language agnostic help.

We get a decent number of questions about ‘can you help me with code in language x’.

But if we need to collapse those two into one category, perhaps General isn’t the best name?

I agree about the comment wrt nesting. It makes to me to have at the top level

  • English
  • Spanish
  • Support
  • Contributors
  • Staff

and in each language

  • General
  • HTML and CSS
  • Javascript
  • Python
  • Programming Help
  • Project Feedback
  • Career Advice
  • You Can Do This
2 Likes

Thanks for catching my omission of the JavaScript category. I’ve updated my post.

We could try without tags initially and then add tags later if we feel we need to. I suspect that in a vast majority of cases, the title itself would say what the tag would say “How to do XYZ in JavaScript” or it would otherwise be obvious from the title.

We could rename General to “General Help” or “General Programming Help” or something like that. Again, our goal is to have fewer subforums to make the forum less unweildly and also to make it easier for people to easily post needing to put a lot of thought into the cateogry.

I imagine the following categories will mostly be posts created through the “ask for help on the forum” button on /learn:

  • Python
  • JavaScript
  • HTML + CSS

This said, some people posting questions may choose to tag them. I think it’s pretty easy for someone to know whether their question belongs in Python, JavaScript, or HTML + CSS, or whether they should just leave it in General Help. But if we have a lot of different categories for help (Back End Help, Front End Help, Programming Help) choosing the best subform becomes a more mentally taxing task.

This works for me :slightly_smiling_face:

Overall, I think it’s a great move in the right direction!

1 Like

Sorry, just one more question. :sweat_smile:

Is this something we will need to tackle manually?

I have talked with @camperextraordinaire and he has created scripts for migrating these topics in the past. He said he thinks he can handle the migrations for us.

I’ve already gone ahead and moved the DevOps, Mobile App Development, and Design topics over to General manually since they each only had about 100 topics.

1 Like

I think multi-lingual support is a positive move for the forum, but how would that support the curriculum? I mean someone posts a question on the forum, and then gets directed to a lesson/challenge in the curriculum in a foreign language.

Perhaps non-native English users (not only speakers), could use a ‘Non-native English user’ button that appends a note to the post that the user is not a native user of English, so that people who help can use a more accessible level of English in their responses that if translated with a app, could result in a more reliable translation.

Years boiled down to actual class hours of learning could result in probably less than a real year learning the language over the duration of being at school.

A: How long have you been learning web coding for?
B: 10 years.
A: Really? Why are you still a beginner?
B: Well, I only learn and code for one hour a month.
A: Oh, so you’ve actually been learning for only 120 hours.

The good news is we are getting close to launching both Spanish and Chinese versions of the freeCodeCamp curriculum. And these will have “ask for help on the forum” buttons that create issues in the corresponding subforum. So this shouldn’t be an issue :slight_smile:

2 Likes

Hey everyone, some quick updates on these forum improvements:

  1. I’ve flattened the subforums so now the only subforum with nested subforums is Español. I am going to reach out to some contributors and try to get it active, though it won’t truly become active until our Spanish curriculum is live (hopefully in the next few weeks).

  2. @camperextraordinaire is in the process of migrating all of the topics to their new destinations in the JavaScript, Python, HTML-CSS, and General subforums.

Thanks again for helping out with these improvements. I hope this simpler structure makes it easier for you all to find campers in need of help. :slight_smile:

1 Like

Heya Quincy~!

To clarify, will the English categories not be nested like the Spanish?

Ah, this is something I forgot to ask – are you linking the addition of language-specific sections of the forum to addition of languages the curriculum is available in?

We may nest English topics in the future. But for now, with English being the dominant language on the forum by a huge margin, I think it makes sense to keep these as their own top-level subforums.

OK everyone, I have some more updates:

  1. @camperextraordinaire, @ilenia, and @ojeytonwilliams have finished recategorizing the old categories into our newly-simplified top-level subforums.

  2. When you click “ask for help on the forum” on freeCodeCamp /learn, it will automatically populate the forum post with the correct subforum. We have updated this feature to now use the newly-simplified subforums.

  3. I have met with quite a few of our Spanish-speaking contributors, and we hope to see usage of the Español subforum gradually grow over the coming weeks. Spanish is a big priority for the freeCodeCamp community, and we will create a Spanish-language publication, YouTube channel, and maybe even a Spanish Twitter account to publicize these resources with.

  4. We have decided to keep Chinese on its own forum (https://chinese.freecodecamp.org/forum/) to ensure faster performance for people accessing it from behind the Great Firewall.

If you are curious, we are making good progress with the curriculum translation process, and hope to simultaneously launch both the Spanish and Chinese-language curriculum in the coming months.

This is, imho, the single most important thing that freeCodeCamp is focused on right now. And once we have Spanish and Chinese to serve as a proof of concept, we will start the process of translating freeCodeCamp’s curriculum into many other major world languages.

You can check out our translation tools here: https://translate.freecodecamp.org. Right now we are just translating freeCodeCamp’s documentation, but soon we will start translating the curriculum there, too.

As for the publication (freecodecamp.org/news) and YouTube channel, instead of merely translating English language resources, we will seek to produce original tutorials by native speakers of those native languages.

I’m happy to answer any questions you all may have about this. But one thing is for sure: the freeCodeCamp Forum will continue to be the central space in which our community gathers and collaborates. And I am grateful that the forum is in such good shape, with so many awesome contributors. Thank you!

4 Likes

now that crowdsurced subtitles are no more a thing, is there some idea on how to bring the channel more accessible to Hard Of Hearing folks, and native of other languages?

even the Python videos in the curriculum can’t be subtitled

1 Like

That’s a good question. I think we can upload captions manually if someone wants to prepare them. For videos that are less than 4 hours long, YouTube will generally automatically caption them (though these captions aren’t very good). This is something we will prioritize in the future, once we’re done with our basic localization effort.