REFERENCE TO RELATED APPLICATION This is a continuation of application Ser. No. 09/391,187 filed on 7 Sep. 1999 and entitled System for Categorizing and Displaying Reply Messages in Computer Facilitated Discussions, which is hereby incorporated herein by reference.
TECHNICAL FIELD This invention relates to computer discussion group and bulletin board systems. Such systems permit users to post messages expressing points of view for viewing by others and to reply to messages posted by others. The invention has particular application to Internet or intranet news groups and discussion groups.
BACKGROUND Computer discussion groups are well known. In such discussion groups a user can start a discussion by posting a message. The message may ask a question, express a point of view, or otherwise provide fruit for further discussion. Other users can post reply messages in reply to the message. A single message may provoke numerous reply messages. On the Internet, news groups are hosted on servers. Users run suitable client software, which may be called “news group reader” software on their computers. The client software facilitates reading the contents of news groups, posting reply messages to previously posted messages and posting messages to start new threads.
Existing news groups, discussion groups and bulletin boards have linear structures. A “thread” consists of a set of reply messages to the original message and a sequence of replies to the reply messages. Many types of news group reader software will sort messages in a news group into threads and will arrange links to the various messages so that a user can tell by viewing the links something about the sequence in which the messages were posted and which messages are replies to which other messages.
A disadvantage of existing news group reader software is that a user must view each message in a thread in order to understand the positions taken by the authors of the different messages.
The Internet has spawned a number of experiments in direct democracy. Various Internet web sites have been set up for the purpose of polling public opinion, whether on the subject of politics, consumer goods or other topics. Such sites typically provide users with the opportunity to select the one of two or more prepared statements which most closely matches the user's opinion on the topic at hand. A counter simply counts up the number of times each statement is selected. Such polls suffer from the disadvantages that the questions are pre-defined and users are forced to select one of several statements without having an opportunity to explain their positions.
A problem with Internet discussion groups is that users can post messages under pseudonyms. Therefore it is not always possible to know whether a point of view expressed in a posted message is reliable. Even worse, an Internet user can post messages which purport to be from someone else, for example a trusted public figure.
There is a need for a system which permits users of computer networks, whether those computer networks are global in nature or more localized, to better exchange ideas. There is a particular need for systems which permit users to know whether they can be confident that a posted message was really posted by the person listed as its author or whether the posted message is unverified, or even unverifiable, and could have been posted by anyone at all.
SUMMARY OF INVENTION This invention provides systems for operating computer facilitated discussion groups which enable a user who posts a message to specify a group of two or more categories for sorting replies to the message. When a second user replies to a message then the second user chooses one category from the group of categories to be associated with the reply. When a user displays a message and a thread of replies to the message then the system can display the reply messages in a manner which visually distinguishes reply messages in one category from reply messages in other categories. This permits a user to understand the point of view from which a reply message is posted without needing to read the reply message itself. The system can also compute the number of reply messages associated with each category.
Preferred aspects of the invention associate verification information with each posted message. The verification information preferably specifies whether the message is unverifiable, verifiable or verified. A user can choose whether to view all messages, only verified and verifiable messages, or only verified messages. This permits the user to selectively view only messages for which the identity of the author is known, or can be discovered. Such messages are likely to be more reliable than messages posted by completely anonymous authors.
Further aspects and advantages of the invention are described below.
BRIEF DESCRIPTION OF DRAWINGS In drawings which illustrate non-limiting embodiments of the invention,
FIG. 1A is a schematic view of a computer network on which the invention may be practised;
FIG. 1B is a schematic view illustrating software on server and user computers;
FIG. 2 illustrates schematically a web page comprising a form for posting new messages to a server according to the invention;
FIG. 3 illustrates schematically a web page comprising a form for posting a reply to a previously posted message to a server;
FIG. 4 illustrates schematically a web page for displaying a thread;
FIG. 5 illustrates a possible format for records of messages in a database for use in a system according to the invention;
FIG. 6 is an example of a possible table returned by a query of a database;
FIG. 7 is a flowchart illustrating a method for posting messages at a server according to the invention;
FIG. 8 is a flowchart illustrating a method for posting replies to messages at a server according to the invention;
FIG. 9 is a flowchart illustrating a method for displaying a thread of replies to a message according to the invention; and,
FIG. 10 illustrates a data structure according to the invention.
DESCRIPTIONFIG. 1 shows acomputer network10 which connects aserver computer12 to a plurality ofuser computers14.Server computer12 typically comprises a processing unit and a memory accessible to the processing unit. Network10 may be a global computer network such as the Internet, a local area network, a wide area network, or any other network capable of carrying data betweenserver12 anduser computers14. Users ofuser computers14 can forward messages to server12. The messages are stored atserver12. Users ofcomputers14 can also view messages which have been previously posted onserver12 by themselves or others.
As shown inFIG. 1B,server12 runs web server software and has access to a plurality of storedweb page templates20.User computers14 runweb browser software22 capable of requesting web pages fromserver12 and displaying images of the web pages on adisplay24.Server12 has access to adatabase16 to which it can read or write information. When a user requests a web page fromserver12, the active web server software loads an appropriate one oftemplates20 and, if necessary, retrieves data fromdatabase16 to complete a web page.Server12 then sends the completed web page to the user'scomputer14 vianetwork10.Web browser software22 causes the web page to be displayed ondisplay24. The general operation of web servers and web browsers is well understood to those skilled in the art and will therefore not be described here in detail.
According to this invention, users ofcomputers14 can post messages toserver12. In the preferred embodiment, when a user wishes to post a message, the user causesweb browser22 to display a “new message” page fromserver12. A samplenew message page30 is shown inFIG. 2.New message page30 comprises a form into which a user can enter data viauser interface26. The user can then cause data entered into the form to be forwarded toserver12 onnetwork10 by activating a “submit”button32.
Form30 contains afield34 into which a user can enter a subject for the message, afield36 into which the user can enter text of the message, and afield38 into which a user can specify response categories for the categorization of responses to the message.Form30 also provides a “clear”button40 for clearing any data entered into the fields ofform30.
Field38 requires a person posting a new message toserver12 to specify a set of response categories into which responses to the message will be sorted. This distinguishes the system of this invention from previous systems which permit users to post messages to a server. In the example ofFIG. 2, the user is required to specify a pair of response categories. The invention could, however, be practised with three or more different categories for responses.Form30 may provide predefined descriptive titles for the categories. In addition to or instead of providing predefined category titles users may be permitted to specify their own category titles. Some examples of possible category titles where there are two categories are: FOR/AGAINST; YES/NO; TRUE/FALSE; AGREE/DISAGREE, and so on. Some examples of possible category titles where there are three categories are: YES/MAYBE/NO; AGREE/DON'T KNOW/DISAGREE; WORSE/THE SAME/BETTER, and so on. A person posting a new message may be provided with the opportunity to specify both the number of categories into which reply messages will be sorted as well as descriptive titles for each category.
Whenserver12 receives data fromform30 thenserver12 stores the data indatabase16. After one or more messages have been posted toserver12 then the message, or messages may be viewed. A user can view previously posted messages by navigating to a web page hosted byserver12 which displays a list of messages available for viewing.Server12 prepares the web page by queryingdatabase16 for a list of available messages and adding the list of available messages to atemplate20.Server12 then sends the web page to the user'scomputer14 onnetwork10.
A user can signal an intention to reply to a message by, for example, selecting the subject line of the message to which the user wishes to respond withinput device26. In response to the receipt of a signal indicating that a user wishes to reply to a message,server12 supplies a form which requires the user to specify which one of the categories associated with the message the reply should be associated with.FIG. 3 shows an example of aform42 which may be generated byserver12 and forwarded to a user'scomputer14 for the purpose of receiving a reply to a previously posted message.Form42 is similar to form30 with the addition of asection44 which requires the user to select one of the response categories specified by the originator of the message being replied to. In the example ofFIG. 3,section44 comprises two radio buttons, one located next to the descriptive title for each of the two possible reply categories.Section44 could be implemented in numerous different ways. Instead of providing asingle form42 for reply messages,server12 could first supply separate forms for requiring a user to specify a category for a reply and for providing the reply itself. What is necessary is that a user be prompted to specify one of a group of two or more categories associated with a message when replying to that message.
After a message has received one or more replies then auser14 may view a display which shows a representation of each reply and indicates visually which of the categories each reply is associated with.Server12 may generate such a display in the form of a web page which is delivered to acomputer14 onnetwork10. This may be done by queryingdatabase16 for all replies to a message and then inserting the result returned bydatabase16 into atemplate20.
FIG. 4 shows one possible example of aweb page50 displaying a representation of amessage54 andrepresentations57 of replies to the message. In theexample web page50 ofFIG. 4, theoriginal message54 is displayed at the top ofpage50 andrepresentations57 of replies tomessage54 are displayed in alower section56 ofpage50. Therepresentations57 of replies tomessage50 may be the reply messages themselves, the time and first few words of each reply message, as shown inFIG. 4, graphic icons representing the reply messages, or some other displayable representation of replies tomessage54.
Section56 is divided into twocolumns56A and56B.Column56A contains representations of reply messages associated with the category having the descriptive title “YES”.Column56B contains representations of reply messages associated with the category having the descriptive title “NO”. The descriptive titles for the categories associated with reply messages of each column are displayed atlocations58A and58B respectively.
Auser viewing page50 can immediately ascertain which reply messages are associated with which point of view. The user may view any one of the reply messages in its entirety by selecting the underlined hyperlink which comprises part of eachrepresentation57. The user may choose to read only reply messages which are categorized in a way which agrees with the user's point of view. If the user so chooses, the user may opt to read only reply messages which are categorized in a way which challenges the user's point of view.Server12 can easily collect statistical information regarding the number of users on one side or another side of an issue. The number ofreply messages59A, and59B in each category may be displayed at the head of each ofcolumns56A and56B.
There are alternative ways to achieve a display having the general appearance ofpage50 any of which may be used in the invention. For example,section56 may comprise two frames located side-by-side, each displaying representations of reply messages associated with a particular category. Other formats of display may also be used to practice the invention. For example, instead of being located in different portions of a display, representations of reply messages associated with different categories could be colored or given different appearances to indicate which category they are associated with.
In the alternative toserver12 formatting a web page containing representations of replies to a message,server12 could send to user computer14 a set of records describing each of the reply messages in a thread and specifying the category associated with each reply message. In place of, or in addition to web browser software,user computers14 could run software which receives such records and prepares and formats a display which shows representations of each reply displayed in such a way that reply messages in each category in the group of categories associated with the message being replied to are visually distinguished from one another.
Database16 may be replaced with any sort of memory of storage device into whichserver12 can store and retrieve data.Database16 is not limited to traditional “database” software.Database16 is preferably a relational database.FIG. 5 shows a possible structure for records of messages indatabase16. The indx field contains a unique number which identifies each message. The thread_id field holds a NULL value in messages which do not reply to any other message. In the records for messages which reply to a previous message the thread_id field holds the value of the indx field for the previous message being replied to. Also, in the records for messages which reply to a previous message the category_# field identifies one category (as specified in the record for the message being replied to) with which the message is associated. The subject field contains the text of the subject of the message. The discussion field contains the text of the discussion. The fields category#1_title, category#2_title contain descriptive titles for the categories into which replies to the message must be categorized. If more than two categories are permitted then there will be additional fields specifying descriptive titles for the additional categories and, where convenient, a field specifying the number of categories. The msg_stamp field contains a time and date stamp for the message. The author field contains the name of the message's author.
It can be appreciated that as the invention is used,database16 will come to contain a data structure in which records for individual messages are linked to one another in a manner which indicates both which messages are included in a thread and the stance being taken in replies to an original posting.FIG. 10 shows an example of adata structure116.Data structure116 containsrecords117 in threethreads119. Eachthread119 consists of arecord117A for an originating message which replies to no other message, and zero ormore records117B for replies to either the originating message or to replies to the originating message.Records117A may be called “originating records”.Records117B may be called reply records. Eachrecord117 specifies two ormore categories120 into which replies to the corresponding message must be classified. Eachreply record117B includespointers121 which identify both themessage117 being replied to and a category with which the reply record is associated.Data structure116 is useful because it facilitates the automatic extraction of useful data fromdata structure116 in a manner that would not be possible with conventional newsgroups or the like.
Whenserver12 receives a signal which indicates that a user wishes to display a thread, for example, as shown inFIG. 4, thenserver12queries database16 to retrieve the original message (using the value of the indx field for the original message) and to retrieve a table containing all other messages for which the thread_id field has the same value as the indx field of the original message. An example of a table59 which might be returned by such a query is shown inFIG. 6.
Server12 retrieves the messages in table59 one at a time depending upon the value in thecategory field server12 places a representation of each message either inleft hand column56A ofpage50 or inright hand column56B ofpage50.
FIG. 7 is a flow chart illustrating amethod60 for receiving and posting messages on a server according to the invention. Atstep62server12 receives a signal containing a request by a user to post a new message. Such a signal may be generated at auser computer14 when a user activates a “new message” button on a web page generated byserver12. Atstep64server12 prepares and forwards to the user computer14 aform30. Atstep66user computer14 receives and displays theform30 ondisplay24. As noted above,form30 requires a user to specify categories into which replies to the message will be sorted. Atsteps68 and69, which may be completed in any order, the user specifies categories for replies to the message and inputs a subject and text for the message. In the example given above this is done by filling inform30. Atstep70user computer14 forwards the data input intoform30 toserver12 onnetwork10. Atstep72 the data is received atserver12. Atstep74 the data, including the response categories is saved byserver12 indatabase16.
FIG. 8 illustrates amethod80 for posting reply messages to a previously posted message. At82server12 receives a request from auser computer14 indicating that a user wishes to post a reply to a message. Such a signal may be generated at auser computer14 when a user activates a “reply” button on a web page generated byserver12 or activates a hot spot connected to a reply function. At84server12 prepares a reply form. To do this,server12 retrieves fromdatabase16 the descriptive titles for each category in the group of categories associated with the message being replied to. Atstep86user computer14 receives and displays the form, for example,form42. The form forces the user to select one category from the group of categories into which the reply will be categorized.Steps88,89 and90 may be completed in any order. these steps may be completed, for example, by allowing a user to complete aform42 using aninput device26. Atstep92user computer14 forwards data from the completedform42 toserver12 overnetwork10. Atstep96server12 stores a record of the reply indatabase16.
FIG. 9 is a flowchart which illustrates amethod100 for displaying a thread according to the invention. Whenserver12 receives a signal indicating that a user wishes to see a display of a thread (step102) thenserver12queries database16 for reply messages belonging to the thread atstep104. Atstep106server12 sorts the reply messages by category. Atstep108server12 assembles a web page from atemplate20 and the sorted reply messages. On the web page, reply messages which are in different categories are visually distinguished from one another. This may be done, for example, by displaying representations of reply messages which are associated with different categories in physically separate parts of the web page, using a different icon to represent reply messages in different categories, providing a different color attribute for representations of reply messages in different categories. It is preferred to display representations of the reply messages in physically separated parts of the web page image. Atstep110server12 sends the web page touser computer14 onnetwork10.User computer14 receives the web page atstep112 and displays the web page ondisplay24 atstep112.
The methods, systems and data structures of the invention may be enhanced by providing verification functions which allow users to assess the credibility of posted messages. Internet users can post messages anonymously or under pseudonyms. In a preferred embodiment of the invention, each message indatabase16 includes information specifying whether or not the message is “verifiable”. Most preferably,database16 categorizes each message as being one of “unverifiable”, “verifiable” and “verified”. Unverifiable messages are messages posted anonymously. It is not readily possible to determine who is the author of an unverifiable message or, if the person posting the message has provided a name, whether that name is the person's real name. Verifiable messages are messages for which the user posting the message has provided sufficient information about themselves that the true name of the user posting the message could be ascertained and the user posting the message could be contacted to verify the accuracy of the posted message. A verified message is a message for which the true name of the user posting the message has been ascertained and the accuracy of the contents of the message has been verified.
Verification may be conducted automatically byserver12 by sending an e-mail message to a known e-mail address for a particular user and receiving a reply to the e-mail message. For example, consider the case where a message purporting to be from the president of the United States has been posted toserver12.Server12 could automatically generate an e-mail to the known e-mail address for the president, president@whitehouse.gov seeking confirmation that the president was, in fact, the originator of the posted message. TheServer12 could mark the message as being “verified” upon receiving such a validation. Verification could also be done manually. Once a message has been verified, users ofserver12 can see that the message has been verified and can trust that the message was posted by someone known to the operators ofserver12 and, if the name of an author is given, that the named author is responsible for the content of the posted message.
In a preferred embodiment of the invention, users who wish to view the messages posted onserver12 can specify whether they wish to see all posted messages, only messages which are either verifiable or verified, or only verified messages. If the user signals toserver12 that the user wishes to view all posted messages, or both verifiable and verified messages then preferably each message displayed on apage50 or other display, are somehow marked to indicate whether the message is unverifiable, verifiable or verified. For example, different colors may be used to display a representation of each of these types of message or a small icon could be presented as part of the representation of each message, the icon indicating the verification status of the message.
A field indicating whether or not each message in a database of posted messages can be, or is, verified could be provided and used in conjunction with any database of posted messages. The application of this inventive feature is not limited to methods and systems which provide multiple categories for reply messages as described above.
It can be appreciated that by including indatabase16 verification information specifying whether each message is unverified, verified or verifiable, a user reading messages fromdatabase16 can determine how much trust to place in each message.
Preferably users who post messages toserver12 may select whether or not to allow their names to be made public as the authors of messages by sending a signal toserver12. If the signal indicates that the name of the author of a message should be made public then the author's name is forwarded on the communication network together with the message to other users who wish to view the message. In a preferred embodiment of the invention, users who view messages posted onserver12 can choose whether they wish to view only messages for which the name of the person posting the message is displayed or whether they are willing to also view messages for which the name of the user who posted the message will not be provided to them.
While the invention has been described above as being embodied in a computer network in which the methods of the invention are carried out, the invention could also be embodied in a computer readable storage medium such as a floppy disc, a CD ROM, a DVD, or some other physical carrier of computer readable instructions upon which is stored computer instructions which, when executed on a computer will cause the computer to operate so as to carry out any method of the invention.
As will be apparent to those skilled in the art in the light of the foregoing disclosure, many alterations and modifications are possible in the practice of this invention without departing from the spirit or scope thereof. While the invention has been described with reference to a system wherein communications between users and a server are mediated by web browsers which communicate with a web server, this is not necessary.Computers14 could communicate withserver12 using a different protocol than is used for the exchange of web pages. The way in whichserver12 stores and retrieves messages and the structure ofdatabase16 can be varied significantly without departing from the invention. There are a multitude of data structures capable of recording associations between a message and a group of reply categories and between a reply and a category. The displays depicted in the figures are by way of illustration only. There are many alternative ways to display replies to messages in a way which allows a user to see how the replies have been categorized. Accordingly, the scope of the invention is to be construed in accordance with the substance defined by the following claims.