Re: Searching (Lou Montulli)
From: (Lou Montulli)
Message-id: <>
Subject: Re: Searching
Date: Mon, 21 Dec 92 18:31:59 CST
In-reply-to: <>; from "Tim Berners-Lee" at Dec 21, 92 10:26 am
X-Mailer: ELM [version 2.3 PL2]
> >  From: (Lou Montulli)
> >  Date: Fri, 18 Dec 92 15:26:25 CST
> >  WAIS searching is adequate for many applications but ergonomically 
> >  it has a long way to go.  The currently search methods provided by 
> >  WWW and Gopher are inadequate for many needs.
> Lou,
> I agree that a forms intreface is something they all lack, and there
> have been a number of proposals to make documents into forms.
> (The main problem is, we don't have editors yet. When we do, then
> there will be plenty of work on forms.)
> >  For an example, assume a hypothetical database for calendar information.
> >  It is designed to allow the user to pick among a finite set of events 
> >  and show them based on a date range.  A CWIS interface to the data
> >  might look like the following.
> In fact, your example is a good one for showing how flexible
> W3 can be! See documentation with examples in 
> Here's one of an infinite :-) number of ways of doing it.
> Let's suppose the categories are called A-Z.  At any time the
> user has a certain number of categories selected, and we
> represent his screen at the time with the document name
> 	/Calendar/ABSGLMZ/Setup.html
> When he is in this state, his screen shows something like that
> below.  This is obviosly just a hypertext document generated by
> the server in response to a request for /Calendar/ABSGLMZ/Setup.html.
> I have represented link anchors with [brackets] here - think of it
> with a point & click interface or a line-mode numeric selection.
>   ----------------------------------------------------------------
>         Welcome to The University of Kansas Events Server
>             See [list of all these 569 events]
>             Starting search date:  Dec, 18 1992
>               Ending search date:  Jan, 18 1993
>  This is a calendar of events in the following categories (select links
>  to exclude them from the calendar)
>    Academic field    [exclude]     Museum & gallery   [exclude]
>    Academic year     [exclude]     Music              [exclude]
>    Athletic          [exclude]     Other cultural     [exclude]
>  There are 569 events in these categories: See complete [list],
>  or type keywords.
>  Other categories available as as follows (Follow links to include them
>  in the calendar)
>    Ceremonies & recognitions  [include]  Parties		  [include]  
>    Club & group meetings      [include]  Recreational		  [include]  
>    Conferences & workshops    [include]  Service & charitable     [include]  
>    Film                       [include]  Special academic matters [include]  
>    Holidays, etc              [include]  Theatre                  [include]  
>    Lecture                    [include]  Training events          [include]  
>    Local & area               [include]  University governance    [include]
> You can also set the [start] and [end] search dates.
> ___________________________________________________________________________
> The user can select any of the 20 fields as being on or off by following
> links. It is as though there are 2**20 virtual calendars.  (The user is in fact
> naviagting a hypercube here, which is exactly what (s)he does when using radio
> buttons anyway. The user intreface is not changed in fact from a panel).
> Here I have assumed that the "document" can accept searches, and we say that
> any search text given will be taken as keywords. There are links to a few
> other nodes:
>  /Calendar/ASGLMZ/Setup.html    Identical except category B excluded (etc)
>  /Calendar/ABCSGLMZ/Setup.html  Identical except category C included (etc)
>  /Calendar/ABSGLMZ/Start.html   Identical except keywrds taken as start date
>  /Calendar/ABSGLMZ/End.html     Identical except keywords taken as end date
>  /Calendar/ABSGLMZ/List.html    Includes the list of events in categories
> (I should have included the search dates in the string like
>  /Calendar/921218/930118/ABSGLMZ/*.html but also I would advise in practice
>  /Calendar/LastMonth/ABSGLMZ/*.html as a default)
> >  How can this be done 
> >  given the current implementation of WWW and others like it? 
> You can see that the program to generate these pages is simpler than the
> interactive CWIS program to write.
> Another neat thing is that when the user has found the ideal combination,
> she can put a bookmark on it, or make a link from her home page or any
> other document to it.  With LastMonth as the search date, she can follow
> this link to review the calendar any time.
> >  :lou
> Tim
Sorry for the long intro but it is relevent to the message.

This interface is problimatic in that it will be extremly slow to navigate.
To turn on or off the 20 different catagories, the user would have to
navigate 20 different screens of data, waiting for the transfer and the
repaint for each one.  I also think that this program would be as hard or
harder to write than the original, although it does give data that the 
client can display natively.  

I believe this is a case where you will have to give the client a little
more smarts than before.  A template could be designed that intructs the
client on how to query the user in several ways.  The client would make
all the relevent queries itself and then query the server.  This could
look something like this:
      Welcome to The University of Kansas Events Server

          Press return at any time to show events.

          Starting search date:  <field_name:s_date  query_type:date>
            Ending search date:  <field_name:e_date  query_type:date>

  <field_name:Acad  query_type:boolean  init_val:on>Academic field
  <field_name:Acad  query_type:boolean  init_val:on>Academic year
  <field_name:Athl  query_type:boolean  init_val:on>Athletic    
  <field_name:Cere  query_type:boolean  init_val:on>Ceremonies & recognitions
  <field_name:Club  query_type:boolean  init_val:on>Club & group meetings   
  <field_name:Conf  query_type:boolean  init_val:on>Conferences & workshops
  <field_name:Film  query_type:boolean  init_val:on>Film                  
  <field_name:Holi  query_type:boolean  init_val:on>Holidays, etc        
  <field_name:Lect  query_type:boolean  init_val:on>Lecture             
  <field_name:Loca  query_type:boolean  init_val:on>Local & area       

The client would replace the links shown with the appropriate objects
such as radio buttons or stars or however the client wished to represent
a boolean type.  The date type would be handled in the same way.

When the user was satisfied with his selections he would activate the 
search and the client would pass back the values of all the fields to
the server.

This represents considerably more effort in the development of the client,
but it makes the development of database servers much, much easier.  I
suspect the one time effort of adding it to a client is much better in
the long run than the effort of adding it to every database server.

  *           T H E   U N I V E R S I T Y   O F   K A N S A S              *
  *         Lou  MONTULLI @ Ukanvax.bitnet         			   *
  *                              	           *
  *  Nothing difficult,    ACS Computing Services *
  *   is ever easy!         	913/864-0436	       Lawrence, KS 66044  *
  *					         			   *
  *  For how we live is so different from how we ought to live that he who *
  *  studies what ought to be done rather than what is done will learn the *
  *  way to his downfall rather than to his preservation.  -Machiavelli    *