Songs of Doom

Archive for the 'Jabber' category

Bells of Jingle

1:05 am

As a further update on my previous post about Jingle support, we’ve been progressing at a fairly rapid pace and as described in our Jingle branch wiki page we now have Jingle audio calls working both from Psi to Psi, and from Psi to and from Google Talk. Hopefully this means we’ve got the interface with libjingle working ok, and any other client that comes along using libjingle will interoperate just fine. We can but hope. Now that the linux code supplied with libjingle works, we’re looking at other platforms; first of all Mac OSX.
Please not that this is not a guarantee that the jingle branch is stable yet, it’s certainly not, but it’s getting better :)

I say, I say, I say, did you hear the one about….

1:07 am

Subsequent to my last post about the branches of Psi we’ve been working on, I’m now delighted to announce that we’ve also been working on a third branch in the recent weeks.

The Jingle protocol (session and voice) is the culmination of months of discussion between the Google Talk team and interested parties in the JSF, which finally became standards-track yesterday. Jingle is basically the voice protocol supported by the Google Talk client.

The Google Talk team today announced the first release of a C++ library which manages the Jingle protocol. This means that other clients should be able to take this code and integrate Jingle support without coding the p2p and other details themselves.

In the last month or so, Sean Egan (one of the nice guys on the GT team (yes, they rock)) has been helping Remko and myself integrate the libjingle code in Psi ready for libjingle’s release today, meaning……voice calling for Psi. This is where a lot of Remko and my time has gone which might otherwise have been spent on visible Psi development.

Since the libjingle library has been publically released now, we are able to give a first glimpse of our Psi branch using the library.

Also included (and a necessary pre-requisite to Jingle support), this is the first time you’ve seen Psi supporting Entity Capabilites (there’s a patch that’s been circulating that we’ve noticed some unofficial builders have been including but it’s broken (hey, sometimes there’s a reason patches don’t make it into mainline ;) )). As such, if you just want to test caps, grab the repository and don’t enable jingle support when you compile. Unlike all the warnings further down the post about the stability of our interface with libjingle, the Caps support should be fine now and will be merged into mainline as soon as our rather hectic roadplan allows.

There are disclaimers:

  • This is heavily unstable software
  • This is not feature-complete
  • This voice support, which doesn’t yet work reliably, is linux-only at the moment.

The state of the code at last glance was:

  • Psi < -> Psi calling will not work. It will look like it does, but no stream will be established.
  • Psi < -> Google Talk calling will work, but will terminate a short time afterwards (20 or 30 seconds)
  • Psi < -> call calling should work ok. (call is the example command-line client in psi/third_party/libjingle/talk/examples/call. Just cd there, run qmake and then make)

So please feel free to have a play with what’s up there, and if you want to submit bug fixes, I’d be more than delighted, but don’t expect things to work properly yet.

The darcs repo is available at:

http://dev.psi-im.org/darcs/psi-jingle/

use ./configure --help to work out what you need, my line looks like this:

./configure --with-glib-inc=/usr/include/glib-2.0 --with-glibconfig-inc=/usr/lib/glib-2.0/include/ --with-ortp-lib=/usr/local/lib/ --with-ortp-inc=/usr/local/include/ortp/ --with-ilbc-inc=/usr/local/include/ilbc/ --with-ilbc-lib=/usr/local/lib --with-speex-inc=/usr/local/include/speex/ --with-speex-lib=/user/local/lib --enable-jingle

Please note that this development is parallel to the release series until it’s stable, when we’ll merge it back in.

/K

Google Talk

1:54 pm

As I suspect every other Jabber/XMPP using person on the planet has done, I feel I’d better make a post about Google Talk. Release this morning, it’s an xmpp service running on talk.google.com using gmail addresses for accounts.

What things do we need to know about it?
The Google Talk client itself supports voice chat, I’ve not tested this. Google say they’ll be releasing open specs soon, so we’ll enjoy seeing those I think.
Apart from this, both the client and server are fairly basic at the moment, possibly as you’d expect a few hours into beta. The server doesn’t support s2s, disco, offline message storage. However, as it’s xmpp, all the jabber client->client extensions work fine as long as you’re using clients that support them. So using Psi, as I obviously am, typing notifications work fine, even though the GT client doesn’t support this (yet?).

Psi is one of the listed clients, which is neat. Unfortunately the instructions google give for setting Psi up for google talk appear to not be perfect, and they link to our old documentation, as the new stuff is still a couple of hours away from release. IceRAM’s writing a Google Talk/Psi howto at the moment, and hopefully by the evening we’ll have the new documentation like, a test release of our new version (so that’s Psi-0.10-test1) and lots of happy bunnies.

If anyone would like to write my thesis for me while I’m involved in all this, please feel free.

On the personal side, I’m finally back at training (TaeKwon-Do) again after two months forced rest (I broke my foot) and I’m feeling the effects of my lack of training, both in my general fitness and my technique. I don’t think I’m going to be entering any half marathons again soon, nor making great progress towards my next grade for many months. To rub salt in the wound, the foot still hurts.

/K

No Summer of Code for Psi

12:06 pm


The application from my brother to work on Psi was rejected. I’m upset for Psi, but glad for Jabber for the 10 projects that were accepted.

I’ve just been told that my previous version of this article sounded very bitter, which it probably did so I’m cutting it.
I’m very sorry to anyone who previously read the old version and took offense, it wasn’t my intention. I also understand that my posts to jdev sounded very bitter so I’m also sorry for that. I am sad, obviously, because I care about the progress of Psi more than perhaps I should. The JSF council are far more impartial than I am and probably made better decisions on the SoC applicants than I would have.

Update on Psi

8:45 pm

Ok, to keep everyone up to date on what’s happening in psi as I’ve been far too quiet recently:
Current is still 0.9.3, and the next version will be 0.10, which probably won’t be happening in the next month or two, so no worries about breaking our usual 6month release plan yet.

Important things for 0.10 include:

  • MUC; this is being done by sneakin (Nolan) and I believe is Almost Ready(tm).
  • Tabbed Chats; these are being done by me and a couple of minor bugs prevent it being Ready. The code’s not pretty, so a rewrite is in order, possibly post-0.10.
  • A shiney new line-edit that expands as necessary/autosizing rosters; these are both done by Mblsha and are pretty much complete
  • Growl notifications; coded by Remko and finished.
  • Adding photos to the vcard; done by Francisco Rodríguez
  • Lots of generic UI improvements, done by various people including Remko and Kris Vandebroek, which are currently underway.
  • Global Keyboard Shortcuts; an early version has been supplied by GreyCat, which I’ll probably rewrite to be release-ready.

Things on the horizon that might not, probably won’t, or won’t make it in for 0.10, but which are assigned/planned are:

  • xhtml-im; Fran and I are going to look at this soon
  • pubsub; Remko is probably going to look at this after 0.10 for 0.11
  • Status in roster; Remko has adapted one of Skazi’s patches to display contact’s status messages in the roster, but an unfortunate consequence is wasted space between entries, which needs to be resolved first.
  • Plugins; Initially only output plugins, both Remko and I have an interest in doing this but haven’t started yet

There’s many other things that I haven’t listed here that need to be done/will be done etc, as discussed on the mailing list.

In the near future; once I’ve tracked down the bug in tabs that I’m searching for tonight, I’ll make a preview release (hopefully in the next week or so) that will give people a taster of what’s to come, while hopefully being stable enough to use.

IM Fun

1:01 pm

Feeling a desperate need for a break from work on my PhD for a few days, together with a vague desire to see the parental units, I headed to South Wales for Easter weekend. While staying with my parents, my brother showed me a ‘cool’ feature of the new msn beta; Winks. For anyone as in the dark about this as me, they’re small flash animations, together with sound. They’re a bit emoticon-y, but appear over the entire chat window, completely interfering with what you’re doing. They’re a horrible feature.
Ghastly.
Awful.
Yet, my brother (about to graduate in Computer Science) likes them. Why?
The answer seems to be that they’re silly. This makes some sense, it’s a joke between friends about silly technology, rather than a useful feature. So this has me thinking; maybe we really do need more silliness in jabber. It’s a little like cartoons, you don’t watch them because they’re enlightening, it’s just a bit of mindless fun.

It’s also, of course, something of a security hole, which is why MS pulled the feature a while back, but it seems it’s back now.

All this, and, as Justin pointed out to me the other day, Psi’s about the only Jabber client now that doesn’t support xhtml-im. Am I the only person who finds their motivation to code comes in waves? I need to find some motivation to just sit down and code for a few days at a time, so we can catch up with the rest of the known world :(

Eggdrop for Jabber

7:51 pm

The thought occurred to me earlier, there’s lots of quite funky bots out there for Eggdrops, for IRC. Particularly bMotion, written primarily by James Seward (a friend of mine), which I have been known to hack on from time to time. It’d be great if I could have a bMotion bot in a muc/groupchat in jabber, so the question is; is this feasible? Has anyone tried running an eggdrop tcl script in some sort of jabber bot? BMotion may be one of the most useless bots on the planet, but it’s also one of the most fun, I want one!

Bad Behavior has blocked 104 access attempts in the last 7 days.