Best Chat Gem compatible with Heroku [closed] - ruby-on-rails

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
Can anyone tell me what is the best Ruby chat gem/plugin that is compatible with Heroku? Can Node.js be used for this and does Node.js play nice with Rails 3?

I am working on upgrading my open source chat gem to be Heroku compatible (soon, hopefully). It's called Mad Chatter. Soon you will be able to easily integrate it with any Rails application.
Heroku supports HTTP long polling, but does not support web sockets. Web Sockets are a great new technology, but until Heroku supports it, you will want to look for gems that support long polling.
One popular solution is to use Socket.io, but it is meant for running on node.js. Juggernaut works like this (as a node.js server) except that it stores each message in a Redis database so that you can access them from Ruby. My only criticism of Juggernaut is that there are so many pieces involved to get it up and running.
Faye is a library which supports long polling and is available as a pure Ruby implementation which can optionally use Redis to store messages. I'm opting to use Faye because there are simply less deployment dependencies.
I'm sure there are other options but I know that Faye is a pretty popular solution. That being said, these are just the communication gems. They are only the foundation of your chat app. There are a few different "chat gem" options depending on the types of features you need. But by using Faye, you could implement your own simple chat app.

The Juggernaut plugin for Ruby on Rails aims to revolutionize your Rails app by letting the server initiate a connection and push data to the client.
http://juggernaut.rubyforge.org/.
Refer this thread

Related

Real time messaging application [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
I am curious to know the advantages between using parse or a custom xmpp server. I am curious if parse has the capability of being used for creating a real time chat application, because I have never used parse for that use. Or would it be easier and better to use a custom xmpp server to handle messages. I am also curious if parse would be able to completely delete data off the server because that is what my application requires. As background info I have already started the project with parse, but I could switch over to another option if it is necessary.
Thanks
In my experience with working with Parse, I don't believe that it's the correct solution for your needs.
You may get things up and running at first, but as you try to scale your application, you're going to need to ramp up your servers (and cost!) greatly to handle so many requests. Parse's pricing is based on your requests count for the month. Imagine how many requests you expect one user to make in a month. Now times that by 1000.... Not very scalable, huh?
Now I don't know much about xmpp servers, but I've heard from some colleagues that applications like WhatsApp are using Erlang and TCP servers (just like Call of Duty) to handle message requests. In fact, here's an article that talks about the logistics of WhatsApps technology https://www.erlang-solutions.com/about/news/erlang-powered-whatsapp-exceeds-200-million-monthly-users
Best of luck!

techniques to deploy web application: heroku vs in house vs vps ect ect [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
I'm looking for a document that explains the techniques to make the deployment of web applications: in the cloud, in-house, in housing ect ect ...
For every technique I would like to know the pros and cons, so I do a general idea.
I searched online but have not found anything really comprehensive and interesting.
Can you help me?
Apps
Web apps all have the same structure -- series of files running on a server "stack", accessed sequentially from middleware, or framework-based load structure
Your question, therefore, is more about which stack is going to be most scaleable, efficient, robust & expansive (can add extra resources). Here are the options:
Heroku
"Managed" cloud (environment already set up)
Runs off AWS instances
Versatile (runs any gem / app)
Owned by Salesforce
Lots of add-ons
Highly scalable
Not sure about price
Easy deployment (git push heroku master)
Cloud (AWS / Rackspace)
"Full" cloud
You're responsible for environment (OS, gems, ruby ver etc)
You're responsible for uptime
You have to maintain db etc yourself
Scaling can be a pain in the ass
Can deploy your app in a totally bespoke environment
Performance likely won't be issue (have 100's of servers to pool from)
VPS
"Shared" hosting
Have to install environment yourself
Very tricky to keep gems / ruby / rails up to date
Have to maintain the db etc yourself
Not many companies actually offer decent VPS
Costs more than Heroku
Not very scaleable
If someone else causes issues on the server, your app gets hit too
We use Heroku for all "baby" apps - AWS / Rackspace for apps with growth

How to use Comet in Rails 3? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
Is there any library to use Comet in Rails 3?
I read that Juggernaut does not work anymore.
I'm using Passenger standalone as the server.
What about Faye? Here's a Railscast screencast which will help you.
By the way, we discussed this issue a few days ago. Here's the question.
Ok I tried Juggernaut and had some problems installing its dependencies, but after solving that it worked just fine. It does not depend on Rails, you only need Ruby, so it works with Rails 3 too.
You can use Pusher. It's not free, but very easy to use.
Juggernaut does not work anymore due SSEs.
This is a browser API that lets you keep open a socket to your server, subscribing to a stream of updates. It's perfect for the use-case Juggernaut was created for, and what's more can be implemented in a few lines of Ruby. In other words, it makes Juggernaut completely redundant.
I found a gem that implements some Comet functionalities: Cramp, I haven't used it yet, but you can try to implement it in your proyect.

Ruby on Rails API Tutorial [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I've never worked with or written an API before. To help me learn, I want to write a Facebook API library RubyGem.
I'm thinking I should start with learning how to write a simple API with RoR.
Do you know of any good resources or tutorials that will help me learn how to write an API with Ruby?
I think you'll first have to chose what is exactly that you want to learn, since there's quite a few parts to this.
A gem such as facebooker is used to consume the API of a web service rather than "create" or expose an API (for a web service). In order to understand a library like this and what it does, you could try to learn more about APIs in general, but also about ways to access them using Ruby.
Even though Rails and the Rails community are embracing RESTful (or actually RESTlike) APIs, there are a bunch of other forms around as well, such as SOAP. Facebook e.g. has ditched REST in favor of their graph API. Check the answers for this question, which deals with the different types, to learn more: Examples of the best SOAP/REST/RPC web APIs? And why do you like them? And what's wrong with them?
For ways to access (REST) APIs I'd suggest taking a closer look at the source code of gems such as e.g. HTTParty and rest-client as well as Ruby's standard library Net::HTTP.
What comes to API's and web services, I've heard good things about "Restful web services" but there's a whole bunch of books and about a gazillion blog posts out there on this topic. Google is your friend.
And then you'll probably want to have a look at the development of ruby gems in general. This answer might give you some pointers in this regard: Ruby : How to write a gem?
This is an endless topic and I suggest to just get started somewhere. Learn how APIs work, how to access them and then read lots and lots of source code, e.g. of Facebooker or one of the other Facebook API gems. See how they work and start writing code. Good luck!
http://8raystech.com/2009/10/06/a-real-life-restful-rails-application
[edit]
The above link is broken.

What's a good mail server for development use? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
I'm doing some development which will involve reacting to emails, and I'd like to use a local IMAP mail server for this.
I currently use Devnull SMTP server for testing of sending emails, but this just logs and discards messages, it doesn't do IMAP for checking incoming emails/mailboxes.
I don't need/want a full-blown server, just something lightweight I can easily start/stop as required.
Multi-platform is preferred, but feel free to provide answer for specific platforms also.
(A POP3-based server would also be acceptable for development use, since I'll be supporting both in my code anyway.)
Take a look at hMailServer.
I consider JAMES the best mail server for development. And its portable too. Fully written in Java.
Mercury Mail Server is a full featured mail server (minus webmail), however it is very light and should meet your need: Mercury Mail Server
Edit: Forgot to mention Windows/Netware only
Check out courier for unix-based machines. I've run it for quite some time on a linux machine, and it's very nice. You can easily enable/disable the features you want, including SMTP, POP, IMAP, SMTP Auth, SSL versions of protocols, etc.
exim works nice even in windows via cygwin.
Mdaemon is an excellent windows MTA. Lots of good reasons to use it in production too.
Another different option is to use Gammadyne mailer in server mode.
http://www.altn.com/products/mdaemon-email-server-windows/
http://www.hmailserver.com/
http://www.gammadyne.com/gm-list_management.htm

Resources