[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Topic requests [FAQ/Rant]



On Wed, 15 Sep 1999, Piotr Kucharski wrote:
> On Tue, Sep 14, 1999 at 10:51:22PM +0100, wnelson wrote:
> > topic on a channel that I'm not a member of. I know that /list #channel
> > will achieve the desired result, but this is not quite as intuitive as
> > using /topic #channel.
> TOPIC is not meant to see topic, LIST is. :)

One of my pet-peeves... This is probably among the #1 requests of
mIRC-bound victims, possibly because on mIRC /list will pop up a new
window and do lots of other fussy stuff. Let's see if I can make the
reasoning clearer, though:

/topic - Sets the TOPIC of a channel.
/list - Provides a LIST of channels and their descriptions.

Easy and intuitive, no? The only thing possibly more intuitive would be to
rename the commands /SETTOPIC and /LISTTOPIC, but I somehow doubt any of
you want _that_. In any case it's up to the client to map these commands
to appropriate events on the client-side (And this mapping's usually been
really poorly done, I might add). Braindead clients shouldn't be fixed at
server-side, because of performance and maintenance issues. The fact that
/topic actually views the topic on a channel you're on could even be
considered a "bug" of sorts.

The more rational explnation is that the two commands are meant for
different classes of operations: The other manipulates the whole database,
while the other one is limited to your "view" of it, being the channels
you're on. Not only does this separation of functionality make code
simpler, but faster to execute, and allows for simpler adoption of
possible future distributed database solutions for handling the
ever-increasing database size. Example: /list can currently easily be
delegated to a separate "listing service/server". You don't want to have
to do that with /topic. /list might be allowed from unregistered "mapping
bots", but there's no reason to allow /topic etc.

Unfortunately some heretical networks, notably DALnet, have made their
ircd's support /topic for channels the user isn't member of. This
"feature" doesn't exist in DALnet's current ircd, however, but I expect it
to re-appear soon. Gotta love DALnet for adding new features just to drop
them when users get used them, then to re-introduce them in a later
version with a big fuss ;) Adding and such "features" should be strongly
discouraged, altough this may create even more pressure from users and
even client-authors to support it on other servers as well. Word of
warning: When DALnet first implemented this, the expectable happened, and
it became possible for out-channel users to not only query the topic of
every channel, but also set it! One more reason for the importance of
searation of functionality.

[Does there exist an _ircd_ FAQ?]

 -Donwulff