QWK
Encyclopedia
QWK is file-based offline mail reader format that was popular among bulletin board system
(BBS) users, especially users of FidoNet
and other networks that generated large volumes of mail. QWK was originally developed by Mark "Sparky" Herring in 1987 for systems running the popular PCBoard
bulletin board system, but it was later adapted for other platforms. During the height of bulletin board system popularity, several dozen offline mail readers supported the QWK format.
, and then transferred to the user. This is usually accomplished via a "BBS door
" program running on the BBS system. In the case of QWK, the messages were placed in a single large file that was then bundled with several "control" files and then compressed into a single archive with the .QWK file extension (and typically the BBSes "id" name as the base filename). The file normally sent to the user automatically using the self-starting feature of the ZModem
protocol, although most QWK doors allowed a selection of protocols to be used.
Once the resulting file has been received by the user, the steps are reversed to extract the files from the archive and then open them in a client-side "reader". Again, these individual steps are typically automated to a degree, meaning that the user simply has to invoke the door software on the BBS and then run the client, the intermediary steps being automated. QWK originally did not include any functionality for uploading replies, but this was quickly addressed as QWK became more popular. QWK placed replies in a .REP file (again, typically with the BBSes "id" as the name) that was exchanged automatically the next time the user called in.
QWK clients varied widely in functionality, but all of them offered basic e-mail and public forum support. Prior to the introduction of QWK and similar systems, it was not uncommon for users with large message volumes to set up their own FidoNet node to quickly gather their mail, but QWK dramatically reduced the required setup, and dramatically increased the number of users of offline mail.
QWK Format was used for years similarly to Fido Technology Network (FTN) for BBS networks, as a means of message forum syndication, by software including Synchronet, Wildcat Winserver and others.
The hard-coding of much of QWK system to PCBoard formats led to a number of problems. In particular, the QWK system had a number of hard-coded limits to various fields, notably things like the subject line. This made it less than useful for non-FidoNet messages, and led to the creation of the SOUP format. SOUP was essentially a version of QWK supporting UseNet
messages, extending the length of existing fields, as well as the adding several new fields to support UseNet features threading and routing. SOUP, however, was less widely used than the QWK format.
Probably the largest issue for implementing QWK is the *.NDX file which contains a record specifier in the old 4-byte MSBIN float format. This format was used by early Microsoft BASIC
compilers, but has been displaced by the IEEE 754 format. Further, since it is a four-byte value, and is used to represent an integer, a float is a poor choice where a 32-bit integer would have been much better. As a result of this, many pieces of software do or have incorrectly generated or used the *.NDX file, and others ignore it completely.
Bulletin board system
A Bulletin Board System, or BBS, is a computer system running software that allows users to connect and log in to the system using a terminal program. Once logged in, a user can perform functions such as uploading and downloading software and data, reading news and bulletins, and exchanging...
(BBS) users, especially users of FidoNet
FidoNet
FidoNet is a worldwide computer network that is used for communication between bulletin board systems. It was most popular in the early to mid 1990s, prior to the introduction of easy and affordable access to the Internet...
and other networks that generated large volumes of mail. QWK was originally developed by Mark "Sparky" Herring in 1987 for systems running the popular PCBoard
PCBoard
PCBoard was a bulletin board system application first introduced for DOS in 1983 by Clark Development Corporation. Clark Development was founded by Fred Clark. PCBoard was one of the first commercial BBS packages for DOS systems, and was considered one of the "high end" packages during the rapid...
bulletin board system, but it was later adapted for other platforms. During the height of bulletin board system popularity, several dozen offline mail readers supported the QWK format.
Description
Like other offline readers, QWK was similar in operation to the Fidonet: messages for a particular user are gathered up by the BBS-side QWK software, compressed using an application such as PKZIPPKZIP
PKZIP is an archiving tool originally written by Phil Katz and marketed by his company PKWARE, Inc. The common "PK" prefix used in both PKZIP and PKWARE stands for "Phil Katz".-History:...
, and then transferred to the user. This is usually accomplished via a "BBS door
BBS door
A door is a computer program, on a bulletin board system, that runs outside of the main bulletin board program. Sometimes called external programs, doors are the most common way to add games, utilities, and other extensions to BBSes. From the 1990s on, most BBS software had the capability to...
" program running on the BBS system. In the case of QWK, the messages were placed in a single large file that was then bundled with several "control" files and then compressed into a single archive with the .QWK file extension (and typically the BBSes "id" name as the base filename). The file normally sent to the user automatically using the self-starting feature of the ZModem
ZMODEM
ZMODEM is a file transfer protocol developed by Chuck Forsberg in 1986, in a project funded by Telenet in order to improve file transfers on their X.25 network...
protocol, although most QWK doors allowed a selection of protocols to be used.
Once the resulting file has been received by the user, the steps are reversed to extract the files from the archive and then open them in a client-side "reader". Again, these individual steps are typically automated to a degree, meaning that the user simply has to invoke the door software on the BBS and then run the client, the intermediary steps being automated. QWK originally did not include any functionality for uploading replies, but this was quickly addressed as QWK became more popular. QWK placed replies in a .REP file (again, typically with the BBSes "id" as the name) that was exchanged automatically the next time the user called in.
QWK clients varied widely in functionality, but all of them offered basic e-mail and public forum support. Prior to the introduction of QWK and similar systems, it was not uncommon for users with large message volumes to set up their own FidoNet node to quickly gather their mail, but QWK dramatically reduced the required setup, and dramatically increased the number of users of offline mail.
QWK Format was used for years similarly to Fido Technology Network (FTN) for BBS networks, as a means of message forum syndication, by software including Synchronet, Wildcat Winserver and others.
Architecture
As QWK was originally designed to work with PCBoard, the system bears many marks of PCBoard's layout for message and forum files. For instance, QWK uses one file to contain the messages, and another that is used to index their headers. QWK was essentially a way to collect messages from PCBoard's internal files, and re-package them into a single file.The hard-coding of much of QWK system to PCBoard formats led to a number of problems. In particular, the QWK system had a number of hard-coded limits to various fields, notably things like the subject line. This made it less than useful for non-FidoNet messages, and led to the creation of the SOUP format. SOUP was essentially a version of QWK supporting UseNet
Usenet
Usenet is a worldwide distributed Internet discussion system. It developed from the general purpose UUCP architecture of the same name.Duke University graduate students Tom Truscott and Jim Ellis conceived the idea in 1979 and it was established in 1980...
messages, extending the length of existing fields, as well as the adding several new fields to support UseNet features threading and routing. SOUP, however, was less widely used than the QWK format.
Probably the largest issue for implementing QWK is the *.NDX file which contains a record specifier in the old 4-byte MSBIN float format. This format was used by early Microsoft BASIC
Microsoft BASIC
Microsoft BASIC was the foundation product of the Microsoft company. It first appeared in 1975 as Altair BASIC, which was the first BASIC, and the first high level programming language available for the MITS Altair 8800 hobbyist microcomputer....
compilers, but has been displaced by the IEEE 754 format. Further, since it is a four-byte value, and is used to represent an integer, a float is a poor choice where a 32-bit integer would have been much better. As a result of this, many pieces of software do or have incorrectly generated or used the *.NDX file, and others ignore it completely.