UPDATE (09/07/2006):
Before I completely update this article, you may want to check out the reviews written AFTER finalizing the article below. These are as follows:A complete review of PocketIRC 1.2 (the article below discusses version 1.1), PontiSoftware's brand new and, apart from the VGA issues, pretty good IRC client mIRCy 1.0 and Gargaj's also brand new, great, freeware zsIRC (09/2006) A thorough comparison of SmartIrc.net 1.14 by Kim Nyberg (a freeware, pretty incapable client), IrcCE 2.00.02p by mov Software Corporation (a not recommended, really restricted (doesn’t support DCC, logging, text copying, command history etc.) client) and ProChat 0.7beta by Proporta Web Solutions (a free and really incapable - no DCC, no logging, no text highlight/copy, no color codes, not even standard IRC commands – client) (05/2006) The Windows Mobile 5 (WM5) compliance of the IRC apps in this review (note that the in the meantime released wmIRC 2.2 has exactly the same problem with WM5 as the tested 2.1 version; the review of wmIRC 2.2 can be found here) (01/2006). UPDATE (09/09/2006):
PocketIRC 1.2.1 released – now, the always-on ClearType bug is fixed; additional color displaying tests with the four best Pocket PC IRC clients The original article follows:
IRC Applications for the Pocket PC
Internet Relay Chat (IRC for short), another Finnish invention (hear that, Jacek? ;) ) is a 17-year-old technology, and, albeit it has seen better days in the pre-Web times, is still quite popular.
Therefore, there're IRC clients for various platforms - it's even supported on 8-bit home computers like the c64 and even older devices. (Hey, 8-bit freaks, have you heard of Contiki? Check it out - you'll love it!)
The Pocket PC platform is no exception: we have three clients. In this roundup, I scrutinize these. In addition, I also thoroughly tested Java MIDP-based IRC clients on the Pocket PC. If there's nothing else, they can also be used.
I recommend this roundup to both (would-be) IRC users and, even more importantly, to the developers because, as you'll see, none of these applications can be called the "best" and the developers of all the three applications should implement features already present in alternative clients.
It is here that I need to emphasize: there is no clear winner. Therefore, I can't tell you which one to get: I'm only giving you an unbiased and very thorough comparison of the three clients and two MIDP ones. You need to consider the advantages and disadvatages, compared to your own requirements, of each of these clients to be able to choose.
1. Currently available native Pocket PC IRC clients
1.1 wmIRC 2.1
The newest, commercial player in the town. It, apart from the complete lack of DCC support, is very good, if you don't have problems.
Pros:
- looks much better on a VGA device (in SE mode) than the other "real" IRC application, PocketIRC
- internationalization support (the only native client with that)
- excellent logging capabilities
- new (both and separately configurable) public/private message notifications
- It has a Smartphone version too
Cons:
- over GPRS connections (I've only run into this problems with slowish GPRS connection, not over fast ones) it often has problems joining channels on various IRC networks (tested with IRCNet and EFNet). Much as the client. physically, joins a given channel, it doesn't actually notice it. That is, no new tab is . This is particularly common if the IRC server forces you to change your nick while connecting the server - then, you most likely won't be able to join any channels. (A workaround for the problem: if you are always forced to change your nick upon connecting to the server, make sure you change it in Menu/Preferences/Nickname before connecting to the server. Then, you won't be forced to change your nickname right during joining.
- minor bugs like only the channel name is displayed in the System tab if invited to a channel, no other message is shown (just '#channelname', no 'you have been invited to #channelname'). Newbies won't know at first what this means.
- No DCC support
- It doesn't run on pre-WM2003 devices
- No text post-selection capabilities, except for clicking individual words
It also has (editable/addable/removable) "macros", which you can paste to the input field; they are no more than simple one-row strings, though. That is, don't think of anything fancy. You can't even issue several commands in a row using them.
Bottom line: if you can live without DCC and/or you need internationalization /logging/excellent standard SE VGA screen rendering, go for this app.
1.2 PocketIRC 1.1
This is a well-established and known, commercial IRC client.
Pros:
- support for PPC2k/PPC2k2, as opposed to wmIRC
- the only application to support DCC
Cons:
- pixel doubled rendering in standard (SE) VGA; forced mode doesn't help, only native VGA.
- weak text post-selection capabilities - you can't scroll while selecting test
- the worst 'broken connection'/'disconnected server' reporting
- no internationalization
Please note thar I've added a section to this article on how DCC can be used in different network connection scenarios. Please scroll down to section "4. Using the PocketIRC DCC".
Bottom line: if you need DCC and/or, generally, a good IRC application for pre-WM2003 devices and you don't need logging/ internationalization, go for this app.
1.3 Smartsoft PocketCHAT 1.1.8
This is also a well-known application. It's free. Unfortunately, "there is no free lunch" - this app has some severe drawbacks. On the other hand, it also has some really cool, unique features (for example, the channel list dialog).
Pros:
- support for PPC2k/PPC2k2, as opposed to wmIRC
- free, as opposed to the other two apps
- decent, dedicated channel list dialog (unlike with the two commercial clients). It can't be used on IRC networks with tens of thousands of channels, though.
- while it doesn't have mass select capabilities, it can scroll the window while selecting text
Cons:
- missing change notification of inivisible channels/ windows
- no message/command repeat/history
- no DCC
- no colors
- unable to disable scrolling
- no QVGA SE landscape/ native VGA support
- RAM usage (eVB files)
Remarks: it's eMbedded Visual Basic-based; that is, it installs the usual slew of DLL's (pvbform2.dll, MSCEMenuBar.dll, MSCEWinSock.dll, MSCEImage.dll, MSCEFile.dll, pvbhost2.dll, vbscript.dll, pvbload.exe and pvbdecl.dll) into \Windows, taking over 1 Mbytes of RAM. You will still need to install eVB on top of these. Please read this blog entry on this.
Bottom line: if you don't want to pay for an IRC client, get this one. It has pretty annoying restrictions (most importantly, the lack of incoming message notifications), but you can't except much from a free app.
2. MIDP IRC clients
Note that these clients are all really inferior to the native Pocket PC IRC clients. It's still good to know what MIDP IRC clients there are - after all, you can run them on even low-end mobile phones in exactly the same way as on your PDA.
If you still want to give them a try, get the IBM J9 MIDP2 compatible environment. Go here, choose the link "Trial: IBM Workplace Client Technology, Micro Edition 5.7" and navigate through the three pages, by loging in / registering with IBM. On the third page, scroll down to "WebSphere Everyplace Micro Environment MIDP 2.0 for Windows Mobile 2003" and download the application.
Alternatively, if you don't want to download the 50 Mbyte file above, the vast majority of which you won't need, just download this CAB file. Transfer it to the PDA and click it. You may also want to read this blog entry on installing CAB files to non-RAM destinations.
After installing it, download the JAR files of the MIDP programs you want to install (you won't need the JAD files) from the home pages of the applications. All you'll need to do is transferring these JAR files on your PDA and click them from Pocket File Explorer. As IBM J9 will already be associated with the .jar extension, it will be invoked. You will only need to press OK two times for the applications to be installed.
After installing these applications, you only need to start Midlet HQ from Start/Programs; you'll be shown a list of the installed midlets as in here:
click for screenshot
Here, you only need to highlight the midlet you want to execute and choose Launch.
These MIDP clients should be used exactly the same way: instead of menus (including tap-and-hold context menus), you have buttons and single clicks. It'll be very strange at first, but you can get used to using MIDP programs really fast. If you choose them over native PPC apps, that is. jmIRC isn't that bad, for example - taking into account its size (33kbytes), price (free), compatibility and the fact that it can even run on really low-end mobile phones.
2.1 WLIrc 1.0
A typical MIDP client. To see what it's capable of, here's the main setup screen and the advanced setup screen.
Its 'View topic' button doesn't work; it's in the Status window that you must check channel topics out.
Note that the otherwise excellent version 2 (tested build: 4) of WLIrc doesn't run on the Pocket PC.
Under IBM J9, the channels are rendered OK, but you can't navigate to the userlist to choose a user from it to query him/her, CTCP or anything like that. The cursor keys can only be used to switch between channels (left/right) and between the channel window and the text input field at the bottom (up/down). As IBM J9 doesn't support the stylus, it's impossible to traverse the focus to the userlist. Furthermore, in the channel context menu, you can't get a list of usernames either ('Names' doesn't work in the context menu).
This is certainly a pity because it's really an excellent app. It supports, for example, DCC send/receive; as in wmIRC, configurable sound/midi/flash/vibrating alarms (of them, in IBM J9, only beeping and a message box will work), a mIRC-like GUI with the userlist on the right, excellent HTTP proxying capabilities etc.
Unfortunately, the otherwise MIDP2-compliant CrEme isn't even able to run WLIrc2. Much as, to some degree (you can't, for example, delete anything/modify pre-defined strings like the server string because of the, compared to the other Pocket PC JVM's, incompatible GUI widgets/structure), you can configure the client, you won't be able to connect because of a lot of exceptions.
(If you still want to give CrEme 4.00 a try, make sure you also download the WLIrc2.jad file from the WLIrc2 homepage, copy it to the root directory of your PDA (along with WLIrc2.jar) and create a link file to start CrEme with the following content:
255#"\Windows\Creme\bin\CrEme.exe" -Ob -classpath \ -mv WLIrc2.jad
(note that this command file assumes you've installed CrEme in the default RAM and that the above-mentioned and -linked jad and jar files are in the root directory of your Pocket PC.)
2.2 jmIrc 0.95
Another typical MIDP client. In addition to WLIrc, it supports individual profiles and timestamps.
2.3 Disqualified MIDP IRC clients
2.3.1 Virca 1.1.20
It supports internationalization and some other goodies (for example, CTCP PING); however, when I tried to run it, it crashed upon trying to say anything. Furthermore, it wasn't able to connect to EFNet. It must be a generic compatibility problem.
2.3.2 k-IRC
It doesn't exist/isn't developed any more, unlike the other MIDP clients.
3. The comparison chart
| Application: | wmIRC 2.1 | PocketIRC 1.1 | PocketCHAT 1.1.8 | WLIrc 1.0 | jmIrc 0.95 |
| Price | $19.95 | $14.95 | free | free | Free |
| RAM usage | - | - | ~1Mbyte (eVB files) | 49k | 33k |
| Compatibility: Operating systems in general | WM2003+ (WM5 for sure) | PPC2k+ | PPC2k+ | MIDP | MIDP |
| WM2003SE VGA? | + | + (pixel doubled in SE; forced VGA mode useless) | + | + (pixel doubled in J9) | + (pixel doubled in J9) |
| Native VGA? | + ; note that this is the small(est) chat font you can set | + | - (upper left q) | + | + |
| SE QVGA Landscape compliance? | + | + | - | + | + |
| Misc: Multitab support | + | + | A drop-down list; it's buggy; it's only after joining some channels that it becomes visible; until that, only the latest channel/query name is shown. | + (both the dedicated Window button and the left/right keys on D-Pad) | + (the left/right keys on D-Pad); the Favorites dialog isn't meant for this |
| Built-in server list (like that of mIRC) | 5 entries | - | + can be enabled with Options/Server group/Load server list on start up; it's pretty fast because it only loads 100 server names at once. Unfortunately, it is only able to list the first 400. | - | - |
| Internationalization support? | + ; Russian example here | - | - | + (charset name must be entered by hand, unlike with jmIrc) | +; Russian example here |
| Userlist of the current channel | + (in a separate window) | + (same window; have to enable for all channel windows) | + (same window; double-click: Query; no tap-and-hold menu but Commands/User has the necessary commands) | + | + |
| Change notification of inivisible channels/ windows | + (red color in tabs); with private messages, switches to it too ; also, you can set a lot of other notification methods (sound/vibration etc) | +; red/blue tab color | -; with incoming messages, it only adds the username to the drop-down list | - (switches to new message window first but not later) | - (switches to new message window first but not later) |
| Colors | + (problematic underline/no reverse) | + (can be switched off); no reverse | - | +; problematic bold/underline as far as char sizes are concerned; no reverse | +; the most compatible app |
| Does the screen scroll down when a new message arrives? | +; this can be disabled in Menu/Enable Auto Scroll | -; it only keeps scrolling when you're already at the bottom | + | n/a (it's impossible to scroll back) | - (note that the window is scrollable using the up/down cursor keys and not the stylus) |
| Logging | +; separate log files for each channel/query window (not for System); they are appended to upon program restarts | - | - | - | - |
| Clickable URL's? | - (they are copied in the text input field right away and you can, from there, copy them to the clipboard, though) | - (copy-wise, works exactly the same way as wmIRC) | - | - | - |
| After disconnecting, how much time does it take for the application to tell this to the user? Does it hide windows and/or rejoin channels after reconnection? | Doesn't show any disconnection dialog, only prints "Disconnected" in the Status tab and periodically tries to reconnect - that is, you'll see your having lost the connection after a while by the connection bubbles. No tabs are closed after reconnection. | Doesn't show any disconnection dialog, only prints "Disconnected" in the Status tab. After reconnection, channel tabs are closed, query tabs aren't. | Sometimes a "The connection is reset by the remote device" dialog is shown, but it's not guaranteed. Otherwise, no trace of being disconnected. | About a minute; closes everything when you close the dialog | About a minute; closes all windows upon announcing being disconnected |
| Entering commands/text: Direct command entering | + | not in the traditional way, only via IRC/Server/Raw... | + | -: impossible to issue direct commands | -: impossible to issue direct commands |
| User-related commands in menu | Control: op/deop, voice/devoice, kick/ban; info; whois; query | op/deop, voice/devoice, kick/ban; whois; query; DCC Chat/Send | Op/deop, voice/devoice, kick/ban; invite (to another channel); whois; change nick | +: Whois, control (op/deop, voice/devoice, kick), ping, version | op/deop, voice/devoice, kick, whois, query |
| Channel -related commands in menu | join/part/topic | kick/join/topic/part/invite/ act/say/notice | Join/topic | Join (but no part!) | join/names/close |
| Server-related commands in menu | - | whois/nick/mode (self)/raw | list | Change nick/dicsonnect | Disconnect |
| CTCP support | version | - (except for DCC) | - | ping, version | - |
| Text select/copy from channel window | - (not possible; you can only click individual words for them to be inserted in the command row) | + (it's automatically transferred to the clipboard after highlighting). It also supports wmIRC's 'click a word to be copied to the text entry field'. No Select All (Ctrl-A) / scrolling back while highlighting text either | +; no Select All (Ctrl-A); scrollable while highlighting | - | - |
| Command repeat | from menu only; no cursor up shortcut | + the most accessible and, as opposed to wmIRC, unlimited method of the three; unfortunately, the up/down arrow keys can't bring back the last sent message but the first in the drop-down | - | - | - |
| Application: | wmIRC 2.0 | PocketIRC 1.1 | PocketCHAT 1.1.8 | WLIrc 1.0 | jmIrc 0.95 |
| DCC: DCC receive | - | + | - | - | - |
| DCC send | - | + | - | - | - |
| DCC chat | - | + (both directions) | - | - | - |
| Other, not that important: Built-in help | Not very good; doesn't say anything about, for example, macros | Better than the other two, but a bit outdated: no word on, say, DCC | Only a command reference ( Page 1, page 2). | - | - |
| EFNet channel list test (about 20000 channels) | Started to list but periodically cleared the screen; that is, only the last few dozen channels could be readable (didn't wait until end). Only stoppable via exiting the app. | The screen memory is only able to accommodate about 10 pages; this means about 200 rows (=channels). Disconnecting during the list download works. | Has a separate Channel list dialog. Timed out during the EFNet channel list fetch (over 6-7 minutes); with smaller networks, it may work great. (Note that it gets the entire list even if you click an alphabet button instead of "All Channels" because of the IRC protocol restrictions) | Not testable (impossible to issue direct commands and no built-in list support) | Not testable (impossible to issue direct commands and no built-in list support) |
Comparison Chart Explanation:
Compatibility group: operating system, screen orientation- and VGA-compliance.
As you can see, PocketCHAT shouldn't be used in native VGA and isn't usable in SE landscape mode. PocketIRC also has problems: pixel doubling in standard SE VGA, which can't be helped with forced VGA mode.
Fortunately, if you bump up the character size to, say, 12 in PocketIRC (IRC/Options/Format/Size), then, the client becomes really good.
click for screenshot
Note that you can't force PocketIRC into VGA because, then, the tabs become invisible:
click for screenshot
That is, if you have a VGA device, you may want to prefer using PocketIRC in native VGA mode to avoid pixel doubling.
Finally, wmIRC doesn't have pre-WM2003 versions (which cause no problems to WM2003+ users, though).
Misc group:
Multitab support : this is one of the most important capabilities. Is the app able to offer the user chatting capabilities on multiple channels/query windows?
All the three native PPC apps (and the two MIDP apps) have multichannel/multiwindow capabilities. The two commercial applications (wmIRC, PocketIRC) fare equally well. PocketCHAT, on the other hand, is very weak in this respect.
Built-in server list (like that of mIRC): desktop IRC clients generally contain a built-in list of servers so that you don't need to search and enter them yourself.
Unfortunately, the two commercial clients aren't at all good in this respect. PocketCHAT is considerably better.
Internationalization? : not important for users chatting in Western languages, internationalization support may be a stumbling block for speakers of, say, Russian, Chinese and other, non-Western languages.
While all the three applications support the standard (Western) ISO-8859-1, two of them (PocketIRC and PocketCHAT) completely lack the support for other character encodings. This means if you plan to use other character encodings, you may get in problems. In these cases, go for wmIRC - or a MIDP-based solution.
Userlist of the current channel: can you list the userlist of a channel to easily see who's currently on? PocketIRC and PocketCHAT allow for displaying the list mIRC-like (that is, having it consistently in a frame on the right); wmIRC, unfortunately, doesn't. To see the list, you need to go to Commands/Users list...
Change notification of inivisible channels/ windows: whether the application is able to notify the user when he or she receives a new private message (or a public one is pasted to a channel).
wmIRC is by far the best in this respect: if you're in another task, you can still get a notification via sound/notification "bubbles" or vibrating alarm (on PDA's that allow for it - for example, the iPAQ h5450/h5550) - in this respect, it's even better than the built-in MSN Messenger, which "only" beeps/shows a notification bubble upon an incoming message.
You'll only be notified of new messages by the channel/query tabs' labels changing color (for example, becoming red) in PocketIRC (that is, there're no ways of being notified if you're in other tasks / your PDA is in your pocket, awaiting messages).
PocketCHAT is absolutely the worst in this respect: there are not any kind of incoming message/change notifications, not even while it's the foreground task.
Colors : is the application able to decode (and send, if necessary) color codes/bold/underline/reverse. This is pretty important because a lot of people are using them.
I've used these mIRC colors in the test. All screenshots are included in the comparison chart.
Unfortunately, PocketCHAT (it renders all escape codes verbatim, which can cause quite a mess up) isn't able to render them and none of the two commercial applications are able to decode and render reverse formatting. In addition, wmIRC is definitely worse than PocketIRC in that it doesn't decode the closing underline code either.
As far as MIDP clients are concerned, WLIrc is able to render all color codes and also underline; it's unable to render reverse, though. Also, it has problems with bold and underline in that the character size gets bigger if you use them. jmIRC, as opposed to all the other IRC clients, supports reverse formatting and doesn't have the above-mentioned problems related to character size. Actually, it's even better than any of the commercial, native IRC clients in color code compatibility. Make sure, however, that you enable the by default disabled "Use mIRC colours" in the Advanced set-up screen.
Does the screen scroll down when a new message arrives?: if you need to read back, particularly in a crowded channel with a lot of new messages being always posted, it's very important that you can scroll up and a new message isn't shown at once, by scrolling down the entire content of the screen.
In this respect, PocketCHAT is, again, the worst-behaving application. You won't really be able to read back the discussions in a crowded channel if you stick to it. If you often need to read back on crowded channels, go for the alternatives.
As far as MIDP applications are concerned, there isn't any way of scrolling back in WLIrc. (Furthermore, neither WLIrc nor jmIRC support text copy to the clipboard.)
Logging : logging has been present in IRC clients for ages (long-time IRC users, remember the /set log on command back in ircII or some hacked rxIRC versions for VM/CMS? Yes, even very old IRC clients supported logging). Unfortunately, that's not true of the PPC clients. It's only wmIRC that has true logging. (Please note that, as we'll see in the "Text select/copy from channel window" test, wmIRC, on the other hand, is the worst text copy-wise. That is, it's the best to always keep logging on if you may need to have the text later.)
As far as post-logging (which is the only way of saving the discussions on the two other clients) is concerned, I've scrutinized the alternatives of logging (that is, mass selecting and copying to the clipboard) later, in "Text select/copy from channel window".
Clickable URL's? : a decent IRC client (just like MSN Messenger) should also allow for clickable URL's. That is, if a user posts a URL, the IRC client, just like the built-in MSN Messenger or Notes, should make it clickable.
Unfortunately, that's not the case with current IRC clients. None of the three applications are capable of this. You need to copy the URL into the clipboard yourself (with wmIRC/PocketIRC, it can be pretty easy with using the 'click on a word to be included in the edit field' method) and, from there, to the address bar of your browser.
After disconnecting, how much time does it take for the application to tell this to the user? Does it hide windows and/or rejoin channels after reconnection?: another very annoying fact with Pocket PC IRC clients is the, in cases, huge latency of getting notified of broken connections. If the connection breaks down or the IRC server just disconnects and you don't notice this, you may enter new messages for minutes (!) before getting notified of the lack of connection.
In this respect, PocketCHAT and wmIRC are the best (after some minutes, the former presents a dialog and, with the latter, the operating system starts to (try to) reconnect, which you will surely notice because of the operating system-level dialog windows displayed). The real loser is, without doubt, PocketIRC - it's just in the Status tab that it notifies the user of having been disconnected, nothing else.
MIDP implementations notice far earlier this situation and act promptly, after 20-40 seconds.
As a rule of thumb, you may always want to cast a glance on the Connectivity icon on the menu bar, particularly if you enter a lot of text and don't want them to be lost. Also, visit the Status/server tab often, especially with PocketIRC, to see spontaneous server disconnects.
It's also here that I've scrutinized the "what happens to the open windows after reconnection" issue. You don't necessarily want the old windows to be closed (because they may contain unsaved/unlogged/unread information you'd like to save/read), which may happen upon a reconnection. In this test, I've examined what windows (private queries? public channels?) are closed after a reconnection.
As can be seen, wmIRC is the winner in this area - nothing will be lost.
PocketIRC closes public channels but leaves private query windows open (this is, by the way, what mIRC does on the desktop by default).
Finally, PocketCHAT closes everything (right after it shows the dialog box telling the user the connection is broken - that is, before reconnection), just like, for example, MSN Messenger on the PPC. This means if you often plan to log conversations and you use a not very reliable (for example, GPRS) connection, you may want to stick to other IRC clients and avoid PocketCHAT.
Entering commands/text group: the first few of these rows discuss whether "standard" IRC commands (join etc) can be entered in the standard text input field and/or from the built-in menus.
As far as the latter are concerned, I've separately scrutinized the user-, channel- and server-related command support. The more commands supported, the better.
CTCP support:
Please note that there're absolutely no CTCP support in PocketIRC and PocketCHAT (except for DCC transfer commands, subset of CTCP, in PocketIRC). That is, you can't, for example, ping (to find out how lagged he/she is) or 'version' anyone.
Text select/copy from channel window: this is very important if you, for example, want to save something (and you don't use logging in wmIRC). As can be seen, the text selection/copy capabilities of the three applications wildly differ.
wmIRC has not any kind of text selection capabilities; the only way of saving individual words is clicking them in succession and, this way, copying them into the text entry field, where they can already be selected and then, with a Ctrl-C on the (virtual) keyboard, copied to the clipboard.
PocketIRC is better: in addition to the 'click one word at a time' method, it also offers selection copy to the clipboard. Unfortunately, you can't do this with also scrolling the window so that you can copy the contents of multiple windows to the clipboard. It's only PocketCHAT that has the latter.
The MIDP apps don't have any kind of text copy capabilities.
Unlike with, say, the built-in MSN Messenger, none of the apps have Select All (Ctrl-A) capabilities. This is a big omission!
Command repeat : another very important feature, especially on a device that may be operated with very slow input methods (for example, SIP's). mIRC (and even the old ircII) support this: if you just press the Cursor Up key, the last entered command/message will be copied back to the text input field.
Unfortunately, the case is (again) much worse with PPC clients. PocketCHAT is by far the worst - it has not any kind of command/message history to be recalled. wmIRC is better - the last 10 messages/commands can be called back from the main menu (albeit with several taps). PocketIRC is the best because it needs fewer taps (in most cases, only 2) to recall the latest command.
Cursor keys, unlike with "traditional" clients, don't work with these clients (or, as with PocketIRC, not in the way they should - that is, they don't bring back the last message, and so on).
DCC group: if you would like to send/receive files over DCC or need DCC Chat capabilities, you will need explicit support for them.
Unfortunately, only PocketIRC is the only application to have DCC support. It works flawlessly with both files and chat, in both directions and is pretty thoroughly configurable.
Other, not that important group: the title speaks for itself.
EFNet channel list test (about 20000 channels): to see what happens if a PDA user requires a list of 20 000 channels to see whether it crashes the Pocket PC entirely. (For comparison, mIRC on a 3.2 GHz P4 with 1G RAM was able to do this in about 1 second.) None of the applications was able to do this entirely. The two commercial applications, due to buffer shortage, was only able to display only ten pages of the list (and, therefore, deleted the already-displayed ones). PocketCHAT is the winner in this area - much as it wasn't able to download the entire list, at least it rendered the list of the channel names that came down much better than the commercial applications.
4. Using the PocketIRC DCC
DCC Send and DCC Chat, both originating from the PDA, requires that the called party can contact back to the PDA. This also means that, unless you connect the PDA directly to the network (in a so-called DMZ), or at least port forward some ports (more on these ports later) to it, you will not be able to use DCC Send and DCC Chat started from the PDA. (Incoming requests will work OK.)
By default, PocketIRC uses the 5000-5100 callback TCP ports:
click for screenshot
(Incidentally, as can be seen in the above screenshot, the local and the router's IP's are displayed (unless the device is on an ActiveSync connection; then, "Unknown" is shown). This screenshot was taken while logged into a firewalled GPRS network; this is why the gateway's IP address is different from that of the local address.)
You can, of course, override these, particularly if you only have the Windows CIS to forwards ports, where, unlike with, say, WinGate, you must configure ports one by one to be forwarded. (With WinGate, the situation is much better - see this screenshot.)
As port forwarding doesn't work over an ActiveSync connection or behind a not-configurable firewall (GPRS connections are like that), in all those cases you can only use PocketIRC as the target of DCC chat/send requests, not as an originator. Keep this in mind if DCC send/chat doesn't work.
Some example screenshot to demonstrate the two cases with the four (inbound/outbound and chat/send) requests:
As can be seen in the following screenshot, a DMZ'd /TCP port forwarded client can be used in all the four scenarios (incoming and outgoing file/chat requests):
click for screenshot
On the other hand, without port forwarding/putting the PDA in a DMZ, only DCC and DCC Chat receive works (that is, incoming connections, not outgoing ones). (DCC Send and DCC Chat, originated from the PDA, stops at accepting.)
click for screenshot
Please note that I'll discuss all these (port forwarding, DMZ, ICS, WinGate etc.) questions in an article that will be published really soon. That is, if you didn't really understand this section, no problem: I'll soon return to the question.
EDIT on 29/11/2005: the port forwarding article can be found here.