

Show HN: I think I re-imagined IRC on mobile devices - Skywing

I have hosted my own IRC server, for a small community of coders and friends, since 1999. I never really strayed from using mirc or irssi, when I'm on a desktop or have a keyboard. On my iphone, the options were pretty lacking, though. The best true IRC client for iphone is one called IRC999, in my opinion. These clients all bugged me though because when the phone would go idle or shut off the wifi, the client disconnects.<p>Sometime in early December, an idea hit me about an IRC client that would function sort of like Twitter's mobile client. It'd defer the task of maintaining the IRC connection off to a server and it'd expose an HTTP-based API for the mobile app to use.<p>Anyway, so that's what I've done. I wrote a web server / IRC client that logs chat data to a database. Specifically formatted data is exposed via HTTP so that it can be easily consumed by a mobile client. I used node.js and couchdb for these two components. I also have the basics of a iphone app. The app can be configured to point to any URL / port to use as an API.<p>These components are all open source because I think that's important. Since the server component is just an IRC client, it could be connected to BNCs like ZNC, and <i>should</i> continue to function just the same. Might need some BNC-specific commands, though.<p>I just wanted to show this and see if others thought it was a neat idea. The project is still hacky but I'm actively building it.<p>Screenshots: http://imgur.com/a/yMWVs
Client source: https://github.com/ryancole/pound-client
Server source: https://github.com/ryancole/pound-gateway
======
Skywing
I guess after that wall of text I didn't mention that this is nice because the
mobile client maintains no connection. No messages are missed while your phone
is sleeping or dead, etc.

Screenshots: <http://imgur.com/a/yMWVs> Client source:
<https://github.com/ryancole/pound-client> Server source:
<https://github.com/ryancole/pound-gateway>

------
cmwelsh
I'm using the irccloud iPhone app for this exact usage right now. The
difference is that irccloud itself is a single point of failure that i can't
fix if it goes offline.

------
tbirdz
You could combine this with a bitlbee instance as your irc server, and then
you could have unified mobile access to all your different chat networks.

------
mdpm
screen + irssi? http is a less than ideal fit for messaging, especially when
you're simply wrapping an existing protocol.

~~~
Skywing
I use irssi, as well. The point of my app was probably lost in my wall of
text, though. On the iPhone, an SSH client into screen and then irssi is
pretty nasty. Now, on an iPad I might be able to put up with a nice, expensive
SSH client, like the one from panic. Even then, that's a lot that you have to
do just to check IRC. Also, the required overhead of a constant network
connection at the mercy of the phone's wifi. I'm not wrapping a protocol or
extending IRC in any way. I'm funneling IRC data into a database so that I can
use it in a more natural way from a native iOS app. That's what's ideal for
IRC, on a phone, in my opinion. Your mileage may very, though, and to each
their own. Everybody likes their IRC their own way and I'm not even sure I'm
100% sold on this way yet, but I'm going to try it out. :)

~~~
mdpm
right. I'm on android so not too familiar with the iphone's clients. It's just
the simplest works-everywhere (mobile, desktop, laptop, etc.) scenario for me,
and I'm in the same place, same windows, buffers.

------
datr
Can you indicate how this would be different to ZNC with message replay and
push notifications?

~~~
Skywing
Push notifications are not necessarily what I'm looking for, as far as I know.
I don't want to have to subscribe and be available to receive notifications.
The whole point is to ask for X amount of messages since the last message I
saw, for example. Now, the server side irc client component could connect to
ZNC and function, I think. Although I have not tested that.

