Firestorm - an open source forum to be built in Phoenix!

This looks really good! :023:

Not only will it be built in Phoenix, but the whole process will be documented via screencasts on DailyDrip - making it much easier for devs to get into the code base, allowing for much easier expansion/custom development/creation of plug-ins.

It’s on Kickstarter, I hope it gets to $20K so that there is an accompanying Electron app as well :003:

Check it out here:

https://www.kickstarter.com/projects/1003377429/firestorm-an-open-source-forum-in-phoenix-from-eli?ref=thanks_tweet

19 Likes

Even tho I feel it’s a positive thing, I don’t think there’s need create another forum software at the moment, Discourse is solid enough and there are plenty of other options (NodeBB, MyBB, phpBB, SMF…). Yes, building it in Elixir would be cool, it would provide the outer world some insight on what’s elixir capable of, however, a forum software is in my opinion not the best way to use up Elixir. Keep in mind, forums have been declining for the past years, just look at Google:

.

I’m pretty sure Josh can come up with a better idea than yet another forum software.

Disclaimer: I’m personally trying to create a forum for one of my websites, they’re cool, but creating a new professional forum software? I don’t think so.

My 2 cents.

4 Likes

If there were a way to integrate an off-the-shelf Forum app using the umbrella features of Phoenix, demonstrating plug-and-play sub-apps, I think it would be incredible.

6 Likes

I think it’s ok, especially for learning purpose. Laravel community already done that. And it’s a cool project to learn Elixir/Phoenix. But I’m still in doubt for backing this kickstarter, because I still have to pay for their credits (tutorial). I prefer one-time purchase thou :grimacing:

4 Likes

IMHO Elixir is a very good choice for forum software especially for high volume forums (We had to run forums for popular tv shows and it was not fun). In any case it’s up to each developer to decide what they want to dedicate their efforts to so if @knewter finds it to be fun and rewarding then it’s a good choice. I would say that having a quality forum solution will help moving things forward especially since things like presence can be leveraged to offer some unique features.

3 Likes

… especially since things like presence can be leveraged to offer some unique features.

Exactly. The point is not to simply copy an existing design pattern
for a “forum” but to re-think community communication using the
capabilities of the Erlang/OTP/Elixir platform.

5 Likes

I disagree. Discourse is great from user point of view. When someone configures it correctly, and hosts on appropriate hardware.

The hosting requirements are especially difficult to meet. I can imagine hosting this forum is quite expensive, and yet - it’s not exactly large community just yet (that’s why we are more than happy to chip in by sponsoring package - and you should do too if you can!).

In fact I had the idea of setting this exactly formu before @AstonJ did, but rejected the idea since Discourse seemed like too much hassle to set up and maintain.

So here you go, a slimmer, faster, cheaper, easier, modern forum software in Phoenix - I’m all in.

5 Likes

I’m all for more open source projects of any form in Elixir. Isn’t that one of the key points of the What can we do to accelerate the adoption of Elixir? thread? :slight_smile:

I also agree with the followings:

5 Likes

In addition to what everyone else has said, don’t forget there has been lots of interest from people wanting to replace the Rails Discourse backend with Phoenix/Elixir, here’s one such thread:

Also @hubertlepicki is right about the hosting. I actually bought the domain in June 2015 (shortly after I started the Ruby forum) but kept putting it off because setting up multiple Discourse forums on the same server just seemed crazily complicated. I even had to get a new server because Docker wasn’t supported on CentOS 6. Even now we need custom firewall rules because every time our custom security software updates (and restarts the firewall) the docker container loses connection to the internet - so social logins break, one box break etc.

Having said that, from a software vendor’s perspective docker makes things significantly easier because they only have to support one stack - theirs. (This also highlights another Elixir/Erlang strength - you don’t need redis servers and what not, Erlang & Elixir can do it all.)

On top of all of that, I think competition is good because it helps drive innovation :slight_smile: it’s not going to be easy displacing Discourse, it is really good software made by a really talented team… so I’m eager to see what Josh and the Firestorm team come up with :003:

9 Likes

Josh’s blog post going in to more detail:

4 Likes

I think it’s a great idea and another valuable project for the ecosystem. I wonder how difficult it would be integrate the forum thread with external sites.

For example, I could see a great use case for a blog that autopublishes a post and link to the forum, with all blog comments actually being forum responses.

3 Likes

Better still, why not use the forum to power the blog? This would allow a uniformed experience across the site. I have used a forum platform to power a site that has a non-forum homepage, news, articles, user’s blog posts etc.

A forum platform can easily do this by incorporating a few things:

  • Custom thread fields
  • A half decent templating system which allow the use of conditionals (so the first post of a thread in a particular section can be the ‘blog post’ and all subsequent posts ‘comments’)
  • A custom pages system that allows relatively simple queries (such as fetch the latest 10 threads from section X) to act as section homepages.
2 Likes

Very true the only difference between forum and blog is sort order blog being sorted by post date and forum by thread’s last comment date :slight_smile:

2 Likes

Happy to see that, I think it is a good chance to learn phoenix.

BTW, you must didn’t hear http://phoenix-china.org ,an amazing forum made by phoenix and vue^_^

8 Likes

I just want to thank you for make this happen… To create this forum. Really helped me a lot man… Thanks :slight_smile:

4 Likes

Heh, we’ll see how the Elm frontend works out :rolling_eyes:. I think Discourse’s use of Ember was a smart choice. Good luck to Josh and the team though, we need more Elixir success stories.

1 Like

I didn’t go into this at all, but having the forum be able to drop in as a comment system in Phoenix apps is definitely a goal. We’re also building OAuth support in so it’s trivial to connect to existing apps rather than requiring people to integrate it into their codebase.

In general - the goal is to make it a top notch experience that shows off how awesome Elixir can be. So we can expect it to absolutely have real-time behaviour by way of Channels, as the most obvious example. Sorry I haven’t been active in this thread - last 2 weeks have been comically busy, between the Kickstarter and Cyber Monday and traveling to New York to speak at a GDG event and SF for various businessy things :slight_smile:

4 Likes

Seems like you’ve made it, congratulations :smile:

2 Likes

I’m waiting to contribute to the end of the KS, but I hope you get some of those stretch goals.

One can imagine a future where elixirforum.com decides to eat its own dogfood and use Firestorm instead of Discourse which is really cool but is Rails/EmberJS…

Anyway, kudos for the project and hope to be able to participate through open source!!

I wonder if you could make something “real-time-e” enough to replace something like Slack.

Slack is great for quick chats, but I find myself always coming to the forum if I want to read something (following threads is a lot easier than scrolling through chat history). The forum is also a lot more searchable, because you get answers in the same place questions were asked.

It would be cool if new questions would pop up as new threads in real time, and answers would follow suit within those threads. This is probably as much of a design challenge as it would be development, because you probably need the barrier to starting a new thread to be as low/as casual as asking a question as a Slack message.

5 Likes