User talk:DisillusionedBitterAndKnackered/Monochrome BBS

Monochrome BBS, known to users as "Mono", is a text-based multi-user bulletin board system featuring thousands of discussion files, along with games, instant and deferred user messaging, and a talker.

History
The software (mono - small m) was originally written in around 1990 by David Brownlee, then a student at City University, London, for his final year project. Once the board was up and running, fellow students were given accounts, and word began to spread. The first non-City users were admitted in 1991-1992. Another instance of Mono was used for a few years as the official user interface for students in the Information Science department but this petered out around 1996. Eventually Mono's userbase became international, although the majority of those joining were UK university students.

Mono became a vibrant community: Users regularly organised weekend-long events to meet and socialise at various places around the UK, and Mono itself had a very social feel with so much discussion and chat going on in files, by message or in the talker. Like any other healthy community, it has brought people together in marriage, brought children into the world, and mourned deaths amongst its members.

By its peak in the mid-1990s, over 8000 accounts had been created, and there were often more than 150 people logged in simultaneously, making it almost certainly the most popular internet BBS in the UK. However, with the advent of web forums and GUI-based instant messaging, Mono's text-only format began to seem archaic, and it struggled to attract new users. Most of those now using the system are long-time members.

Operation
Mono's interface was designed for ease of use - most operations are performed using single keypresses, and the options available are shown on-screen wherever possible, so it is relatively straightforward for a newcomer to start making their way around without reading lots of documentation.

Files are organised hierarchically by topic into menus and submenus. A file is composed of edits (comments). While reading a file, a user may add a comment to it, send part of it to another user, email it and so on, again using keypresses which are given on-screen. The Esc key may be pressed at any time to provide a menu of additional facilities such as the talker and messaging systems.

The talker takes some cues from MUDs by being composed of rooms, for which users write the descriptions, and a visitor may wander through these using the cardinal directions. What you say is only relayed to people in the same room, and rooms may be locked by their owner for privacy.

The messaging system (u2u in Monochrome slang) allows sending messages directly to one or more other users. If a recipient is logged in, the message is received immediately and the recipient's client displays the message or, if they are in the middle of editing a file, beeps to alert them and displays it when they finish. Otherwise, the message is stored and shown to them when they next connect.

Technology
In the past, users connected to Monochrome via the X25 protocol (using the JANET network) on address 000041002300, and later, when JANET became internet-addressable, telnet was employed. Nowadays SSH is the only supported option. There are a wide variety of SSH clients, such as PuTTY, or users can connect using the Java client on the Monochrome website.

The mono software has a client-server architecture: users connect to the mono client, which in turn communicates with a number of server applications such as md.serv (the over-arching controller), md.talk (the Talker daemon) and md.file (the u2u delivery daemon).

Originally, the client software ran on separate machines from the server software. At the peak of its popularity, there were up to five client machines dedicated to Monochrome, all simultaneously talking to a single central server which both ran the mono server applications and served the files to the clients. This implemented a form of redundancy, in that users could still access Monochrome even if one or several of the client machines failed; however, the server machine remained a single point of failure).

As hardware speeds have increased and the number of users has declined, there is now just a single machine performing both client and server roles.

Most of the communication between the client and the server software uses network sockets, but files still need to be directly accessible by the client (an API for client-server file processing was much discussed but never completed). This meant that when separate client and server machines were used, the server's central file store had to be exported to all the client machines using NFS, which was a major bottleneck.

The Monochrome cluster was historically based on Sun Microsystems machines (most often, old disused or discarded machines from universities or businesses), and has in the past run on DEC Alpha, but the lone machine now is Intel x86. A variety of operating systems have been involved historically, including SunOS and OpenBSD, but NetBSD has been the chosen OS for some years.

Most of the core client and server code is written in C, though a number of additional utilities have been written in Perl.