Powered By:
Clearspace
BlatherSource: Because development won't keep quiet
1 2 Previous Next

Daniel Henninger's BlatherBlog

19 Posts tagged with the xmpp tag
0

Yes that's right, Clearspace.  Those familiar with Clearspace might be thinking to themselves ... are you nuts?  Clearspace is a -beast- for just a blog!  Well, you're probably right.  However, I like it, I work with it, and I've been interested in writing some plugins for it for a long time now.  The thing is, without actually running it live anywhere for myself, I never give any priority to writing said plugins.  Now I have a solid reason to.  =)

 

So what exactly -is- BlatherSource nowadays since I moved all of my projects away from it?  Well, for alll practical purposes it's my playground.  I continue to use this blog for posts related to my projects, XMPP, that sort of thing.  I'll be running a number of services at this site.  for example, I'm now offering public XMPP services here.  If you are so inclined, feel free to register with blathersource.org.  As the author of the IM Gateway plugin, there's a good chance this will be the first place I upload new versions for testing, and if a number of folk start using the service here, it'll help me get a window into what errors might show up.  If folk start having problems that I'm having trouble dulicating myself, hopefully I can get said folk to register at blathersource.org and "demo" the misbehaving accounts to me and such.  And just in general, if you are looking for a place to house your XMPP account, you are quiet welcome to register it here.

 

I'll post more details on the XMPP services at a later date, but anyone is welcome to register now if they are so inclined.  I'm not sure what else I'm going to run here just yet.  I got a general purpose dedicated server from Hosting And Designs.  I've been quite pleased with it so far!  I hosted my previous web services at Modevia, who were wonderful!  However, I decided I wanted to run more services beyond just web services, and also needed to feed my old sysadmin bug since I no longer do that for my job.  =)

 

Anyway, I'm excited for my new site.  Who knows, maybe it'll get me posting more.  Probably not, but it's wishful thinking. 

 

0 Comments 0 References Permalink
0

You may have seen, in the past, my podcast about External vs Internal Gateways.  In that podcast I talked about a number of benefits that internal gateways have over external gateways.

 

It's not all peaches and cream though.  You see, the problem with being so close to the internals of the server with internal gateways is that you tend to hear and trigger far more than you intend.  I'm going to pick on Openfire a little here since that's what the IM Gateway plugin is using.  Some of these may simply be something that should be fixed in Openfire.  Being one of the developers of Openfire, yes, I will investigate them when I can.  =)

 

One of the issues is, when a roster item changes, I actually get a number of listener events that tell me this occurred.  It's difficult to know what the proper event is.  In some cases, I'll get an event with no groups and then another event with groups.  Hard to know which one of those is true.    All things that I need to run through and make sure I'm doing things correctly.

 

Likewise, any time I tweak something about a roster item, I get events telling me it's changed.  Yes, I'm aware, I just did them.  =)  So in that case I need to ignore events.

 

It's all very strange actually.  I switched to listening for packets for real IQ packets coming from the client.  Guess what, there's a lot of IQ packets that come from the client.  So that's not really making things easier.  In XMPP, groups don't mean as much.  Removing and readding groups is nothing big.  In AIM and friends though, it's dire.  You remove groups and you've moved things around on your roster a lot.  This is primarily because in XMPP, you have a roster item, and an attribute of it is what groups are in it.  In AIM you have groups, and an attribute of a group is who's in it.  (for nitpickers, I'm referring to attribute here as "something the entity contains",  not attribute in the literal XML form of the word)

 

So if you were thinking, wow, internal gateways sound so easy!  Think again.  =)  There's a lot that goes on behind the scenes that's more difficult to deal with than you might expect.  So to sum it up, I'd like to simply say, there's pros and cons of both.  =)  Don't think an internal gateway is a magic bullet.

0 Comments 0 References Permalink
11

You've probably at least seen:

http://florianjensen.com/2008/01/17/aol-adopting-xmpp-aka-jabber/

 

So I played with this a little yesterday .. very cool!  I certainly hope that AOL does indeed go through with this and embrace XMPP!  Based off my experience with OSCAR and XMPP, they -could- accomplish everything they're currently doing with OSCAR with XMPP.  Do they want to?  Is this simply a gateway to their AIM and ICQ services?  Who knows, but it's good to see!  I would imagine AOL has already seen how excited folk are about this, probably by their poor test server getting suddenly wailed on.  I can only hope they won't decide this is a bad idea.  The thing is, people like to use AIM and ICQ.  People like to use XMPP.  Why do they have to be at odds?  AOL's take on how chatting should work could bring wonderful improvements to XMPP overall.  I think Google's joining the fray did a lot of good for XMPP in general in terms of XEPs that came about because of it and such.  And people like me wouldn't be spending so much time building transports or multi-protocol clients if we didn't at some level like the services we were connecting to.  For example, I don't hate AIM.  I simply like a lot of protocols and don't want to run 8 different chat clients on my desktop.  I also think the OSCAR protocol is interesting, as are the other protocols, so I wanted to learn more about them.  Does that mean I'm out to make XMPP overtake AIM?  Hell no.  To be frank, it would be a happy day to me if the transports were no longer necessary, if people on AOL's servers could chat with people on my own server and on jabber.org's server and on lots of others without having to figure out the protocols.  Does this mean no one would try to dissect the protocols anymore?  Probably not.  Part of the drive of that is learning and understanding.  It doesn't have to be about trying to circumvent.

 

Imagine if AOL decided they really liked XMPP overall and ditched OSCAR though.  That would hose old clients.  But what if they released a new client that spoke XMPP while keeping their old servers going?  Furthermore, what if that client could point at other servers than AOLs.  Now AOL has a nice client or two out there for any XMPP clients to use.  That's kinda cool!  There's plenty of great XMPP servers out there at this point.  The client choices in general are a little lacking.  Spark, of which I'm in charge of nowadays, is pretty, it's cross platform, but it's a beast.  Java is not necessarily great in terms of small memory footprint.  Coccinella has a lot of cool features but it's Tcl/Tk and I've never liked the "feel" of Tcl/Tk.  Google Talk, there's not a version for my OS, so what good does it do me.  iChat...  nothing personal Apple but I've never liked it.  I can't put my finger on why really.  It's also hard to explain why I don't use Psi for everyday use.  I love it for development.  Nothing is better IMO.  But for some reason it didn't feel simple enough to be something I want to use as a regular client.  Adium X and Pidgin?  It's the primary client I use but it lacks a lot of XMPP functionality (though it's definitely improving on that front)  All of these are good clients, and have good followings, but there's still a lot of room for other 'entries' to come into the mix.  Nothing seems to "do it" for everyone yet.  Of course, who knows if that will ever happen.  But seriously AOL, I'd love to see you throw your hat into the mix!

 

Now what about MSN and Yahoo and others?  Yahoo, I could see them possibly embracing XMPP.  Hell they bought Zimbra and Zimbra's suite has XMPP capabilities nowadays, so they have some bought expertise there.  MSN on the other hand, they sell a product (LCS? OCS?  whatever it is) that may be a good drive -not- to embrace XMPP.  I don't know much about OCS or LCS though.

 

Overall though, this kind of reminds me of e-mail.  Everyone can have their own implementations of email services and such, that doesn't mean we can't all speak the same language!  AOL, I hope you take all this attention as a compliment!  I think we're all proud and pleased to see you express an interest in XMPP and maybe join the family!!!

11 Comments 0 References Permalink
25

IRC and XMPP

Posted by Daniel Henninger Sep 15, 2007

The other day I was thinking about some of the folk who had requested IRC support in the IM Gateway plugin for Openfire in the past, and how they were trying to migrate from a corporate IRC server to an XMPP server.  This is apparently no small task to encourage such a change and it got me pondering what could be done to make that transition smoother.  In my work with IRC support and with the Martyr IRC library, I've gained a strong knowledge of how IRC works and it occurred to me that it might not be that hard to provide an IRC server that sits on top of an XMPP server and just "translates" so to speak.  So instead of taking your XMPP server and having folk log in and connect to a remote IRC server, you could replace your IRC server entirely with this XMPP server that acted as both XMPP -and- IRC.  At that point you might even be able to lure some people over by saying "You know, if you simply went into pidgin and used XMPP instead of IRC for the corporate server, you'd gain a lot more cool features".

 

Would XMPP be hard to translate into IRC?  Without having written any code for it, my best gut feeling is no, not really.  You'd clearly have to sacrifice some functionality, but I think you could secretly tie the two together pretty well.  Log in with an IRC username and password, you're actually logging into an XMPP account on the backend with the same username and password.  MUC <-> IRC chatroom.  IRC WHOIS <-> XMPP vCard.  IRC ISON <-> XMPP presence check (probe?).  Lots of aspects map fairly well I think.

 

But I'm curious about interest.  I mean this seems fun and I might want to whip up a proof of concept, but what if no one wants it period?  I'd be wasting my time.  =)  So anyone listening . . . I'd love to hear your thoughts.

25 Comments 0 References Permalink
4

While standing in the cold waiting on a bus here in Portland, something that I think could be a little fun came to mind, thinking about an XEP again.  Hopefully the concept is still sound after my brain has defrosted.  ;D  I wanted to type it out while I have it in my head.  Anyway, just a quick note here, when I say clients, I'm referring not only to XMPP clients, but AIM, ICQ, etc etc.  Most clients have buddy icon/avatar support nowadays.  I've seen some clients that have the ability to include pictures or sounds amongst an instance message as it's being typed.  I imagine they do this via a form of file transfer.  Either way, I've never seen any clients have the concept I'm pondering here, so let me know if you've already seen this.

 

IMO, Buddy Icons are damn fun, but not something that I would consider "necessary".  So ignoring the lack of necessity, I love them.    But it occured to me today that I would actually like the ability to have something like a Buddy Icon that's more like a ...  "Sound Clip Avatar".  Some folk could be serious with this and say "Hi, my name is Daniel!" in their own voice.  In my case, I'd probably snag a fun sound clip/quote that I like from King of the Hill.  (In my case, I'm actually thinking I'd love the quote of Bobby Hill saying "for me.. it's about the cocoa")  Either way, I think it would be neat to have a little avatarish sound clip alongside the buddy icon.  Maybe a client would have you click on the actual avatar picture to hear it, or provide it in some other way.  I believe this falls into the same handling of the PEP-ish User Avatars.  So if I put together an XEP, it would be a typical "here's a standard way of publishing such a thing".

 

The last XEP I wrote is kind of dieing... no one seems to want to follow through on burying vcard, but no one seems to want to follow through on accepting vcard officially.  So I'm left in kind of a "oh well" state.  =/  This is something I think I could write up and it could be fun and people might actually implement it and enjoy it.  Will ponder on this.  Just wanted to type this up in an attempt to not forget it.

4 Comments 0 References Permalink
5

You know, when I first became interested in Jabber/XMPP, the thing that drew me to it so much was the concept of the transports to AIM, ICQ, etc.  Why?  Because it meant, instead of having to remember my passwords and accounts every time I switched to a new client, I could now store all of that on my server and log into one single location, my personal Jabber/XMPP server.  In general, this has worked out well, I do not log directly into AIM/ICQ/etc unless I'm testing something or don't have another choice at the time (perhaps my transport is broken, or something of that nature).

 

That said, lets take a look at my Adium X list of accounts at this point.  Instead of having 5 different protocol accounts listed, I have around 6 Jabber/XMPP accounts.  Home server, another external server, university private server, university engineering server, livejournal, google talk, friend's server.  So what happened here?  My original goal was to have one and only one server to connect to.  Is it because there's no XMPP transport/gateway as of yet?  No, if that were the case I would have written one by now.  Is it because a lot of these servers do not have s2s enabled?  Some of them, yes, that is the case, but that's not why I use all of them.  I can't answer why I'm now connecting to -more- accounts than I was before, completely defeating my original purpose.  I also used to have a jabber.org account listed there.  At least I pruned a couple.

 

Does it bother me that I log into so many accounts?  Not really.  It actually helps me keep some things in perspective while I'm developing... like the fact that I'm not the only one who does this and I should support multiple accounts in clients I might write.  It does, however, limit me from being interested in clients that only support one account to connect to.  Note that this is one of the other big reasons for wanting to centralize everything.  If I ran into a client I liked that only could connect to one server, I could use it and be happy with it.  Eh.

 

So anyway, no takers so far on the "anyone want to help with the Pys?".  Oh well.  I'll get back to them at some point.

5 Comments 0 References Permalink
0

Housecleaning

Posted by Daniel Henninger Sep 30, 2006

Why do I often find it so hard to clean up my roster?  Just about anyone who has ever talked to me sits on my roster forever and I typically only end up talking to them for one or two sessions and that's it.  What do I need them on my roster for?  It's just causing my server extra work every time I log in!

 

So anyway, I spent a good couple of hours here cleaning up my roster and now it's nice and small.  I'm not entirely pleased with Adium X's roster deletion handling because just about every time I deleted a roster item, it reappeared and I had to delete it again.  =/  That said, it's a beta, so what do I expect.  =)

 

Logging in is now lightning fast.  I know some folk take offense at being removed from a roster, but if I removed you, this gist of it is, we don't talk much, I have no reason to need to know when you are online and/or initiate regular chats with you.  Certainly doesn't mean I'm not willing to talk to you. 

 

Anyway, was kinda fun to do the housecleaning.  There's a couple of legacy network contacts I still need to boot, but that involves well....  finishing adding support for that in the IM Gateway plugin.  ;D  or rather, fixing it

 

I'm thinking about spending a little time and packaging up PyICQt and PyAIMt into 0.8 releases.  PyAIMt is more work because it means I'll be pulling over updates from PyICQt to PyAIMt, but hey, no worries.

 

I got to try out an eval version of Jabber XCP.  I will finally have something to test XCP support with with the Pys!  Yay!  Setting up XCP was not entirely trivial.  It took me about an hour and a half and about 80 pages of documentation.  I'm not sure how much of this was postgres sucking or not, but it definitely wasn't as easy a process as I expected.  That said, now that it's running, it's lightning fast.  (well it's also not handling the load of my real contact list, but still)  Anyway, thanks to the XCP folk for hooking me up with a copy to test against!  I've always hated supporting something I couldn't test myself. 

 

I've been finding that some of these java based tools for .. well all sorts of tasks .. are quite nice.  I like Jive's forum software quite a bit, I adore Fisheye... far more useful to me than websvn ever was.  In fact websvn was never really useful to me.  I also adore JIRA, though I must admit it's a little too "serious" for something I'd probably want to use with my Py transports.  I love it for the IM Gateway plugin though.  It's got a really nifty feel to it.  Something else I think is really neat is that it looks like a lot of the the folk that make such products "play nice together".  By that I mean, I see Jive Software (Jive Forums) using JIRA and Fisheye, Cenqua (Fisheye) using Jive Forums.. don't know if they use JIRA, the JIRA people using Jive Forums ... etc etc.  Same with IntelliJ... it's just really neat to see them all using each other products.  It's like one big product hug circle.  =)

 

I'm basically in charge of Java-JML nowadays.  The former developer doesn't have time for it anymore.  Sourceforge is still kinda similar to how I remember it, but they do appear to have a few neat new things.  =)  I like the project and am certainly cool with being in charge of it.  Will give me a better understanding of MSN anyway.  I've applied for an open source license of IntelliJ of my own so I can make use of it with non Jive projects.  At first I was tentative about this because I didn't want to start using a tool that like the original developer of java-jml couldn't use, but I based off the license, I could indeed share it with all other devs on the project.  That's very cool.  More importantly, I saw that the joscar folk and other such projects are using it, which gave me a lot of "ohhh  other similar projects are doing it, ok then" warm fuzzy.  =)

 

While this weekend has not really started off on a happy note, I think I might make it a release day and try to get a couple of things released today.

0 Comments 0 References Permalink
1

I've got quite a jabber server farm going on at home to test the Pys with.  So far I've got jabberd1, jabberd2, ejabberd, and wildfire running.  I haven't had time to work on getting djabberd going.  It didn't love me for whatever reason last time I tried it.  Hopefully this will help me avoid problems with inconsistencies across the different implementations.  Of course, all of this is running on a single machine behind a cable modem connection, so it's not exactly built for heavy use.

 

That said, I should be testing the transports under Windows as well as Linux and OS X, but I keep putting it off with the feeling that "this is going to be a pain in the ass".  Meh, one of these days I'll get whatever I need in place to test them.  Right now I typically get good bug reports from folk using the transports and, to date, none of the related problems have been difficult to fix.

 

Anyway, are there servers out there that I am missing in my suite of testers?  Probably.  If anyone reads this and knows of some, please point me at them.

1 Comments 0 References Permalink
2

Well, I think I'm finally getting over whatever sickness it is that I've had for the past week... I hope.  Not very condusive to working on things...  That said, a lot of developments have come up recently that I thought I would post about.  Fair warning, this is gonna be kinda random.  =)

 

PEP Improvements

 

I would just like to throw a shout out to the folk who have been working on PEP.  I love the latest bit of changes and believe they will make it soooo much easier to implement.  Woot!

 

Familiar on my Pocket PC

 

As per some advice from a previous post, I have been looking into getting Familiar and it's associated desktops on my Pocket PC (IPAQ 2200).  Lovely hardware.  Crappy software.  (Pocket PC OS.. think it's even of the Windows CE vintage)  Anyway, I soon found there are two main choices for desktops for Familiar, GPE and OPIE.  First off, I adore the IPAQ's serial console and also the Familiar bootloader (forget it's name) and Familiar itself.  There's something just neat about watching Linux booting on your little handheld device.  Now, I right now my IPAQ has stuff for installing Familiar 0.8.3 (I think?) with GPE, and a beta Familiar 0.8.4 (I think?) with GPE or OPIE.  0.8.3 works fairly well except that I don't particularly care for the GPE desktop environment.  I think it's a tad silly to deal with getting root and that sort of thing on a handheld device.  Likewise, some of the apps aren't particularly helpful/nice.  For example, I can't get either wireless card I have to work.  One SDIO, and one CompactFlash/PC Card/I'm not sure.  lol  No worries on the lack of support for them yet, but the weird thing is that when I go to the webbrowser, and type in a url, it does .. well like nothing.  No error message, no nothing.  I goes back to the main webbrowser window.  Nothing is particularly pretty.  Overall, it just feels like it's trying to be too Linux.  =)  Now OPIE, on the other hand, is gorgeous, acts like a handheld device "ought to", and is generally quite nice!  No love on the wireless card yet still, which is odd, but I'll get to that in a moment.  I'm very excited about getting OPIE on there in a functional manner.  Problem is, it's not real functional under Familiar 0.8.4whatever.  All known bugs according to their trackers, so no worries there, I'm sure things will be fine.  =)  Very much looking forward to full functionality!  As for the wireless cards, looks like there's no support for SDIO cards period.  So ignoring that, the compact flash wireless card...  the online docs say something about what driver I would need to use, but said driver isn't selectable.  Soo.... yeah.  Maybe that's a pending release of the OS type thing.  Either way, that'll be mega cool to have when things are ironed out.  I'll be keeping an eye on things.

 

Nokia 770

 

Well, I am finally the proud owner of a Nokia 770.  I went and purchased one on Friday.  Comp USA... I would just like to say that your inventory control system is "the crap".  While it isn't ideal, I don't like that your web site says that there's no copies of it in stock and yet the store actually has some.  HOWEVER, how in the hell is it that I call you and you say you don't have any in stock and yet we drive over there, the guy in the handhelds department turns around, looks it up in the computer, and sees one available.  ???  Are you all's computers not tied together or what?  Bah.  Anyway, the nice guy found it hiding in a cabinet and low and behold, it's mine.  I immediately upgraded to the latest OS.  I love that it's self-sufficient!  I don't have to tie it to a desktop to install things, or get it working, or anything.  It's wireless functionality rocks.  Hell it picks up devices around that I didn't know existed.  =D  It cheerfully ties to my phone for access.  Unnnnfortunately, our friends at Sprint have dinked over the LG PM-325 firmware in a way that makes it unable to behave properly as a modem.  It keeps connecting and then disconnecting after like 20 seconds or so.  There's a lot of nice bluetooth functionality in my phone that doesn't work with Sprint's own firmware on there.  I made the mistake of evaluating the phone based off LGs specs, not Sprint's implementation of it.  Bah.  Not much I can do about it.  Sprint doesn't even sell my phone anymore so...  yeah.  As a phone, I love it though.  Oh well on that front.  Anyway, it ties into my home network really well.  Amusingly enough, my friend who bought a 770 a couple of months ago's hardware address is exactly one less than mine.  =)  I've only had a few problems with opera so far.  But those are pretty much classic Opera-isms.  I found the wonder that is the application manager that ties into various repositories.  Installed lots of things to try out.  Gaim actually works quite well!  Well so does google talk.  ;D  I like it quite a bit.  It integrates with the feel of the platform quite well!  I've had a couple of odd crashes here and there, but it comes back pretty cheerfully from the crashes, so no big deal.  I've been experimenting with the PIM software that's GPE based.  Now, considering my feelings on GPE above, I wasn't expecting a lot, but for some reason, on the Nokia 770, it's all quite nice!  Weird.  I haven't investigated whether it can do syncml or anything along those lines.  It has a note pad.  It has a password manager that I was able to download.  .. it's possible that this could be replacing my palm.  I'm thinking about experimenting with it as a replacement next week to see how things flow.  If nothing else, it makes an awesome ... well what it is.  =)  An Internet Tablet.  I enabled swap on the RS MMC card that came with it and that works out well.  Yeah you notice the slowness when it starts hitting swap but ... well what else is new.  =)

 

Wildfire Gateway Plugin

 

A little while ago, Jive Software approached me about writing a java based plugin to Wildfire that would provide easy access to other IM protocols.  At first I didn't think I had time for that, but as it turns out, for the most part, people have already written good libraries for the protocols under Java.  Not quite so under Python.  ;D  Besides that, they offered to support the project a tad, and so I have been working on the plugin since.  In this case, it is a single plugin that provides access to AIM, ICQ, MSN, and Yahoo.  (IRC planned as well)  It's sorta functional in it's current state.  There's a couple of problems, and a couple of important lacks-of-functionality, but it's definitely coming right along.  The guys from Jive have been very helpful and I'm quite excited about it.  I'm hoping to have good solid base functionality soonish and a beta release.  I have some awesome testers helping find bugs.  There's a lot of things I'm able to do with the plugin that I'm "jealous" of with the python transports.  For example, being able to interact with the user's roster directly is awesome.  I don't have to store a copy of their buddy list, or worry about bombarding the user with a bunch of subscription requests, or worry about lack of support for group propagation, or lack of support for nickname propagation ...  overall it's just really nice to work with internals for this.  Does this mean I'm not touching my python transports anymore?  Not at all.  This plugin will only work with Wildfire and the python transports should work with everything.  Likewise, with the plugin I'm aiming to keep "fairly minimal" whereas with PyAIMt and PyICQt have very intensive support.  For example, with the plugin I'm not implementing 8 billion versions of how avatars are implemented.  =)  Anyway, stay tuned if you are interested.  On a very very bright note, my reward for doing this should be arriving on Monday and it will singlehandedly increase the speed at which I can develop all of my projects.  =)  Score!

 

I'm using quite a few nifty toolkits with the plugin.  JMML for MSN support.  JYMSG for Yahoo support.  JOSCAR for AIM/ICQ support.  I am forgetting the name of the IRC toolkit I was looking at, but there is one out there.  A lot of these are considered "not yet 1.0", but they appear to work fairly well.  JMML is used with the planetamessenger.org stuff, which seem rather cool.  JYMSG seems to be a tad stagnant, but works well.  JOSCAR is actively being developed as part of Adium X and a 1.0 is right around the corner.  There is a companion piece called oscar.jar, which I may switch to when it's released.  Why?  Well, it's much higher level than joscar, which matters less to me since I am quite familiar with the OSCAR protocol, but would benefit others who might be helping with the code.  I'd like to try to keep this as non-complex as possible.  IRC is going to be interesting.  As we all know, IRC is primarily chatroom type stuff.  I don't have any chatroom stuff written up for the plugin right now, but that's ok.

 

It's interested to see this implemented via java instead of python.  One of the things about the python transports is that I am having to implement the oscar protocol as I go.  With this, it's already there.  One thing I'm pretty excited about is being able to use this to help with the python transports.  I'll have two gateway-implemented interfaces with AIM/ICQ and I'll be able to watch the flow of things as they go through Wildfire and compare/contrast.

 

You know, I hadn't given Java much of a chance in the past.  It's quite nifty.  It seems a lot better than it was the last couple times I looked at it.  Perhaps Sun has had quite a good effect on it?  If so, go Sun.  =)  Having the guidance from the folk at Jive to get me started here and there has been wonderful as well.

 

Anyway, you can keep an eye on what I'm doing here if you are interested:

Gateway Plugin Repository

 

Blathersource

 

Man...  yeah.  I feel overwhelmed with the stupid crappy spammers, but I really need to fix things so I can stop them from bothering my site.  Perhaps I will do that tonight 'real quick like'.  I need to implement a couple of things to do it:

 

1. Add "either captchas or login" for posting anything.

2. Add ability to delete comments

3. Add ability to delete bug reports/feature requests

 

Hate.

2 Comments 0 References Permalink
0

Well I'll tell ya...  Daniel has been busy with a side project that he is not going into here just yet.  I apologize for the lack of work on PyICQt and PyAIMt lately, but don't worry, I'll be back to them at some point.  =)

 

Adium X is looking better and better with every beta release.  Great job guys!  It remains my primary chat client.  Spark, on the other hand, has become my "I don't want to be bothered" client.  ;D  (since it only logs into one place and overall I really like the interface)  Psi by far remains my favorite dev/test client.  Some would argue with me, but if I were to call anything the definitive/most extensive implementation of a Jabber client, it would be Psi.  (especially the dev tree)

 

I've been busy with a lot of personal/home projects as well lately.  So much to do.  =)  Just wanted to assure people that I am not ignoring my other projects.  ;D  They're just on a short break!

0 Comments 0 References Permalink
4

Spark 2.0.0beta

 

Very pretty, works well, still has some mild issues connecting from Mac OS X.  Has sort of become my client of choice at home because Adium X has been very very slow for me lately.  Not sure why.

 

Things I wish it had:

- Better disco interface.  (I was working on one at one point but got sidetracked)

- Ability to register with/interact with components (see previous as it's related)

- Integration with apple address book for names and meta-contacts

- Meta contacts  ;D

- Apple-W to close a chat tab/window.

- More intelligent Growl support.  (right now it gives you a growl notification for every message, whereas other clients tend to only give you notifications on conversations that you are not currently looking at)

 

 

Adium X 1.0b1

 

My typical client of choice because I adore it's look and feel.  This version has so many things done under the surface that I like, but I won't go into them.  On the surface, the interface looks a tad cleaner and it supports Jabber icons now!!! WOOOO!  Unfortunately, it's rather crashy at the moment, but it's beta.  =)  I've been sending off the reports that come from the reporter tool, but I really don't have anything useful to add to the reports as I'm not sure what's causing the crashes.

 

Things I wish it had:

- Better Jabber support.  (things like disco, in-band registration, etc)

 

 

Psi (private build from SVN tree)

 

Psi continues and will likely always be my chosen test client.  I believe it supports many things well and is typically the best to test transport changes with (IMO).  Likewise, those guys are going plum crazy with features lately!  =)  Color me very impressed.

 

Things I wish it had:

- Integration with Apple address book for meta contacts and names.

- Meta-contacts.  ;D  (this is on the roadmap)

 

 

 

Other Stuff

 

On an unrelated note, this will cause my other posts to actually come through to Planet Jabber.  (I had two pending.... I think serendipity's Atom feed support is not very good, and RSS 2.0 support seems to be good, so I've asked that my feed at planet jabber be switched to RSS 2.0)

 

Also, due to a project I'm working on that I don't really want to discuss in my blog right now, the python transports and jwgc are in a sort of statis for a little bit.  Shouldn't be long, but just in case you were wondering why there hasn't been more development or a release lately.

 

Also note that I need to do a few improvements to BlatherCore (see www.blathersource.org) to deal with spam (sigh) and also integrate a couple of other interesting features.  Likewise, need to knock out ScriptRepo and get that bad boy up and running for people to use.  Need to silence the back and forth conversation in my head about how to deal with the various projects and "just do something", you know?  I like the way the interface came out, so hopefully that will encourage me to get it done sooner rather than later.

4 Comments 0 References Permalink
0

Idle time (again)

Posted by Daniel Henninger May 6, 2006

How bizarre to effectively be having a conversation with Ralphm via blog postings.  BlogIM.  =)  Anyway.  Ralph, I didn't see a way to reply directly to your post, so here goes.

 

I must admit the use of things like relaxing, and partying, and such is what offput me from thinking that user activity was what I was looking for in JEP-0108.  If I can indeed simply specify something like this:


<iq type='set'
    from='juliet@capulet.com/balcony'
    to='pubsub.shakespeare.lit'
    id='activity1'>
  <pubsub xmlns='http://jabber.org/protocol/pubsub'>
    <publish node='generic/juliet-activity'>
      <item id='current'>
        <activity xmlns='http://jabber.org/protocol/activity'>
          <inactive></inactive>
        </activity>
        <headers xmlns='http://jabber.org/protocol/shim'>
          <header name='Start'>2005-03-17T19:00:00Z</header>
        </headers>
      </item>
    </publish>
  </pubsub>
</iq>

 

Then yes, that seems like it would do the trick.  I wasn't entire sure if <inactive/> was allowed to exist without it's children but I didn't spend time to read that carefully.  ;D  I've got no problems with using that.  Seems like there's no reason why that couldn't be done via PEP either.  I like.  Thanks for knocking extra work off my plate!

0 Comments 0 References Permalink
0

Idle Time

Posted by Daniel Henninger May 2, 2006

On a mild aside before I get into this, I added a little project tracker to my blog.  Pretty nice.  Obviously I'm always working on JWGC (to a lesser extent lately), PyAIM, and PyICQ, but I often have little side project spinoffs or "major" things I want to do with the transports or JWGC.  I dunno, they seem to fit well into a little mini project tracker.  =)

 

Anyway, so people keep asking me to implement idle status in a better way.  Currently I am aware of only a couple of methods of doing this:

 

1) jabber:iq:last, requires polling this attribute regularly if you want to keep up with idle time, eww

2) adding the idle time to a presence status string, useful if you are reading said status field, not useful otherwose

3) simply setting the status to away, and extended away, as the person gets more and more idle... many folk don't like this way of handling idle.  I don't either.  I think idle is 'it's own thing'

 

So my proposal is this...  PEP seems to be the way and the light nowadays.  I believe idle status fits well into the pubsub model.  If you want to know the person's idle status, you subscribe to it, and you get update as the client itself 'sends' updates.  More importantly, it doesn't have to be updated much.  If your client decides that you are idle, it sets your PEP idle status to the timestamp when you started being idle.  At that point, it doesn't have to be updated until you come back.  Pretty efficient if you ask me.  Anyway, I believe this is a good way to go and on top of that, it would allow idle and away and such to be independent of each other.  You could easily see Away but only idle for 5 minutes.  Or away but idle for 3 days.  You get the idea.  Clients could easily handle this and set a cute little idle icon or something.  So I'm aiming to write up a JEP for this and submit it.

0 Comments 0 References Permalink
6

Coccinella and Spark

Posted by Daniel Henninger Apr 10, 2006

Just generally playing around with some clients, I rather dig Coccinella and Spark.

 

Spark is very cute and has a fairly nice interface.  It's "missing" some functionality here and there, but it's very young and has a nice plugin architecture that I was playing around with.  The login screen is a little on the ugly side, but then how often are you going to be looking at the login screen?  My only problem with it so far has been that it doesn't seem to like to log into my home servers for some reason.  Still trying to work that issue out.  I like how Coccinella has it's disco browser under a tab and, using plugins, I can do that with Spark to.  (ie, if I write that functionality)  Which is one thing I was working in for fun over the weekend.

 

Coccinella seems very feature right and has a wonderfully fun Whiteboard functionality.  It's also a very cute look and feel and it's Tcl/Tk-ness makes it very cross platform functional.  It's possible that the only reason I would -not- switch to this as my primary jabber client is that it doesn't 100% behave under OS X.  For example, periodically I have some major issues dealing with it's scrollbars.  Like they won't "pull" for me.  I have to click on parts of the scrollbar to get to where I need to go.  Likewise, it doesn't really keep a feel for it's last window positioning that I can see, so every time I start it up I have to pull the windows into the locations I want them in.  That one's not all that big a deal, but still.  Anyway, it's really quite nice.  =)

6 Comments 0 References Permalink
2

I have come to the conclusion that something I need to consider doing is writing a very quick and very dirty jabber client.  JWGC is not that client.  JWGC is a little complex and what I'm looking for is something . . . written in a scripting type of language that I know well (python? perl?) . . . that doesn't necessarily need to have a pretty user interface.  The goal here is..  as I'm working on new features for the python transports, I need to not be sitting here going "man, I wish I had a client that supported X feature so I could test it".  Hell with that, why don't I just write one that I can quickly and easily modify on the fly?  There's plenty of good libraries and such out there.  On the python front there's xmpppy which I have already coded one little thing with and it's realllly easy to code client type things with it.  Assuming I don't give a crap about anyone else but me using it, and I don't give a crap about the UI, what's keeping me from doing this?  I'd something that I ought to have done a long time ago.  Doesn't mean I wouldn't make it available for others to play with if they really wanted, but by the same token, since when can't I write something solely for me, where I don't offer or pay attention to bug reports... a "if you want to use this, here it is, if it doesn't work, fix it yourself or move on" software if you will.  Hell, who's to say I even have to make it available?  Sometimes I get stuck in the mentality that everything I do HAS to be done in a public facing manner and forget.

2 Comments 0 References Permalink
1 2 Previous Next