Wednesday, November 11, 2009

centerim for the Zipit Z2!

One of the first things I noticed about the Z2 was that the keyboard driver for the stock application was downright broken. On the top of my list of "things to compile for the shell" was a multi-protocol instant messenger. But that ended up being quite a task.

Most people probably would have given up and just installed a new kernel or a new OS to the device such as Debian or OpenEmbedded. But I actually like the stock operating system, and I don't want to break it (despite the lousy keyboard driver). And so ... I have been enslaved to Scratchbox for the past two weeks trying to build this application for the Z2 Shell. There were some pretty deep pitfalls. Namely that MSN and Jabber require a few encryption pieces which didn't like being built into a static binary. But before I get carried away with the details ...

Here is the binary if you would like to try it: http://oddree.com/zipit/centerim-zipitz2.zip

Here are the release notes:
** centerim-4.22.8 for the Zipit Z2 by Ray Dios Haque **
** http://www.oddree.com **

IM ME! AIM: rayhaque - Yahoo!: ray_haque - ICQ: 12003044

ABOUT
This is the centerim instant messenger from http://www.centerim.org
compiled for use on the Z2 Shell image for the Zipit Z2. It was a
nightmare to build this due to the long running list of dependency
libraries and applications. Note that the enourmous file size is
the result of building in all of these static libraries. This binary
was built with AIM, Yahoo, and ICQ protocols. I removed everything
else to keep the size low and my sanity in check. Also note that
MSN and Jabber were removed due to their dependency on GPGME which I
could not successfully build in a 'static' manner. If you want these
protocols added back in, please build it yourself and then tell me
how you pulled it off. :-)

INSTALL
Extract the contents of bin to the bin folder on your SD card. These
files will be located in /mnt/sd0/bin after you have booted. You will
not need a path to run them as your PATH variable should include this
directory. Just run "centerim" to get started (it takes a few seconds
to load up).

Extract .centerim to the root of your SD card. It will be mapped as
/mnt/sd0/.centerim. This folder will house all of your contacts,
logs, settings, and perhaps your account passwords if you elect to
save them (default).

USAGE (to get you started)
centerim - starts the messenger.
g - will bring up a menu which you can navigate with the circular
arrow keys on the zipit. You can set up your accounts here.
ESC (smiley key) twice - exits whatever menu you are in.
*Read the official documentation at http://www.centerim.org for more*

MODIFICATION
I noticed that the "servers" being used for the AOL and Yahoo plugins
were very old, and didn't answer requests any more. I have changed
them to reflect what is used when I run Pidgin. If you can't get AIM
or Yahoo to connect or log on, it could be that these servers have
been changed again. It could also be that the protocols have been
intentionally broken by the vendors to prevent people from running
applications like this one. Check www.centerim.org for details.

I also set the margins to what I think is an appropriate height and
width. If you don't like them, you can change them in the main menu
(accessed by pressing 'g'). Any changes you make will be saved to the
config file which resides in /mnt/sd0/.centerim.


Earlier in the week I wrote up a blog post about compiling gettext to give you all some indication of why I have pulled out all my hair. In that post, I pasted my "dependency tree" which I created so that I could keep track of where I was in trying to build a library - which needs a library - which needs ... you get the idea.

When I was done, this is what that dependency tree looked like, complete with notes. I am sharing this partly so that you can see what all was involved here - but also in case I am every crazy enough to try and build this again (which could happen if AOL or Yahoo! decide to re-write something with their protocols or logon processes).

I am pasting a picture, because the HTML here keeps slaughtering all of my tabs and white-space. If you actually want to get to the text - I have put it here.



So there you have it - an application that took two weeks of my life away and will probably only be used by me. This will also make it's way into my next "IZ2S" Shell image which should drop in a week or so depending on what else I might build in the near future.

HACK ON!

1 comment:

  1. Now that Facebook works on Pigeon, can this app work with Facebook Chat?

    ReplyDelete