Rachel Blackman (ceruleansparks) wrote,
Rachel Blackman

  • Mood:
  • Music:

Journal begun...

So, as a long-time LiveJournal user, LJ seems like the best place to put this little blog for the moment. I'm going to keep commentary on current Trillian development here; obviously, I can't give away /everything/ that we're working on, but hopefully this will give some of the users a little more insight into the Trillian development process.

There are a great many things which have been going on behind the scenes without any notice, recently; the next version will have a lot interesting things. Of course, there are many bugfixes and minor improvements...but there are also some fairly major ones.

The big one for developers, of course, is the long-known changes to the plugin SDK for Pro. One of the first things I did was sit down with Kevin and really hashed out a lot of what I as a plugin author had needed in the SDK, and also features that were needed going forward. And I really like what's happened with the SDK; I can get a lot more of Trillian's innards and add a great many more bits of functionality in a plugin, which is a great improvement from my viewpoint. I think my absolute favorite change to the SDK is my most-often-desired one; a way for plugins to define their own API's a'la Trillian Pro's and export them to other plugins. This means someone who writes, say, an encryption plugin could export an API to other plugins; a plugin would be able to test whether or not that encryption plugin was installed, and then call into it.

So, using the new SDK, I've been doing some plugin work to give it a trial run. The first plugin already is done in a beta state, though I need to clean up the preference pages and make it easier to change the user data for it. No, I won't (yet) say what that one is, though I think many people will like it. When we go into beta, I will also be gathering some plugin authors to make a 'plugin beta team' to work on a plugin or two together (with my help/handholding over new API stuff as needed) in order to beat on areas of the SDK I may have missed.

However, the much bigger project for me at the moment is one that eclipses that. What I've been working on for a while now is a Jabber medium. Yep, that's right...we're getting Jabber! (As those poor saps unfortunate enough to have my on-again-off-again Jabber address on my test server on their rosters have undoubtably noticed by now! I feel faintly sorry for Bart...) The medium is already functional at the basic level; you can add and remove contacts, subscribe/deny, all the other useful roster stuff. It responds to most standard client-to-client IQ queries (version, time, etc.) and handles roster in the contact list and general messaging.

Jabber forced a change in how the contactlist works, as well; metacontact functionality is more general, now. A medium can define a metacontact-like contact in the list, and create 'subcontacts' under it (though unlike metacontacts, subcontacts cannot be dragged in or out of their parent). The Jabber medium uses this to display when a contact has multiple resources on, which can be talked to directly. For instance, 'rcb' might be on as both a 'Trillian' resource and an 'Exodus' resource; the user can either interact directly with the 'Trillian' resource or the 'Exodus' one, or allow Trillian itself to decide which to talk to based on presence priority and resource status.

Of course, the Jabber medium also has a fair way to go. I have various elements of UI to clean up (handling multiple Jabber connections properly being the big one), various base functionality to add (groupchat is the big one here) and a LOT more testing to do and a bit of overall aesthetic and functional cleanup (like, actually making the account addition and preference pages not look horrible, probably supporting JUD for add-a-user, etc.). However, I'm very happy with how it's coming out so far!

Even still, the first cut of the Jabber medium will be fully functional for the base set but probably won't implement overly many of the JEPs, just so as to get it done and out the door in a usable state. However, a lot of effort will be put into it over the future; the overall end goal for the medium is to bring the Jabber medium to the point that all the features of other mediums are supported within it. Ideally, we would then move beyond that mark to make Jabber the most-featureful of the mediums. That would, hopefully, give Jabber itself a fairly significant boost; Trillian users would be able to move to using Jabber for their primary medium without a loss of features, making it fairly painless.

Whew. Well, a sort of spammy first update to bring everything current, but hopefully it makes for interesting reading. :)
  • Post a new comment


    Anonymous comments are disabled in this journal

    default userpic