The problem with personal projects is just that, when the person in question gets interested in another project or busy or whatever, development stops. This is what the current status of PyAIMt and PyICQt is. I am having a lot of fun with the IM Gateway plugin for Wildfire, and as a result I don’t feel interested in putting any time into PyAIMt and PyICQt. Are these two dead now? No. I still have “things I’d like to do with them” in my head. It’s just most likely we’ll see a 1.0 version of the plugin before I touch PyAIMt and PyICQt again.
One thing that the IM Gateway plugin has brought me is that I’m now quite comfortable working with other folk on the same source code. That said, I’m trying to weigh the pros and cons of enlisting help with PyAIMt and PyICQt. There are quite a few folk that are interested in using it, a few folk who submit me patches from time to time, and certainly general interest in the transports. So my question posed is… Are there folk out there who are fairly experienced python programmers who would be interested in becoming active developers of PyAIMt and PyICQt? I am not handing off the project and will continue to be the project lead, and will continue to put development time into them as time permits. Anyway, I have not yet decided on this, I’d just like to hear from folk who might be interested in contributing. If I see some interest that’ll help drive my decision. =D
On a semi-related note, I continue to find java with an IDE to be fun and interesting. I think working with java without an IDE would be maddening due to how long it takes to compile and test things in the environment I’m using it in, and it’s certainly saved me a ridiculous amount of time in debugging stupid typos and crap. The IM Gateway plugin itself is going pretty well but unfortunately there’s a lot of work that involves working on support libraries as well. The original developer of Java-JML turned over development to me so I’ve been working on that. That’s pretty fun, I know more about the MSN protocol now than I ever expected I’d know. The Yahoo library is … kind of a pain actually. =/ Right now Yahoo is the biggest source of issues for me. Joscar for AIM/ICQ is a damn fine library, but I want to move to using a more simple API and I can’t seem to figure out how I use Joscar’s simpler API. Perhaps I should like… ask them instead of just blogging about it. I tried figuring it out from Adium X but yeah… =) That’s kind of a weird setup. I need to work on implementing the old school ICQ authentication because, unfortunately, the “new style” AIM auth only works with newer accounts. (how bizarre) I’ve still got a lot to work on with IRC as right now it’s a mightily talkative transport and I doubt most folk want to see all of that. =) My biggest issue at the moment is that I’m fighting with AJAX support in the web interface. Trying to use DWR… seems like it should work fine… doesn’t. I wanted to figure this out on my own but it looks like I shall be deferring to the Jive folk to get it taken care of. So many things to do.
So anyway. Thinking back, I remember that the thing I thought was so awesome about XMPP is that the entire spec was written out and ‘open’. My first endeavour was that I like the Zephyr system from MIT and thought, based off the open protocol, that it would be neat to implement zwgc and friends except to communicate to Jabber/XMPP. This formed into JWGC. Transports came later, etc etc. The great thing is that the openness of the protocol leads to a great feeling of being able to write your own client/server/whatever to learn how it all works and go from there. The bad thing is that the openness of the protocol leads to a great feeling of being able to write your own client/server/whatever to learn how it all works and go from there. =) Now, I don’t think this truly is a bad thing, but it does lead to a -lot- of starter projects written and then ditched. I often see folk come jadmin and jdev asking about where to start in writing their own client/server/whatever, and typically they get a response of “why not just contribute to an existing project?”. If the person’s goal is to just learn, starting from the ground up is not a bad way to go. If the person’s goal is to get a server/client up and running that has X feature that all of the servers don’t have, contributing is definitely the better way to go. What’s the fine line between writing your own and not writing your own? I certainly can’t answer that. Note that I think asking “why not just contribute…” is a good way to go about it because that encourages the person to say “well I just want to learn”, at which point ok, go for it. Or it encourages us to help point the person in the right direction.