[General Topics] Menneisyys:
Finnish invention Internet Relay Chat (IRC) has always been a great way to meet each other. This was particularly the case in the pre-Web, pre-* Messenger, pre-VoIP times, when the only really widely used form of conversation was IRC. Yours Truly has even spent 6-7 hours a day some 14-15 years ago talking to his friends, was always called A Serious, Hopeless IRC Addict that would probably never get back to life :)

After publishing my two roundups of IRC clients (Part I; Part II) two brand new IRC apps, PontiSoftware's mIRCy and Gargaj's zsIRC have been released; also, a brand new, 1.2 version of PocketIRC has been released. Therefore, I considered it to be essential to compare these three new releases to both each other and the already-released titles; most importantly, wmIRC (which hasn’t been updated for half a year), which, regardless the (sometimes fatal) bugs, I’ve always considered one of the two best IRC clients (the other being, up until now, PocketIRC).

All the three apps are landscape- and true VGA-friendly and run flawlessly on WM2003, WM2003SE and WM5 devices.

Code North PocketIRC 1.2

(Price: $14.95; free upgrade for previous 1.0 / 1.1 owners; OS compatibility: WM2003+ (1.1 supported all pre-WM2003 OS’es))

The new version indeed delivers seamless VGA support (it doesn’t do pixel doubling any more, which was one of the biggest problems with version 1.1), which is the most important news. Also, it sports several bugfixes and is more compliant with WM5 (interestingly, I haven’t encountered any WM5-related problem with the previous 1.1 version either). Also, support for inverse color codes has been added (see Part I of my IRC roundup series on what this means).

Unfortunately, no new functionality seems to have been implemented. For example, one of the most important omission in version 1.1, the lack of logging, hasn’t been fixed in this version either.

Following are the Options dialogs so that you can have a clear picture what you can set and what you can’t: Server Display Format Ident DCC. As can clearly be seen, if you compare these dialogs to the previous version, there are absolutely no changes. The same stands for the menus.

Pros

VGA-friendly (no pixel doubling)

DCC support (as was already in the old, 1.1 version), in which it's really unique

said to have bugfixes and improved WM5 compatibility

Cons

ClearType can’t be switched off – it can be VERY annoying, especially on QVGA devices. Note that version 1.1 didn’t have ClearType.

No new functionality over version 1.1 except for the inverse color codes

The history is as useless as before – that is, pressing the “Up” arrow retrieves the first message, not the last one

mIRCy 1.0 by PontiSoftware

This brand new, commercial (it costs $11.95) IRC client is definitely worth paying attention to – it has great potential. By just eliminating its bugs, making it VGA-friendly (now, it does pixel doubling) including font size setting support, it can easily become the best IRC client for the Pocket PC (it, however, lacks any kind of DCC, in which PocketIRC is still the best Pocket PC IRC client).

It has a lot of goodies: logging support and for example Ignore, Highlight and Notify lists - in this respect, it’s really unique. Also, it’s highly fine-tunable (except for the character size, which I’ll elaborate on later). Following is a quick list of the dialog screens so that you can have a picture of what can be set: Connection, Options, Colors, Sounds (for example the channel joining sound is very funny!), Info, Files.

It’s of the very few apps that has a local server list. It can be found in the Connections settings dialog where there is a separate network and, inside networks, server list. It’s, however, is in no way as extensive as the desktop mIRC’s list available for download and conversion here. The two lists aren’t compatible but can definitely be converted with some regular expression knowledge (with which, fortunately, I can brag with). I’ve, therefore, quickly written the regexps to convert mIRC’s format to that of mIRCy (from: n\d+=(.+):.+SERVER:(\S+):(\S+)GROUP:.+ to: $1\t$2\t$3\t ; with Editpad Pro (my favorite, fully regexp-compliant editor under Windows), this should be used as depicted in this and this screenshots). Note that the list MUST have a trailing Enter character; otherwise, the client will crash upon trying to load the list. Also note that you should only keep the [servers] section; delete everything BEFORE it. Also make sure you remove (or, manually convert) the “n127=EpicIRC Random serverSERVER:irc.epicirc.net:6667GROUP:EpicIRC” row from the resulting conversion (and make sure there are no other records with : in them; they don’t adhere to the reg exp syntax of the other records. You can, naturally, eliminate them yourself.) With my list AVAILABLE HERE (just overwrite the default list, \Program Files\ PontiSoft\ mIRCy\ servers.txt, with it), as you can see here, there are much more selectable networks and considerably more servers (416 as opposed to 306). Hope you enjoy my list.

Pros

Manually editable server list at \Program Files\ PontiSoft\ mIRCy\ servers.txt (to which, again, I’ve created an up-to-date list and a converter script for you so that you can do the conversion yourself, along with making available a converted, up-to-date, much-better-than-the-original mIRC list)

Logging

Copying to the clipboard (just select the text)

Pretty good context menu

The only Pocket PC IRC application to support multiple ports, of which it automatically chooses in a random way – starting from a port in the lower range, when it finds it doesn’t answer, it retries with a port with a higher port number). Much as, up to now, I haven’t really found a real use for this (if you use the default port number, 6667, and can’t join a server because it’s full, in most cases retrying with a different port number on the same server doesn’t help), this may be handy. For example, the most widely known, internationally (even from Europe!) usable US-based IRCNet server, irc.stealth.net, allows for connections in the 6660-6669 range (of which, at the time of writing, 6000, 6001 and 6002 were unreachable though as can also be seen in here (screenshot of PocketIRC 1.1 (also note there’s no ClearType); manually changed port numbers between connection attempts).

Note that the lack of multiple port support isn’t a showstopper with other clients. If you really want to try to retry with another port (as has already pointed out, in general, you won’t need to) different from the default 6667, you can always (manually) reconfigure your IRC client before reconnecting. (Yeah, I know it means you end up having to shut down zsIRC and editing the config file with an editor. In other clients, it’s much easier.)

Cons

No DCC

after disconnecting (File/Disconnect) from a server (or after an unsuccessful attempt to do it), it’s impossible to reconnect (retry) at once for at least 30 seconds: you’ll get the as can be seen in this screenshot too – or, in cases, the GUI becomes totally unresponsive. This can be a real pain in the back with servers that require many attempts to connect to (for example irc.stealth.net). The tested, other clients (the two PocketIRC versions, wmIRC 2.2, zsIRC) don’t do the same.

Sometimes selecting Connect results in the same without even having connected to servers before. Then, in addition, the GUI just seems to be frozen. Fortunately, after 10-15 seconds, you will regain control over it.

Generic rendering errors for example at inserting text into already-existing text and at displaying non-active queries / channels

Pixel doubling in SE (standard) VGA mode; forcing \Program Files\PontiSoft\mIRCy\mircy.exe doesn’t really help this because of the really tiny characters, totally messed-up main screen and whisper context menus (in native VGA, it's OK but uses very small characters)

Character size can’t be set (unlike in almost any other IRC client). Unfortunately, it doesn’t take into account the system-level character size setting either (see the “old” “Everything about VGA” article linked from here for more information on this)

There is history (accessible also with the up/down keys) but it always returns the first (globally) entered string, not the latest one – not what you may be looking for

Verdict

For VGA users: if it’d be more VGA-friendly (no pixel doubling) and the character size were settable, I’d certainly recommend it. For now: if you get upset by the non-settable character sizes and the pixel doubling, go for another client, for example zsIRC.

For QVGA users: recommended. Give it a try (particularly with my server list), you’ll like it.

zsIRC 2006. 07. 23. by Gargaj

This free (!) IRC client was a BIG surprise for me. It’s a bit hard for a newbie to operate (everything must be configured by manually editing the zsIRC.ini file; there isn’t even a CAB-based or a desktop installer etc) but is much-much better than any other free client out there – and, in many respects, even commercial ones! For example, it supports logging (again, the above-reviewed PocketIRC, which is in many respects the best IRC client, still doesn’t support this essential feature) and, as opposed to the above-reviewed mIRCy, it supports VGA and lets the user configure the fonts. This application is certainly worth a try.

Pros

LOGGING!

Free and MUCH better than any other free client

Pretty easy to switch between channels and queries (no drop-down menu to switch, unlike in PocketCHAT)

No anomalies on VGA devices

History works as expected (and unlike the other two apps, which always bring up the first item): pressing the Up key retrieves the last message sent, not the first one

(Via the zsIRC.ini file) many parameters can be configured (for example, a lot of appearance-related ones)

Cons

Everything must be configured via the zsIRC.ini file – no dedicated settings menus / dialogs

No installer

Requires you to know the exact syntax of, for example, /topic or /kick – no menu/dialog-based support

Very weak context menus (compare this to the context menus of the other two apps)

No copy to the clipboard – you can’t select any text, unlike with the other two reviewed apps. You need to look up the log files if you need to copy anything to the clipboard.

No DCC

No colors

Verdict

zsIRC has indeed proved to be a very good surprise: it’s so much better than all the other free clients out there. It’s not only free but also supports logging, has the best-working history (if you have an external / thumb keyboard and are used to the way how desktop / Unix IRC clients work, you’ll certainly welcome it) and has no visible anomalies, unlike both mIRCy (pixel doubling and non-settable character sizes) and PocketIRC (ClearType).

Sure, it has a lot of shortcomings, but as far as you don’t need menu support for IRC commands (after all, in the old IRC days, I had to memorize the correct syntax of all op and other commands because there were no menus under Unix or, even better, VM/CMS and I can tell you it’s not impossible), give it a go – you’ll like it.

Unfortunately, the new version of PocketIRC was a disappointment for me. I certainly hoped for more. The always-on ClearType is a real pain in the back (I just HATE it, particularly on QVGA devices). If you, on the other hand, don't dislike ClearType, you may want to give a title a try.

mIRCy clearly shows it’s just a 1.0 product – while, in some areas, it excels (for example, ignore lists and logging), the lack of VGA support and the inability to set the font size is unforgivable (if you are a VGA user, that is). Hope its problems will be soon fixed; for now, I can’t really recommend it if you have a VGA device. Then, I recommend the free zsIRC the best if you aren’t afraid of editing the settings file and memorizing the syntax of some often-used IRC commands like /invite, /kick or /ban. You’ll like it.

If you have a QVGA Pocket PC, on the other hand, you may definitely want to give mIRCy a try.

APPENDIX: The timeout problem

I’ve emphasized in Part I of this series that Pocket PC IRC clients are particularly sensitive to timeout issues.

‘Timeout’ means you don’t get direct feedback about the IRC server you (are supposed to) connect to not receiving your messages any more because, for example, the direct connection between you and the server has been broken, timed out. This can be caused by both IRC-specific problems and generic problems like the entire Pocket PC’s losing its Internet connection.

Not receiving any feedback, sadly, also means that, in cases, you may end up sending messages to your listeners even minutes after you’ve been disconnected. All these messages will be lost and will never be seen by the people you were speaking to (the "synchronous" IRC has no “memory”, unlike some much more modern also-asynchronous peer-to-peer (P2P) architectures like that of Skype – or, for that matter, the E-mail itself) unless you copy them to the clipboard (if your client is able to do this at all) and, then, paste them again into the channel / query windows as soon as you reconnect to the server.

Just to have a picture of what can happen to you in normal-day situations, here are the results of some of my real-world tests with current IRC applications, using two different servers: a well-known and usable-from-anywhere IRCNet (irc.stealth.net) and an EFNet (efnet.cs.hut.fi) one; using exactly the same circumstances on the client. All test have been done the same way: resetting my test Pocket PC (Dell Axim x51v A12; other models would have behaved the same way), booting in, starting the tested IRC client, connecting to the server via ActiveSync, logging into a channel so that my test clients logged into the channel can see everything’s all right and, then, just disconnecting the Pocket PC, starting the stopwatch. I’ve made sometimes several measurements with each client; the results are separated by commas.

As can be seen, all the tested applications (that is, all the really usable Pocket PC-based, native IRC applications), without exception, suffer from this problem, without an exception. In cases, you may end up sending out messages for even 20-30 minutes (!) without being notified of the broken connection.

Unfortunately, on the Pocket PC, using the current clients, it’s very hard to fight these kinds of errors because they don’t support for example timers to automatically send ping requests to anywhere, and manually pinging others every 1-2 minutes is quite awkward. To ease the pain and to implement the best possible solution, however, I recommend the following: if you have any friends you talk to with mIRC, you can ask them to enter the following command:

/timer 10000 10 msg your-nickname anymessage

or

/timer 10000 10 ping your-nickname

where 10 is (in seconds) the time messages and/or PING requests are sent to the client and 10000 is the amount requests are sent out. These values can be freely modified.

(If there is no one with this, just use the PING command.)

This way, if you just switch to the Status / server tab and/or the message window of the given user (canceling it being highlighted) and, then, switch back to your other windows, you can easily see even from other windows whether you’re still connected (see the red/ blue message/status window highlight here). You, of course, will need to often “clean” the “updated” flag by switching windows; if your IRC client supports switching tabs with the left/right D-pad (like mIRCy and unlike zsIRC or PocketIRC), it can be very easily done. Still, this way you can always be absolutely sure you’re still connected to the server and your friends can see you.

Note that your partners will see at once you’ve been disconnected (“EOF from client”), it’s “only” you that won’t notice this.

UPDATE (09/06/2006): PPCT frontpage; Appendix added.