NJN: Java News Client

NJN (pronounced like "engine") is a project I started in university as a learning tool for both application design in general, and Internet messaging protocols in particular. It aims to be a Usenet newsreader similar to Pronews/2, only written in Java and thus cross-platform.

The project is highly incomplete, and moreover is largely comatose at present. Given the severe (and, to my mind, regrettable) decline in the viability of Usenet, I am uncertain as to whether or not I will ever finish the project.

The program, such as it is, is available here with full source code. Please note that it has lingering design issues quite aside from its incompleteness, and cannot really be recommended for serious use.



NJN is (or hopefully will be) a Usenet news client, implemented in Java. NJN is loosely modelled after the superb OS/2 newsreader, ProNews/2, but is considerably less complex.

Currently, it has very limited functionality, and is really intended only for the extremely curious. (Or for prospective developers, but I'm not really ready to handle contributions just yet.)

There are two versions here: the mostly abandoned version 0.01, and the more recent version 0.02.

Although I've pretty much abandoned v0.01, I've made it available here because some people might want to play with it. It runs faster than v0.02, since it uses AWT instead of Swing. You can also get a bit of a feel for the program's history.

Please note: Work on NJN proceeds very slowly (as in, one or two updates a year — and frequently not even that much). I'm doing this mostly for fun, and for self-education.

Version-specific information follows.

Current version (0.02 and up)

This is a major rewrite of the older version 0.01, which uses the Swing toolkit for the GUI instead of AWT.


NJN is currently being developed using Java 1.3.1 and 1.4.1 under eComStation (OS/2). As far as I know, I'm not doing anything Java-2-specific; in theory, NJN should run under Java 1.1.8, so long as the Swing toolkit (1.0 or higher) is installed.

Hardware requirements are whatever your Java runtime needs to be usable. I do recommend at least a Pentium 166 with 64 MB of RAM or more.

Current functionality

The program is still very much incomplete. For the moment, NJN is limited to one active connection on one server. You can't select multiple articles at a time. You can't save or forward articles; nor can you reply, follow-up, or post in any way. Decoding of binaries is still not possible. There is no support for displaying non-Latin text. Threading and sorting of messages is not supported. There is no working configuration dialog (so you still have to edit the configuration file by hand). Finally, the group window most likely has a huge memory leak in it, since all articles are read into memory and then left there until the group is closed.

For details, see the README file.


(These screenshots may not always reflect the exact appearance of the most recent build.)


njn-002_20050921.zip (binaries and source included)

Version 0.01

This is the older, AWT-based version of NJN. It's provided only for the terminally curious; I really don't recommend using it for reading news. It has some odd bugs I was never able to pin down (probably the fault of poor design).

You cannot use it to post, mail, follow-up or forward messages. Nor can it save, decode, perform threading, filter, cache data locally, or even sort messages or groups.


Requires Java 1.1, no additional toolkits required. Tested under OS/2 Warp with IBM JDK v1.1.8.

Current functionality

You need a 'newsrc' file already, NJN v0.01 won't create one for you. Nor will it write any changes to it.

See the README for more details.



njn-0_01.zip (binaries and source included).

Other software
Home page