motivation

The one mobile messaging service that shall not be named destroyed the world of "unified communication" by constructing a walled garden in recent years although there was a bright outlook with XMPP/jabber in before bundling all communication by providing an open standard and especially transports. I would like to revisit the state in 2017 and combine my text chat based communication needs from different end devices, namely my work notebook and my private smartphone.

goals

  • run one client on work notebook
  • run one client on the smartphone

execution

My personal plan is to follow the following steps in this order and priority

  • revisit current state of XMPP and server implementations by research
  • look into bitlbee running on a near-permanent server installation with plugins (had it locally on notebook)
  • try "conversations" android app or how it was called
  • research and potentially try out alternative android apps with energy and data usage efficient approach
  • come up with a result documentation, probably on this project page

current status and findings

starting situation

I use

  • google hangouts on my android smartphone, sporadically also telegram, sporadically xabber (for jabber)
  • IRC on my work notebook, connected to

    • a hangouts-IRC bridge (pickups)
    • private znc instance for irc.suse.de
    • private znc instance connected over ssh tunnel to home server for chat.freenode.net and others (the latter sparingly used)
  • a gaming PC connected to steam and a private IRC server

research

So I have been researching the last days and collecting some ideas. Still not at the end.

Currently it seems there are three alternatives to follow:

  • matrix&riot (thanks to bear454 for the reminder): Looks promising although one can still feel the ecosystem is young. There are enough clients spawning up but a bit more "polish" feels necessary.
  • XMPP with a recent server (public or private) plus conversations.im Android client which can be bought from google playstore or installed for free from f-droid
  • private instance of bitlbee&znc

Interesting history of instant messaging

matrix/riot/...

this is a pretty nice introduction and one gets the point what matrix is about. this gives a good explanation how matrix wants to be better than e.g. SIP or XMPP (esp. last slide) while providing an open HTTP based protocol connecting "all other" networks. The question for the why, if it is not yet clear is answered in "why"

Registered on matrix server and using riot webfrontend as well as the android app. Looks quite good. Registered for IRC chat rooms and chatted a bit with the bot in the riot freenode bridge to #openqa-test.

  • telegram support seems in early development phase and is probably not available on matrix.org server, see telematrix
  • google hangouts support seems even worse: CyrusTheHedgehog/Hangouts-Bridge
  • it should be possible in theory to connect to matrix with an IRC client but I am not expecting it to be easy, see matrix-ircd

further: purple-plugin

XMPP server

jabjab.de, one of the jabber server I used previously supports many new transports, including Whatsapp, not that I care for myself, and Telegram Messenger but as it looks like no google hangouts. So at least I registered the telegram bridge for experiments, at least I tried but so far no action done. Also, trying to use the skype bridge from my gaming PC with miranda IM trying to register on the transport stays on "please wait..." so something does not go on as planned.

bitlbee/znc

These services do not seem to be an overkill for running them on a private server. Also, support for different protocols is quite neat, e.g. bitlbee supports steam and I like the cleanliness of IRC clients like weechat, irssi but konversation.

clients

weechat seems to provide good defaults and offers plugins with python as well as support for other protocols, e.g. matrix and telegram, whereas irssi counts on perl (1, 2, 3)

Looking for mad skills in:

jabber xmpp irc bitlbee android server communication messaging

This project is part of:

Hack Week 15

Activity

  • over 2 years ago: okurz started unified communication setup (integrating IRC)
  • over 2 years ago: blarson liked unified communication setup (integrating IRC)
  • over 2 years ago: randybb liked unified communication setup (integrating IRC)
  • over 2 years ago: mgriessmeier liked unified communication setup (integrating IRC)
  • over 2 years ago: okurz added keyword "messaging" to unified communication setup (integrating IRC)
  • Show History

    Comments

    • bear454
      over 2 years ago by bear454 | Reply

      Take a look at Matrix & Riot, too.

    • okurz
      over 2 years ago by okurz | Reply

      So I have been researching the last days and collecting some ideas. Still not at the end...

      interesting history of instant messaging

    • okurz
      almost 2 years ago by okurz | Reply

      for now for my personal communication needs what seems to work most reliable is bitlbee+znc running on my private server and connecting to that with an IRC client. On my mobile phone it's ok for the time being to run the mobile clients for the specific networks + riot with matrix.org as a mobile IRC client to freenode. Using matrix.org with bridges sounds like a nice idea but the according projects don't seem to be mature enough or even stale with just empty promises.

    • okurz
      3 months ago by okurz | Reply

      Situation as of 2019-06: I am still running bitlbee+znc and my main chat client is konversation on my notebook work computer. As at work we use now more and more "RocketChat" today which recently also is available from outside I compiled https://bitbucket.org/EionRobb/purple-rocketchat/ to integrate into my bitlbee setup and configured bitlbee according to https://github.com/jsegitz/rocket2irc-suse#how-to-use-it . Also I built https://bitbucket.org/EionRobb/purple-hangouts for which one needs to gather an oauth token as shown in https://www.youtube.com/watch?v=hlDhp-eNLMU and I retired my pickups service.

      • okurz
        3 months ago by okurz | Reply

        Example commands to join a rocketchat channel:

        chat add 9 #testing #csd-testing

        /join #csd-testing

    Similar Projects

    Bean Counter - libre calorie tracker app for Android by gniebler

    To teach myself Java coding and Android develop...