Xref: utzoo comp.mail.misc:916 news.misc:1263 Path: utzoo!mnetor!uunet!oberlin!blandy From: blandy@oberlin.UUCP (isjimblandy) Newsgroups: comp.mail.misc,news.misc Subject: Re: Worlds best Bulletin Board Systems - let's all make it! Message-ID: <707@oberlin.UUCP> Date: 18 Mar 88 19:07:22 GMT References: <612@ambush.UUCP> Organization: Computer Science Program, Oberlin College, Oberlin, Ohio Lines: 41 Keywords: BBS Summary: Arbitrary and expandable file formats for expansion/adaptation One of the things I'd like to see in a BBS (I'm not a sysop, but I've seen a bad BBS and I'm a programmer) is some way of teaching the BBS about different file formats and how to do the basic operations on those new kinds of files. Adapting to old formats isn't really the point. But if one BBS could gracefully (no hacks, no rewriting) read its native files, AND handle the files from your old BBS, AND, say, act as a USENET reader, all transparently, I think that would be A Good Thing. How? First, choose a few simple, basic, powerful operations- organize the boards in a hierarchy (sp?), define List, Up and Down operations, Get a particular message, Add a particular message, Delete a message, Access levels, etc. Write your BBS using ONLY this set of operations. Then, let each individual board indicate how IT likes to be accessed. Maybe a jump table or something simple. Maybe a server process or something complex. But as long as it provides as much of the above list of operations as it can, you can do anything you like. But the idea is this: your system DOESN'T CARE how the files are organized. As long as it uses the functions provided for the particular board, it can do everything it wants, and the files will stay consistent, no matter how heterogenous your set of boards actually are. It's the idea behind object-oriented programming - you know that this thing you've got supports a few simple operations, but you don't worry about HOW; the thing in question can accomplish your requests however it needs. Extensible software - the way to go. Look at Emacs (certain implementations), VAX TPU, Hypercard. -- Jim Blandy /oo\ "Insects were insects when OCMR Box 265, Oberlin OH 44074 /`--'\ man was just a burbling sjb1392@oberlin.bitnet \_][_/ whatsit." - archy ...{ihnp4,bellcore}!oberlin!blandy