The Ideas BBS was South Africa’s first private 24/7 dial up bulletin board. It ran out of my 10th floor apartment at 102 Maxwelton, 6 Goldreich Street, Hillbrow, Johannesburg. The number was +27-11-642-3724. My computer club buddy Steve Cilliers and I collaborated to develop this innovative piece of software in ways that are now considered to be agile.
The Ideas BBS took calls from all around South Africa and even a few from Zimbabwe, Canada and Britain. It connected me with people I might never otherwise have met: Michael Earl a design genius, Willie Esterhuizen the movie maker and Paul Everitt, my best friend.
I’ve been reflecting on agile software development of late. In the late nineties Kent Beck described a process he called Extreme Programming. The notion of pairing off programmers to develop in tandem reminded me of some very productive coding I had experienced with the likes of Steve Cilliers and Dave Joubert of the Transvaal Amateur Computer Club (Tac2) back in the eighties. We set ourselves incremental goals and the time periods were the monthly intervals between computer club meetings — we were keen to brag about and celebrate our achievements. Members would admire and criticise our work, setting us off on our next development cycle with suggestions of how to improve upon the project.
I’ll write up one of those projects here: A dial-up bulletin board. It was an innovative project in its day. You couldn’t buy an Apple II BBS program. There were no snippets, libraries or even open source code to build on. The Internet would not reach South Africa for another decade. Very few people even knew what an electronic bulletin board was, least of all ourselves.
The origins of the Ideas BBS: Fellow Tac2 member Peter Hers built acoustically coupled modems using the rubber couplings made to connect a toilet bowl to its reservoir as the phone handset interface! He sold many of them to club members who were keen to network with other computers. I bought one, it worked surprisingly well. But who to call?
There was Compuserve, an expensive subscription service and an international call away; a whole host of international bulletin boards if you could afford the calls; the local Control Data office sold time-slices to those who wanted access to databases, mainframe computing power and a education system called Plato; a few hackable mainframes answered the phone and a couple of computer companies had dial up bulletin boards to entice their customers to buy product. Telkom offered Beltel (ala the UK’s Prestel) for a short while. Amateurs were in desperate need of a local dial up bulletin board and I, being deluded of the actual complexities, decided to host one out of my apartment in Hillbrow. I was a dab hand at BASIC and had friends at Tac2, our local home brew computer club, who wrote machine code. A bunch of sleepless nights and copious volumes of highly caffeinated beverages later we’d have ourselves a bulletin board, right?
Steve Cilliers was one of our club’s brightest minds and wrote the machine level code for my “Ideas” bulletin board. We knew him as Steve, his family called him Richard. Neither of us had done this before nor had a wealth of know how when it came to dial up boards — we simply couldn’t afford to dial up that many: International calls at 300 baud were pretty prohibitive back then.
While I was dreaming up the user interface Steve needed something to work on. We came up with a very simple idea. Steve would divert the serial input line to the Apple’s keyboard inputs and he would copy the screen print commands to the serial out line — all of which essentially put my Apple under remote control. Steve coded a low level assembler driver and I wrote a BASIC program which ran on top of that, making a few parameter driven calls through hooks we would call APIs today. We coded in pairs, Steve at the keyboard in assembler — being egged on by my needs. Me at the keyboard coding in BASIC while Steve pushed me to exploit all the hooks he had enabled into his driver. In pairs we achieved in just a few nights what may have taken weeks to do otherwise.
The paradigm on which it was based were that there 100 separate locations or directories (0 through 99). Zero was the “home” location and then numbers were taken up, more or less on a self service basis, by user groups and individuals. Most people were disciplined enough to use the numbers up sequentially, announcing whatever room number they had taken up residence in on the home page. Thereafter you could read from or write text to any room number. A bunch of guys started up a back-room discussion in #99, somewhat secretively. By the time I became aware of it, it was already the hottest discussion room in the house.
The board ran off an Apple II with a 5Mb Profile drive (later upgraded to 10Mb), a serial card and a modem. I had a friend in Telkom, the phone monoploly, who could solve a scrambled Rubik’s cube in under fifteen seconds. Alan “donated” modems to the BBS. First a 300 baud modem and then 1200. By the time my BBS retired speeds had just reached 2400 baud!
Around 1985 Carolyn, my wife-to-be, moved in. She was a relative techno-savage at that time, unplugging the bulletin board to use her hair drier — often leaving it unplugged! When we moved to suburbia after getting married the era of the Ideas BBS was over.
Fired up in 1983 the Ideas BBS was retired in 1988. By that time there were quite a few other BBSs to call.
Links Herby Hönigsperger’s All South African Bulletin Boards | YouTube documentary on BBSs Part 1, Part 2, Part 3, Part 4, Part 5, Part 6, Part 7, Part 8 | Kent Beck’s Extreme Programming Explained | The origins of Scum can be found in Hirotaka Takeuchi and Ikujiro Nonaka’s The New New Product Development Game