There are tons of free apps, with contenders like Kandan (<a href="https://github.com/kandanapp/kandan" rel="nofollow">https://github.com/kandanapp/kandan</a>) if you're looking for a self-hosted or free alternative to HipChat/Campfire, you can even find sexy-ish Web clients for IRC (<a href="https://github.com/thedjpetersen/subway" rel="nofollow">https://github.com/thedjpetersen/subway</a>).<p>The problem I see with message apps is that it's like email; you really wished you could host it yourself and fine tune things (as well as make sure nobody is eavesdropping). But you can't have it down or (worse) performing at half capacity. It needs to be up all the time with almost perfect quality.<p>Sure you can set something up yourself, but you'll probably struggle with maintaining a decent QoS, and if your team is any good, they probably won't allow that to go on very long.
Someone seems to have broken the demo by typing in some JavaScript. Doesn't seem to be sanitizing input completely.<p>EDIT: Looks like it's CSS, not JS. In case it helps, here's what I'm seeing [1], and here's the code from the message:<p><pre><code> <style>* { float: left; display: block }</style>
</code></pre>
[1] <a href="http://imgur.com/BoZ6lrF" rel="nofollow">http://imgur.com/BoZ6lrF</a><p>EDIT 2: Yup, style tags don't seem to be escaped. Tried changing colors of the room a few times, and it worked:<p><pre><code> <style>* { color: green; }</style>
</code></pre>
EDIT 3: Issue filed here: <a href="https://github.com/HashNuke/mogo-chat/issues/2" rel="nofollow">https://github.com/HashNuke/mogo-chat/issues/2</a>
It seems that the room message state is synced via a poller, as seen here: <a href="https://github.com/HashNuke/mogo-chat/blob/master/assets/javascripts/pollers/message_poller.js.coffee" rel="nofollow">https://github.com/HashNuke/mogo-chat/blob/master/assets/jav...</a><p>I'm curious why you decided to implement this with a poller instead of with a Websocket. There's actually a reasonably detailed answer about how to do this sort of thing with Ember Data in the emberjs.com guides: <a href="http://emberjs.com/guides/models/frequently-asked-questions/#toc_how-do-i-inform-ember-data-about-new-records-created-on-the-backend" rel="nofollow">http://emberjs.com/guides/models/frequently-asked-questions/...</a><p>Either way, how did you find working with Ember Data in general? What were the main sticking points?
I am glad to see an Elixir app on HN! Elixir is a great language I have been enjoying messing with in my spare time. It's far below a 1.0 release but its syntax is delightful and it's been a good excuse to get familiar with BEAM and OTP as I know nothing of Erlang.<p>So quality of the app aside (I haven't looked) everyone should give Elixir a go.
Suggestion: Have messages instantly appear in chat (maybe with a loading icon to one side) when uses hit enter/send... then display an error if it fails to reach the server. Not <i>enter</i> ........ <i>message appears</i>. It'd make the app feel much more responsive.
I would like to see a credible open source alternative to Campfire, etc, so this is nice work.<p>But if it's an Ember app, why don't the different rooms present as different URLs?
"[TODO: Too tired to complete the docs. If you feel like contributing, please take a look at the routers and send a pull-request.]"<p>I approve of this kind of API documentation.
This is cool, and as a heavy IRC user, I'm eager to find a solution that can replace self-hosted IRSSI+ZNC entirely, without compromising security. Don't reinvent the protocol, reinvent the UI.
I know the advantage here is the open source availability, but ever since my team joined Slack for dev team chat, we haven't looked back. So many integrations. Such awesome.