Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10 Apollo 5/13/85; site apollo.uucp
Path: utzoo!utcsri!ubc-vision!uw-beaver!apollo!nazgul
From: nazgul@apollo.uucp (Kee Hinckley)
Newsgroups: net.news,net.news.notes
Subject: Re: Information Overload and What We Can Do About It
Message-ID: <294a1baf.8e4@apollo.uucp>
Date: Wed, 2-Oct-85 14:32:28 EDT
Article-I.D.: apollo.294a1baf.8e4
Posted: Wed Oct  2 14:32:28 1985
Date-Received: Thu, 3-Oct-85 17:47:51 EDT
References: <10381@ucbvax.ARPA> <3274@nsc.UUCP> <698@tpvax.fluke.UUCP> <3166@nsc.UUCP>
Organization: Apollo Computer, Chelmsford, Mass.
Lines: 53

....
Just as a nice generic followup that really applies to any code, but which
I find particularly relevant here, since I have gotten frustrated over news
and this issue many times.  

If anyone does get around to implementing any of the things discussed here 
(and I certainly hope they do) please, pleaSE, plEASE, PLEASE keep the user 
interface seperate from the rest of the code!

Why?
    So those of us who don't like the interface you implement (or want to
    modify it to take advantage of the capabilities of their machine),
    can easily plug in a new interface.  Every once and a while I get
    frustrated enough to want to do this to readnews; just pop off
    and modify the command handling routine to take its commands in
    a different form (DOMAIN/Dialogue to be specific).  Soooorrrry.

How?
    It's simple.  Just make one routine that gets the input from the user.
    Make all of the actions performed subroutines that are called from
    that routine.  Likewise, make all of the output routines seperate from
    the rest of the code.  No printfs scattered about the program, and no
    reads either.  Then if someone wants to use curses, or some other
    smart display handler, they can easily find the pieces that they will
    have to modify to make it work.

So why don't I do it if I'm so stuck up about how it is done?  
    Sure!  Just give me a small sum of money and a some spare time.  In a 
    crunch I'll skip the money, but the spare time is non-negotiable.

Some other notes, since I'm here.

    o   I like the suggestion of using a real database to store stuff (mdbm
        perhaps?).  That could greatly speed up some things, and allow the
        use to specify some very complicated restrictions on getting articles.
        Presumably the database would only store the news-headers, with a ptr
        to the actual article location.

    o   I also definitely like the idea of having a seperate server to gather
        the stuff.  I can see two kinds of servers, one a global server that
        gathers the news article headers and stores them in a global database,
        the other a user run server that updates the local database from the
        global one (deleting old entries and adding new ones).  Then along
        comes the user and can access everything fast and at his/her leisure.

This is all kind of fragmented (I have some more specific stuff, but its on
paper), but anyway, there's my two-cents.


                                            Kee Hinckley
                                            User Environment
                                            Apollo Computer
                                            ...decvax!wanginst!apollo!nazgul