I would like to start a discussion about the virtues of dogfooding within the Nim community.
This comes in response to a comment on reddit:
"For god's sake use something like discourse for forums. Current forum does not leave a good impression to users, is not comfortable to use and is barely working. I understand dogfooding philosophy, but Nim is system's programming language. It is awesome nim can be used to build websites and some websites built with Nim should definitely exist. Like say nim sandbox or paste site. Making forum with bare-minimum functionality and dropping it on your community is a mistake if you are not going to develop this forum into a product that could compete with already established solutions. And frankly - people want you to develop Nim, not a freakin forum. Please :)"
I couldn't DISagree more!
I've always mentioned nimforum as a major accomplishment; that, despite being relatively new, Nim already self-hosts a fully functional message forum! It is a demonstration of how easily something like this can be built in Nim.
Dfeed also deserves a positive mention, but message forums in other compiled bare-metal "system(s)" languages (ex. muro, gobb?, ...?) are well behind. (Please correct me if I missed something.) What does it say about Rust, Swift, Julia, Haskell, Crystal, etc if, despite being more popular, they still don't have an equivalent of nimforum?
I don't like RST, but, that aside: This forum is fully functional, comfortable, free, and usable from all browsers. The latter especially cannot be said about Discourse. I am going to post this message from w3m (a text-only console browser) just to prove this point! :)
"Dogfooding" is an example of deferred gratification, avoiding the easy path in order to accomplish much more in the long run. It encourages you to spend more time "being the driver" rather than a passenger, investing into creating and improving rather than following others. And it's not like we're reinventing the wheel: the existing solutions are very far from perfect!
I think the free Web software that is popular today (WordPress, MediaWiki, etc) is only popular because of momentum, starting at a time when languages like Nim were not yet around. Discourse is an especially clunky piece of software with dozens of dependencies (both inside and outside of Ruby gems), which means more of a security attack surface. Nim Web apps, in contrast, can run from a single jailed static binary. And of course: Ruby / Rails doesn't scale.
Lastly, as an advocate of genuinely free software, I can't avoid mentioning that nimforum is fully copyfree, which cannot be said of the more established forum packages, also noting that PHP and some other dependencies have more restrictions. (Discourse itself is GPL.)
If I wanted to start my own Web-based forum for whatever reason, I would use nimforum as the base. When the count of developers who use Nim goes from hundreds / thousands to millions, I'm sure there would be lots of nimforum forks adding whatever bells and whistles that people want to add.
I would highly encourage the Nim community to take "dogfooding" further, especially in creating independent Nim-centric alternatives to "the new Microsoft"s - proprietary giants like GitHub, Reddit, Twitter, Facebook, etc...
This forum is fully functional
[citation needed]
Libman, generally I agree.
But one problem is, that by reinventing something that already exists one can waste much time and the result may not be of highest quality. Of course reinventing can be a nice exercise for beginners, and it is a fine test and showcase for the power of the language.
For the forum: Homepage and Forum are most likely starting points for new users. I can well remember my first impression about forum when I discovered Nimrod some years ago: Forum of a few kids created in year 1990.
So I am sure current Forum will scare off many new Nim users. But maybe that is not such a great disadvantage, I would guess that really bright people are not scared of that much. A very nice forum may attract many new users, also many stupid once with a lot of questions. And if the few Nim developers try to answer all the questions, that would cost much time. On the other hand, if many questions remain unanswered, users will be sad and vanish again. So maybe current forum is indeed the best compromise.
Projects like Nim forum and Aporia editor seems to provide the team with projects to experiment with Nim, find the best strategies and practices to write code for specific domains, and then bring back their experience to Nim standards and libraries, this lead to why people think Nim is awesome.
I don't think that Nim team would mind if the community start introducing new features to the forum, improve it, add extensibility, new functions, plugins, make it the next best forum platform, wouldn't you like to introduce Nim by saying, "are you X product? well it's written in Nim"?
I understand that the other platforms have a larger users base, they all started from somewhere. So start contributing here:
This forum is fully functional
The forum is very usable
All of these five things mentioned above were present on the forums I have been regularly visiting 15 (!) years ago.
Hacker News is one of the most popular tech sites and it does not have any of these fancy "forum features".
Despite this I would like to refresh the Forum's design and make it mobile friendly. But we shouldn't overcomplicate things with features found in phpbb.
Dogfood refers to developers using their own product being actively developed so that they will be annoyed enough by its rough edges to fix them.
Yeah, and that's exactly what happened. We effectively got rid of all the spam, for example.
Inspect Element to get a link? Seriously? There's a timestamp on every comment -- dogfooded forum software would make that a copyable link.
PRs are a welcome. But guess what, I don't need the feature, so it doesn't exist yet. It is dogfood software whether you like it or not.
https://www.macmillandictionary.com/us/dictionary/american/whether-you-like-it-or-not
"used for saying that you cannot change a situation even if it is unpleasant"
Nope, doesn't apply.
Nope, doesn't apply.
For the record, I'm fine with people complaining about the forum software (sorry, I really like it and will improve it rather than replace it) but please don't redefine what "dogfood software" means just to have better arguments. :-)
Email notification used to work but got broken when we moved to HTTPS iirc. Not sure what it takes to fix it.
But, well, does anyone maintain the repo? Issues and PRs opened in 2015 are still there :/ I am afraid to just do the job which will never be merged.
Yes, we do maintain it. The open PRs are usually not in a state we consider mergable. Don't be afraid to submit a PR.