I'm working on an app requiring live one-to-one chat amongst users, presence, and other real-time functionality.<p>My app uses rails/backbone.js/MongoDB, and for real-time stuff I've been using PusherApp, but it has limitations--the biggest one being no easy way for my server to know which users are online (to indicate presence).<p>What's the fastest way to get this sort of thing done?<p>I've been looking into learning how to write something in Node.js/socket.io, or use a service like BeaconPush, PubNub, or Kwwika (and keeping my code in ruby w/ EventMachine).
(Disclaimer: I'm the project lead on Beaconpush)<p>Beaconpush is a good alternative for doing this. We support user presence and you can use the API to find out what users are connected. You can even log out users from the API.<p>We have a contributed Ruby library (called Dimma) made by one of our users. Don't think it's EventMachine based though. Read more at <a href="https://github.com/Burgestrand/Dimma" rel="nofollow">https://github.com/Burgestrand/Dimma</a><p>node.js with socket.io is also a nice alternative. Played with it somewhat myself and I like it! But hosting it yourself will make you deal with scaling, deploying, uptime and hosting in general. Not exactly stuff you want to focus on when developing things on a tight schedule.<p>So if you're asking me, I'd naturally say Beaconpush (<a href="http://beaconpush.com" rel="nofollow">http://beaconpush.com</a>) :)
Have you tried the presence functionality described on <a href="http://pusherapp.com/docs/presence" rel="nofollow">http://pusherapp.com/docs/presence</a> ? It doesn't cover all use cases, but for the cases it covers, we think it does a pretty great job! Disclaimer: I'm from Pusher :)
Also found:
Using node.js, backbone.js, socket.io, and redis to make a real time chat app
<a href="http://news.ycombinator.com/item?id=2306423" rel="nofollow">http://news.ycombinator.com/item?id=2306423</a>