Thursday, February 07, 2008

StepChat, TalkSoup, and Grouch

StepChat is an instant messenger using Jabber Protocol (or called XMPP). Jabber Protocol is an open source project. Both Google Talk and Apple iChat support it. If you have a Google account, you have a Jabber ID already. StepChat is a part of Étoilé Project. It requires Addresses on GNUstep. It can also run on Mac OS X. To avoid any complication, I suggest you to download the whole Étoilé, which is easier to work with:

svn co Etoile

We need a patched Addresses. Go to Etoile/Frameworks/AddressesKit and install it with `make; sudo make install`.

Now, you should be able to install StepChat under Etoile/Services/User/Jabber.

For the first time, it will ask your Jabber ID, server, then password.


It automatically adds the Jabber ID into your contact in the address book. If you didn't set Me in the address book, it will create one for you. You can also check the saved server and password in user defaults:

defaults read StepChat

If you input wrong information the first time, StepChat won't let you change it. When that happens, you can fix it by

  1. Manually add your Jabber ID in address book. Cycle through the options of instant messenger for Jabber once ID is input. Remember to set Me with menu "Person > This is me" in AddressManager.

  2. Do `defaults delete StepChat XMPPPasswords` to remove saved password

  3. Manually set server by `defaults write StepChat Servers '{"" =}'`

  4. Note that should be your Jabber ID and should be your Jabber server.

Since password is deleted, StepChat will ask you again the next you run it.


StepChat is a standard Jabber client you can expect. You can add more buddies, change status and have chats with many people. There are also some new features like XHTML-IM and vCard support. The text field on the top allows you to input something to be seen by your buddies.

StepChat has a XMPP framework underneath. It might be useful for other applications to take an advantage of it.

TalkSoup is an IRC client. During the installation, it may put bundles under root directory as /Library/ApplicationSupport. You need to move the content of it into your GNUstep/Local/Library/ApplicationSupport. Once you can start TalkSoup, choose menu 'Connection > Open Server List...'.


You can select FreeNode >, click Connect button, then you will be connected to the server. To join GNUstep channel on FreeNode, type `/join GNUstep`:


Then the GNUstep channel will show on a new tab. Now, you can talk to people and get your questions answered. For more about IRC, you can read this tutorial. TalkSoup uses plugins to expand its functionality. You can include more functions with its preferences (menu Info > Preferences):


Just drag-and-drop plugins between Loaded and Availabe. Each plugin has detailed description and explanation on how to use it.

For AIM and ICQ users, there is a Grouch. I don't have an AIM account. So I will just show you a screenshot:

Previous articles in this series:

  • Gomoku and Localization in GNUstep
  • Font Manager and GNUstep Backend
  • System Preferences and Theme
  • Ink, a GNUstep text editor, and Services
  • Addresses, a contact manager


    Lukáš 'Spike' Polívka said...

    Hey, it's always great to see there are native Jabber/XMPP clients for (almost) every desktop environemt/operating system! Keep up the good work!

    Anonymous said...

    Hi there,

    I am running Stepchat on Debian with Etoile svn,

    I would love to implement the OTR feature to encrypt Conversations, is there any Implementation stub right now?