Social features and why not PHP based?


(Katie Hunter) #1

Hi! katie is here :0)

I’ve been following Discourse for few month since last year and shared few topics about it on Vbulletin, I liked what i saw so far. I am the owner of a popular anime community ‘Nihonomaru’ Well the site started back in 2007 with a Vbulletin base forum.

While I loved several of discourse features and see it has great potential, the only downside was that it is not PHP/MySQL base but Ruby/PGSQL and I am looking into integrating it for my homepage which is a php base based on a Zend framework. I am planning on using Discourse when it reaches a stable stage for a different company project which i can’t reveal currently, however, I’ve always wondered, why never forum base software never attempt to make it more social like Twitter, G+, and FB?

For instance if i want all these nice social features, i had to code it on our site ex http://www.nihonomaru.com/profile/rina-touin.1/about and we have the “Discover” tab which shows feeds related to users’ activities and what they share, you like them, and so on just like twitter.

I’ve never seen any forum software taking this approach, whether it is Vbulletin, Xenforo, IPB and so on and still their focus was community, conversation and sharing. Discourse has live feeds and is taking a different approach when it comes to conversation. Is there any plans currently or in the future to evolve Discourse profile system into using features similar to social sites? While i have features similar to it, i think as a forum base, it will be unique for everyone to try them, it helps shape the community you like to create based on the niche you like.

Not everyone spends 2+ years into coding features like twitter, FB and G+ on their own site while adding creativity to its features. It takes a lot of time and effort. I don’t think VB, Xenforo or IPB are taking this approach but I think Discourse given that they have a unique live feeds and conversation, can be potentially successful in these social areas.

Have Discourse ever thought about this?
Is there a reason why Discourse went with Ruby/PGSQL instead of PHP/Mysql?

I couldn’t find a suggestion forum to create my topic in. I thought the closes was the feature category. Please feel free to move this topic if it is in the wrong category (:


(Jeff Atwood) #2

Great! Glad you like Discourse!

Some info on the Ruby choice here (skip the MSFT first half) Why Ruby?

What exactly do you mean by social features, can you be specific?


(Katie Hunter) #3

To be specific more like a “Discover” feature through hashtags, for users who have friends or followers in their list to see their feeds, what they said, or share from videos, picture or links. I call these social features =)

To give an example from my site: http://i.imgur.com/12hhUKL.png


(Katie Hunter) #4

Have Discourse team though about this approach? =) or any future plan for it ?

Because that would be really great which stands out more than any other forum base software . IPB, VBulletin and Xenforo don’t have any plan for anything like this, they keep re-adding the same forum features on their forum with each new version like what happen with VB 4.x and VB 5.x. They aren’t trying anything new.

Now days online interaction between your followers or your friends have changed, catering toward features similar to Twitter, FB and G+ in term of profile feeds, and so on. It makes sharing information great whether it is on public and a personal level.


(Konrad Borowski) #5

Who would want to use a language where "0xA" == "10" (note, those are strings, not numbers), and whose only advantage is that it’s available almost everywhere. Ruby makes it easier to make a great product than PHP, with lots of edge cases. As for PGSQL instead of MySQL, the reason is that full string search is way, way, way better in it.


(Katie Hunter) #6

From what i heard and i am not a web developer is that Ruby makes easier for many starter to use it and understand it better than php frameworks which are complicated but great applications are built using php. My site is using Zend framework, and it works great although complicated to learn from what i heard but i am not the web developer.

I shared Discourse on Vbulletin because i personally liked it and the first comment which came from a VB staff, is that it is not PHP/MySQL. This is a VB first impression from one of its staff:

For short form discussion, its fine. For anything long form, its a bit of a pita. A game I backed on KS is using it, and I’m not a fan of using it day to day to try to find information, or carry on a discussion. Time will tell.

Its not PHP/MySQL though, its Ruby/PGSQL, and it looks like it requires 1GB of ram to run out of the box. Which would mean that you’re not going to get away with it on any sort of “shared” hosting. You’re looking at a proper VPS, or very good shared host.

I am on a dedicated server, so it won’t be a problem but might be for new customers who are on shared hosts and can’t afford vps or dedicated servers. I see Discourse having great potential, though. I just wished it was php so i could have intergrated with my homepage.

Ruby can’t be integrated with php like zend framework, right ? I haven’t asked our web developer about this yet though.


(Nicolas_Blanco) #7

As a end-user of Discourse you should not really care about it’s PHP or Ruby or XYZ aside for the hosting. Because Discourse provides a full API and standard authentication systems like OAuth2 (used by many social sites like Facebook) which you can use and integrate on every major technos out there including PHP.

The social features you are talking about (following users, custom profile page where you can post things and other users can comment) are features which can be developed in a totally external application (which would be using Discourse API) or in a Discourse plugin which would extend users profiles.


(Dave McClure) #8

Worth considering next time creating two separate topics for each of these discussions, as there are really two separate conversations here:

  1. Are there any plans to add more social features to discourse?
  2. Why isn’t Discourse using PHP/MySQL? (Or why is it using Ruby/PSSQL?)

I’m not sure where to start with the first question because it seems like you may have a lot of specific ideas about what kinds of social features you’d like to see added. I recommend creating a new topic focused on that subject if you want to push it further because its now gotten a bit lost by the second question.

Why isn’t Discourse using PHP/MySQL?

Its a fair question. It certainly does impact how you go about getting your forum up and running, which is perhaps a downside in the short term, and developing in Ruby on Rails at first can be a challenge. But the team is focused on the long term (you’ll see that repeated elsewhere on this forum).

The answer to “why not PHP” may be different from the answer to “why Ruby”?

And as @codinghorror wrote on this blog post

In addition to the links above, here are some other topics here on meta on that you may want to peruse:


(Abhishek Gupta) #9

I not quite sure, but are you asking for a feature like “News Feed” in facebook?
Or you wish to add a comment system, the one similar to StackOverflow?
For the comment thing, it can be implemented via plugin in discourse as well .
See : http://disqus.com/

The code can added after every post/Reply (whatever you like it to be), and there you have a comment system, which doesnt only looks nice but it is very much organised and you have no headache of storing and retrieving the comments from a database whatsoever. The Catch here is that you need some logic to add the code to every post such that disqus sees it as Distinct and thus dont mix up the comments.
But, again as an end-user, you don’t need to worry about that, ask you developer! :smiley:

However, the only drawback here is that it will increase the overall loading time, if you think of implementing it to all the replies, say good-bye to discourse’s Fast and Fluid thing. I might be faster if you cache the comments, but again you are after all an End-User.

Although there may be some ways to implement it in the core,maybe faster, but i don’t know much about that, i m with discourse a few weeks only, still learning!


Btw, @coddinghorror thanks, that was a good read!


(Katie Hunter) #10

Hi, well my main topic title wasn’t clear so i think a staff changed it into 2 questions base =) but my PHP comment came as just my personal opinion, many web developers are using PHP and webmasters are asking for it and from a server side it also faces some challenges, for instance, not many server administrative are familiar with ruby on a server, many which i’ve met and they are senior server administrative from http://www.webhostingtalk.com, they are more familiar and expert in a linux base server setup.

But yes this topic is focused more on the social features for user profiles and the “Discover” tab, take it like twitter for example

  1. Sharing news, images, links in a discover tab with your followers or friends.
  2. Being able to like or reblog your message or reply to it.
  3. Having hashtag feature when writing a message for your friends or follower.

That social aspect of sharing news or anything with anyone that you now or don’t know. And some might say well you have twitter but many webmasters would love to see these features integrated on a forum base software because each and everyone have a certain niche. For instance my site and forum is related to Anime and Manga.

Others are related to Video Games, to be honest, i wouldn’t be surprised if IGN http://www.ign.com/boards/ transferred to Discourse if they find it easy to integrate and feature rich, they did move to Xenforo for that reason and Xenforo is a new forum software which is still in beta as well.

An API might be a great solution, it would act i guess like DisqusI actually see now that i mention it that Discourse and Disqus could team up in a future collaboration project (that is off topic) :d silly me

So yes, my focus was the social feature aspect for Discourse.


(Katie Hunter) #11

Once Discourse reaches its Gold state, we will install it on our homepage and connect it to our anime/manga database, so members can carry conversations and topics using discourse.

More then 1.5 million registered member will be using it once Discourse reaches gold =) it is in plan now. Hence, i really hope Discourse keeps improving and adding these nice social features. It has a very bright future.


(Katie Hunter) #12

@codinghorror @sam Hey! =) is there an ETA for when Discourse will reach its Gold State?


(Jeff Atwood) #13

You should start experimenting with it now, no need to wait unless there is some particular thing blocking you. The sooner you start living in the house, the sooner you can tell where the furniture needs to go, what color the walls need to be, etc.

Don’t wait to experiment. It will just delay you further.


(Katie Hunter) #14

Well, our own project is big (already 2 years in development) and focusing on anime and manga fans, so that by itself is a lot of work for us =) because we pay attention to every detail and feature and we probably revise the same thing several times with tweaks http://www.nihonomaru.com We still have many things to add.

What discourse will be is connecting the forum to our homepage database and integrate it with some customization and plugins but i don’t want to ask our dev to spend so much time on it and later find all these updates running for discourse and we would have to rework things many times. I mean upgrading can be troublesome many times, just like VB or any other software, especially when you customize the software too much.

But we want to built a new community based on discourse to give them the ability to discover each others profile on the main homepage.

I also came across few posts from @sam saying that he is working on stabilizing discourse recently, so i wouldn’t want to launch it live for thousand of members and find server issues and trouble, would run us under stress that we wouldn’t need.


(Johan Jatko) #15

If Ubuntu, BoingBoing and HowToGeek are running it, im pretty sure it is stable enough for production for your use. (Just use the latest-release branch and check for feedback before updating to newer versions).

Also, you can always run it side-by-side with your current system so you can get used to it and have everything finished for the launch. =)