195 lines
9.4 KiB
Plaintext
195 lines
9.4 KiB
Plaintext
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.
|
||
|
||
Some Background
|
||
|
||
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
|
||
eye.
|
||
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
|
||
|
||
Commands
|
||
|
||
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
|
||
most BBS's.
|
||
|
||
Maintenance
|
||
|
||
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
|
||
becomes disillusioned.
|
||
|
||
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
|
||
for advice.
|
||
|
||
Conclusion
|
||
|
||
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.
|
||
|
||
|