Hacker News new | more | comments | ask | show | jobs | submit login
Show HN: Biboumi – An XMPP-to-IRC gateway (louiz.org)
76 points by louiz on May 24, 2017 | hide | past | web | favorite | 27 comments

I just released version 5.0.

Among other things, this release includes a new feature that can make it behave like an IRC bouncer. Coupled with a few modern XMPP features, it makes IRC mobile friendly: you can mark a channel as persistent, join it from your mobile XMPP client (like Conversations), and whenever you get disconnected due to bad connectivity biboumi will stay online, and when you go back online it will send you all the messages you missed.

I notice that you don't currently support MAM for private messages. For full IRC bouncer replacement, I think that would be an useful addition. Any plans to extend the "persistent" feature to private messages too?

Indeed, that’s a feature I intend to do for version 6.0, but didn’t take the time to write a ticket on the bug tracker.

(But I just did, so I won’t forget that feature https://lab.louiz.org/louiz/biboumi/issues/3267)

This is very cool, does it support working as an IRC->IRC bouncer, as well? Or would I have to run an instance for mobile, in addition to ZNC for desktop?

You could do something like this

  Conversations -> Biboumi --
                  irssi   ->  znc -> IRC
But it has a few gotchas (like when znc “force-join” a channel, that can’t be done with XMPP, so biboumi will send you an invite instead, that’s confusing), and it quickly gets complicated to manage. You could try that, but you might encounter a few usage issues.

And no, it doesn’t do an IRC->IRC bouncer, so you can’t replace your znc entirely if you still want to use a real IRC client on your desktop.

I think the best solution is to have two independent biboumi and znc.

Would this sort of thing be too convoluted?

      Conversations -> Biboumi -> IRC
    irssi -> bitlbee -´
I suppose some fidelity is lost in the irc->xmpp->irc conversion, but for basic use that might work?

I've been using mutter -> ZNC (with mutter push module) -> bitlbee for some years and it works fine here for basic XMPP usage.

EDIT: (I'm on a bunch of IRC servers too so this gives me one app for everything on the phone)

That will probably work, yes.

But that’s also too convoluted, IMO. I would not personally use this. Don’t hesitate to try any combination of gateways you can think of, and report any issues to me.

Fair enough, I'll definitely take this for a spin, all the IRC clients available on Android are terrible. If I can't make something like this work I'm going to have to bang out my own "suckless" Android IRC client...

I don't mind the weechat app (connects to a running weechat instance in relay mode). + glowing-bear works too.

What are the pain points in the current Android IRC clients?

IRC requires a persistent connection; cell phones are not good at that since they bounce from network to network. I love IRC but there's a reason Slack is so popular.

I last used IRCCloud when I was on IRC, I know a bouncer could do similar things but I much prefer the 0-config route along with the UI built around it.

I'd write a high quality IRC client for Android if there really was a market for it, but Slack feels like it's obsoleted the market (and I have trouble believing this many years into the game there are no good IRC clients on Android, but I haven't checked in a while)

I use a bouncer, thats not the problem. The problems are bad UIs, bugs, no v3 support, poor scripting support.

It might also be possible to use WeeChat or irssi as the IRC "server", using their respective IRC proxy module. You should be able to connect to those from bitlbee.

We are using Biboumi as our official IRC gateway for movim.eu (at irc.movim.eu) for a couple of years now :) Never had any trouble with it. It's a wonderful piece of software that I recommend to everyone!

I've heard of lots of people using IRC clients for XMPP, but doing the opposite just feels strange.

Using an IRC client for XMPP guarantees a sub-par experience. I've been doing that for years with bitlbee (how do you join a MUC again?) and later with irssi-xmpp (whoops, Segmentation fault), but IRC has much fewer features than XMPP, so it really doesn't make sense.

My favorite XMPP feature is Message Delivery Receipts ([0], the nice little green checkmarks that you have in modern XMPP clients, similar to WhatsApp), that just aren't supported in the IRC protocol. Other gotchas are chat state notifications ([1] "user is typing"), last message correction ([2]) and multiple client resources.

It does make sense to use an XMPP client for IRC, though, as most of the IRC features can be easily mapped onto XMPP. I'm using yaxim and poezio to chat with folks on IRC, via biboumi.

[0] https://xmpp.org/extensions/xep-0184.html

[1] https://xmpp.org/extensions/xep-0085.html

[2] https://xmpp.org/extensions/xep-0308.html

Thank you for alerting me to Yaxim. Yaxim looks like default bitchx. Yaxim's docs show that you can theme it [0] but I wish they had a repo of existing themes. Compare jIRCii default theme vs jIRCii+analog theme [1]. If an application is going to occupy prime real estate on my desktop for a good portion of time then I want it to look nice.

[0] https://doc.poez.io/themes.html [1] http://jircii.dashnine.org/media

IME read receipts and "typing" updates are widely reviled for making online chat more awkward. I know heaps of people who go out of their way to disable receipts and status notifications in their chat apps (iMessage etc). I've even been criticized for not having them disabled in iMessage.

I tend to agree for privacy reasons, but message delivery receipts are really useful, especially when the other party is using a mobile connection.

I also wrote my own XMPP client (https://poez.io), but since I also use IRC I decided to write a gateway. This way I can use poezio for everything.

The beauty of this, as I see it, is that you can now you can "tap" into the many existing communities on IRC instead of trying to force existing communities over to XMPP or web based platforms.

The best IRC clients are like great text editors... the UX and UI can be customized to each individual's liking via scripts and themes. It is always a work in progress.

From my experience, the profile of someone who prefers irssi/mirc/jircii over slack's website to communicate is probably more in-line with the profile of a Hacker News reader vs. someone who follows a sponsored tech blog aimed at CEO's who just want to add buzz words to their vocab.

Considering that XMPP has more features than IRC, having to map the superset to the subset feels stranger to me than the opposite.

What is a good iOS XMPP client?

Unfortunately there doesn't really seem to be a good xmpp client for iOS. ChatSecure is ok and seems to be as good as it gets.

Applications are open for YC Summer 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact