SAPPHIRE DESIGNER NOTES by Tim Campell.
This section contains no especially important information. It is presented
here for those people who might want to know why Sapphire was designed the
way it was.
I've been involved with computers since 1971, and since those early days
spent sweating over a 10 character-per-second Teletype, my enduring passion
has been computer telecommunications. I'm fascinated by the way it enables
us to reach out and grasp the crystallized thoughts of a stranger. We can
enter an amazing, exciting universe. Where time can stand still or flow
sideways. Where people can flash across a continent in the blink of an
Over the years, I've worked out countless designs for computer telecommuni-
cations systems. Several of these designs went beyond the planning stage
and became reality. It excites me that we basement programmers have this
chance to pioneer new methods of communication.
Some of the projects I've been involved with include:
ACCESS: Canada's first national consumer telecomputing service.
PYROTO: The BBS/Game system (about 50,000 people play it each week).
The latest version is available from Pinnacle Software for
$35. (Runs also as a door.)
SASSy: A bizarre experiment that helped us learn what's wrong and
what's right about BBS's. The spec and a 2-year report are
available from Pinnacle Software ($10).
I also had the chance to provide some suggestions for Ron Sharp's extra-
ordinary INFINITy system, which is a BBS with a seemingly infinite number
of message bases.
Why Sapphire was Written
After years of seeing other kinds of BBS's, I had to admit that I didn't
like the way any of them worked. I'm not talking about minor annoyances --
my own program has dozens of quirks that I intend to iron out. Rather, I'm
talking about fundamental design decisions.
To my knowledge (and based on my interpretation), every single one of the
existing BBS packages evolved from RBBS. Perhaps not in actual program
code, but certainly in concept. They all share the same general features,
though admittedly most are vastly superior to the original RBBS!
I was never tempted to copy RBBS, because I'd already written my first BBS
program long before anybody around here knew what a BBS was. It wasn't a
very sophisticated program, but it did put me on my own path.
It is important to understand that there was something of a computer
revolution in Montreal during the mid-to-late 70's. A large number of
hackers set up house on a local school board's HP2000 mini-computer. We
evolved our own set of idioms, so when the first "mainstream" BBS (an Apple
Networks) came to town, we said, "BBS? What's that? Bulletin Broadcast
System?" We really didn't know!
Our user-interface idioms found their way into various programs that were
developed locally. And thus they were found in ACCESS, then PYROTO, and
finally (after considerable mutation) in Sapphire.
Notes About the Design Philosophy
Sapphire uses word commands, rather than single-letter commands. I figure:
it's easier to remember words than mnemonics -- especially when the mnemon-
ics are tortuously contrived (as in the infamous [Y]ell for chat).
Since you don't run out of words the way you run out of letters, Sapphire
doesn't need multiple program layers where the same commands can mean
different things (e.g. [U]tilities or [U]pload), depending where you are.
Because I use word commands, I tend to make Sapphire somewhat more conver-
sational than a letter-command system. I should mention that some people
find my programs fairly terse. What I mean to say is that, while Sapphire
is not chatty, it is more like a dialogue than you're likely to find on
Sapphire is a zero-maintenance BBS. I design programs this way partially
because I'm lazy and partially because in the 70's most Montreal hackers
were in a position to get cut off from their programs at any time. (Most
of us weren't really supposed to be on that central system.) As a result,
my associates and I got in the habit of designing programs that could
survive on their own.
40 Column Text
Many people have expressed surprise at my extensive use of 40-column text.
The obvious answer is that there are still plenty of 40-column screens out
there; the IBM-PC isn't the only personal computer in the world.
However, the real reason is that when people are reading boring text (such
as is necessary while learning to use a BBS), they want to scan it as
quickly as possible. The fact is, 80-column text requires too much eye-
movement for easy scanning; if newspapers can use narrow columns, so can I.
Why should I be held hostage to the actual width of my screen? No law
forces us to fill each line.
The Cool Reception
The way by which potential members are introduced to Sapphire may not
strike you as particularly inviting. They are requested to send a message
telling you why they'd like to join. A few people are so offended, they
hang up immediately.
The actual requirements for the application can easily be changed, though.
Maybe you'll merely ask them to tell you their shoe-size. But if you're
running your BBS as a public service, I'd advise against it.
The vast majority of BBS's go down within a few months because the sysops
are appalled at the uncaring nature of the users. But what can we expect?
Total strangers call our boards; should we expect them to be nice to us?
You can greet them all with open arms, but chances are, you'll be very
disappointed. These anonymous people simply have no particularly good
reason to think you're special.
Far too few novice sysops are aware of the simple fact that when you
figuratively "throw open your doors", you can get crumbs, bums, free-
loaders, and jerks. You also get some beautiful people, but it's hard to
remember that when you've got some fellow who signs on, makes a beeline for
the files section, and ties up your line for hours as he pilfers your
software collection -- leaving nothing in return.
It is utterly futile to be bitter. The best solution is to be careful.
A sysop's worst enemy is his own good nature. He wants to spread his arms
and hug everybody who signs up to his system. At first, he's excited that
so many people are visiting his BBS. But later, when he realizes how many
people treat him like a bus service for software and information, he
Perhaps I'm wasting my time telling this to new sysops, but the experienced
sysops will be nodding their heads, by now. The fact is: either you
resign yourself to being used as a commodity, or you learn the very dif-
ficult art of rejecting new applicants.
Of course, what percentage you reject depends on the size of your BBSing
community. In Montreal, we have plenty of people calling BBS's. As a
result, I'm easily able to reject 95% of all applicants. Mind you, that
means that for the first 2 months, my BBS was excruciatingly dull. After
all, how lively can a BBS be, when it has only a handful of members?
Happily, though, I stuck to my guns. Nowadays, The Pinnacle Club has a
nice mix of people, all of whom are what most sysops consider "ideal
BBSers". It almost took more patience than I possess (since, like most
sysops, I have an urge to let everybody on), but it was worth it.
What makes Sapphire truly a "Zero-Maintenance BBS" is that you can judge
people by their reaction to the request that they justify their petition
for membership. You don't even have to phone them up! What people write
in their application usually tells the whole story.
For example, many people write things like, "Hi, I'd like to be a member.
Please make me a member. Thanks."
If such a person can't even be bothered to justify himself, it is extremely
unlikely he will make an effort to be a good, contributing member.
I've had some extraordinary experiences with this method of validation.
One fellow was incensed at the impersonal approach, but he took the time to
express his objections in detail. Bingo! I made him a member. He later
posted a message to the effect that he thought he'd "gone to BBS heaven",
so impressed was he by the quality of the messages left by members!
Sapphire can be easily modified to be less daunting to the new user. I
don't want to give you the impression that Sapphire must give all new
applicants the cold shoulder.
But if you're a new sysop, I hope you'll think about the kind of people you
want on your system and design accordingly. Ask a few experienced sysops
Sapphire is not complete. There are numerous upgrades to be made. Some of
these are summarized in Appendix C.
However, I would like to make it clear that it is not my intention for
Sapphire to be all things to all people. I hope to retain the apparent
simplicity of the design.
In other words, there are many other BBS packages out there that are more
grandiose in intent. They can make your microcomputer look like a whopping
big mainframe. But if you want a BBS that is easy for your users and easy
for you, I think you'll want to run Sapphire.