Abstract:
The invention provides a sequence of increasingly detailed presentation levels to assist a user in deciding whether a thread is of interest. If so, the text of the threaded messages is presented at a level of detail corresponding to the user&#39;s level of indicated interest. In particular, the invention provides a method comprising creating a message collection viewing cascade including a plurality of viewing levels for presenting one or more message threads and abbreviated forms of one or more messages, abbreviating at least one of the messages using one of a plurality of abbreviation techniques, and formatting each abbreviated message to be displayed at one of the plurality of viewing levels in the message collection viewing cascade. Each abbreviation technique specifies a manner in which the messages can be abbreviated, and each viewing level in the collection viewing cascade offers a different degree of detail for presenting the abbreviated forms of the messages.

Description:
FIELD OF THE INVENTION 
     The present invention relates generally to the field of information display, and in particular, to the display of electronic mail collections. 
     BACKGROUND OF THE INVENTION 
     There are many circumstances in which people have to inspect the content of large e-mail folders. These folders may be personal inboxes in which large amounts of mail have accumulated, personal folders to which many messages have been routed, or archives of public or private discussion lists. For personal folders, a user may intend to sort messages into those to be discarded and those to be subjected to deeper examination or action. For mailing list archives, a user&#39;s purpose may be to understand the general concerns of the archive and to focus on those concerns, if any, that are relevant to the user. Such tasks are in contrast to focused searches for particular kinds of information. 
     Folder examinations are facilitated to some extent by contemporary mailers by providing high-level outline listings, with progressive disclosure that allows expansion of categories or subject items to listings of individual messages within a selected group. Further, these contemporary mailers may include a presentation that can descend to the message-list level where the first few lines of the individual messages may sometimes be included in the listings. However, such lines may be of limited utility because they often consist of a greeting followed by a quoted excerpt from a previous message. Thus, such mailers may repetitively display excerpts from the same message. 
     SUMMARY OF THE INVENTION 
     The method and apparatus of the present invention is directed to a multi-level, text-embedded display of electronic mail collections that provides a sequence of increasingly detailed presentation levels. The less detailed levels assist a user in deciding whether a thread may be of interest. The more detailed levels allow a further inspection of thread content. At all levels, threads may also be presented in such a way as to maintain ongoing awareness of the thread context of each message. 
     In one embodiment of the present invention the sequence begins at an overall collection level. This overall collection level lists threads, optionally together with an initial fragment of the initial message of each thread. The initial fragments are formed from the initial substantive lines, rather than the initial literal lines. Threads of the corpus may be listed in time-based, last-to-first or first-to-last orders, or in order of thread size, from longest to shortest, to obtain a good idea of which subjects are of most interest or importance to the archive contributors. 
     A thread of interest may then be viewed as a single document at one of at least five levels. The first level is an outline of the thread. The second level lists the messages of the threads together with the initial substantive fragments. The third level lists the messages of the thread together with the message content in a compressed text form that is described in patent application entitled METHOD AND APPARATUS FOR PRESENTING E-MAIL THREADS AS SEMI-CONNECTED TEXT BY REMOVING REDUNDANT MATERIAL, filed concurrently herewith, and the disclosure of which is totally incorporated herein by reference. A fourth level lists the messages of the thread together with the message content abbreviated, for lengthy postings, using an e-mail adapted summarization technique to abbreviate lengthy postings. A fifth level of presentation synthesizes briefer forms, for example, thread outlines with or without embedded substantive fragments and longer forms, for example, thread listings embedding compressed-text or summary forms, each form in interacting frames to facilitate navigation and to maintain thread context throughout the reading of long threads. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       Embodiments of this invention will be described in detail, with reference to the following figures: 
         FIG. 1  is a block diagram of a computer controlled display system in accordance with an embodiment of the present invention; 
         FIG. 2  shows a display of an outline of a section of a discussion list including embedded substantive initial fragments of initial messages of threads in accordance with an embodiment of the present invention; 
         FIG. 3  shows a display of a portion of one of the threads from the discussion list shown in  FIG. 2 , with embedded substantive fragments for each message in accordance with an embodiment of the present invention; 
         FIG. 4  shows a display of a summary form of a lengthy text message in accordance with an embodiment of the present invention; 
         FIG. 5  shows a display of a compressed text form of the same lengthy message that is summarized in  FIG. 4  in accordance with an embodiment of the present invention; 
         FIG. 6  shows a first display of a fifth level presentation in accordance with the present invention; 
         FIG. 7  shows a second display of a fifth level presentation in accordance with the present invention; and 
         FIGS. 8 and 9  show a flowchart outlining an embodiment of a control routine in accordance with the present invention. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     The computer based system on which an embodiment of the present invention may be implemented is described with reference to  FIG. 1 . Referring to  FIG. 1 , the computer based system includes a plurality of components coupled via a bus  101 . The bus  101  may include a plurality of parallel buses (e.g. address, data and status buses) as well as a hierarchy of buses (e.g. a processor bus, a local bus and an I/O bus). The computer system further includes a processor  102  for executing instructions provided via bus  101  from internal memory  103  (note that the internal memory  103  is typically a combination of random access and read only memories). The processor  102  is used to perform various operations in support of creating the tree visualizations. Instructions for performing such operations are retrieved from internal memory  103 . Such operations that would be performed by the processor  102  are described with reference to  FIG. 6 . The processor  102  and internal memory  103  may be discrete components or a single integrated device such as an application specification integrated circuit (ASIC) chip. 
     Also coupled to the bus  101  are a keyboard  104  for entering alphanumeric input, external storage  105  for storing data, a cursor control device  106  for manipulating a cursor, and a display  107  for displaying visual output. The keyboard  104  would typically be a standard QWERTY keyboard but may also be telephone like keypad. The external storage  105  may be fixed or removable magnetic or optical disk drive. The cursor control device  106 , e.g. a mouse or trackball, typically has a button or switch associated with it to which the performance of certain functions can be programmed. 
     An embodiment of the present invention operates using two processes. The first process forms several types of message abbreviations. The second process involves placing the abbreviations in a collection viewing cascade. A collection viewing cascade is a collection of available views in which each have a different method of displaying a collection of threads, and of individual threads. Each view in the cascade offers a different degree of detail for the displayed item(s). 
     The first process, of forming message abbreviations, may be performed using the analysis aspect of the method and apparatus described in patent application entitled METHOD AND APPARATUS FOR PRESENTING E-MAIL THREADS AS SEMI-CONNECTED TEXT BY REMOVING REDUNDANT MATERIAL. The process described in that co-pending patent application provides a result with each message being decomposed into a tree or tree-equivalent such that each child node represents either a sequence of first-level material from its parent, or an excerpt of another message. The first-level children, which represent the non-quoted material of the message, are further decomposed into block types. Block types include prose paragraph blocks, blocks representing tables, sample program code and other types of line oriented material, signature material blocks and the like. 
     One embodiment of the present invention obtains substantive message fragments by extracting the first fixed-length initial sequence following any excerpt and/or excerpt-introduction material, with that sequence prefixed by a quote indicator if the first physical material is an excerpt. This simultaneously avoids using the fragment space to repeat text of a previous message and, at the same time, indicates the response in the original text. 
     Compressed text forms are developed from the analysis results using the method and apparatus described in patent application entitled METHOD AND APPARATUS FOR PRESENTING E-MAIL THREADS AS SEMI-CONNECTED TEXT BY REMOVING REDUNDANT MATERIAL, in which, the message representation consists of the non-extraneous parts of the primary text, interspersed with abbreviated, attributed top-level quotes. 
     Message summaries may also be developed from the analysis results. It is anticipated that summaries will be used for relatively lengthy messages. E-mail adapted summaries in accordance with the present invention differ from conventional text summaries in at least two ways. First, the e-mail adapted summaries of the present invention carefully preserve the overall structure of the messages and abbreviate only within blocks or sequence of blocks of like type and also carefully indicate where material has been deleted. Second, the e-mail adapted summarization methods are different for different types of blocks. For example, sequences of one or more prose paragraphs may be concatenated and submitted to an existing summarizer to identify the most salient sentences in a block. Then the selected sentences may be aligned with the original sentences to determine where to insert elision indicators. This procedure may be selected such that it may be automatically provided when connected paragraphs exceed a pre-determined size. For blocks representing line-oriented text, such blocks are elided by including only a pre-specified number of lines followed by elision indicators. 
     The embodiment of the present invention will then provide a completed message summary from the abbreviated blocks by concatenating the individual abbreviated components, together with abbreviated quoted excerpts in order of appearance in the original message. Additionally, signature and contact material may be omitted entirely. 
     After the individual messages are processed, the collection viewing cascade is developed. Such development may take place statically or dynamically. At the top level, threads of the collection are listed together with an initial fragment of the first message in the thread along with a prefix of the name of the author as shown in  FIG. 2 . Items that represent single message threads are linked directly to the associated messages. Other items are linked to individual thread displays.  FIG. 2  shows a display  200  with threads  202  listed with initial fragments  204  of the first message in each thread in a first column. The display  200  also includes a second column that shows the number of messages  206  in each thread and a third column that shows the range of dates  208  over which the messages in each thread were received. The display  200  also has a link  210  for each thread, through which a user may obtain a presentation of the corresponding thread. 
     If a user selects a thread for viewing, the present invention provides at least five alternative views for displaying the threads in increasing levels of detail. Each level of detail uses a semi-linear thread-representation form obtained by a technique described in patent application entitled METHOD AND SYSTEM FOR PRESENTING SEMILINEAR HIERARCHY DISPLAYS, filed concurrently herewith, and the disclosure of which is totally incorporated herein by reference. 
     The first thread viewing level provides a simple outline. This viewing level provides a general idea of the structure of long threads. A second viewing level includes a display of initial substantive fragments of each message. A display in accordance with the second viewing level is shown in  FIG. 3 .  FIG. 3  shows a display  300  with a thread that includes initial substantive fragments  302  for each message in the thread. Each message also includes a header that includes the message number  304 , a link to the underlying message  306  and the date and time of receipt of the message,  308 . 
     The third viewing level, which provides the most detailed view, embeds into the semi-linear form a compressed text form for each message, using the technique described in patent application entitled METHOD AND APPARATUS FOR PRESENTING E-MAIL THREADS AS SEMI-CONNECTED TEXT BY REMOVING REDUNDANT MATERIAL. An example of such a compressed form is shown in  FIG. 5 . 
     A fourth viewing level may provide embedded e-mail-adapted summaries for each message when the compressed text form is sufficiently long to warrant an abbreviation. An example of such a summary is shown in  FIG. 4 . In all of the views, the message indicators are linked to the corresponding messages. 
     Such a viewing cascade sequence enables a user to determine which parts of the collection that they would like to inspect and to inspect only those parts at the level of detail which is appropriate to their current task. 
     A fifth viewing level, examples of which are shown in  FIGS. 6 and 7 , is tailored for the detailed study of threads containing generally very long messages. Interacting frames are used to allow users to maintain an awareness of the thread context of the message being read, and to easily navigate through elements of the thread. The left-hand frame is used for context-related functions, and the right-hand frame provides the semi-linear form thread display with embedded compressed-text messages. 
       FIG. 6  shows a first exemplary display  600  of a thread using this fifth viewing level in accordance with an exemplary embodiment of the present invention. Here the left hand frame  602  contains the thread outline  604 . It is also to be understood that the left hand frame may also contain initial fragments as shown in  FIG. 3 . Selecting a particular message on the left-hand frame scrolls the compressed-text form of the thread such that the selected message  608  appears within the right hand frame  606 . 
       FIG. 7  illustrates a second display  700  of the thread of  FIG. 6  using the fifth viewing level. In the right hand frame  702  a compressed-text message  704  has been scrolled into view. It allows a user to request that a view of the predecessor  708  of the message  704  be placed in the left hand frame  706 . In this manner, the predecessor  708  may be kept in view as the right hand frame  702  is scrolled through its successors. The predecessor  708  may also be revisited after a long response chain associated with a successor  704 . At any time, the left hand side outline form  604  shown in  FIG. 6  may be restored. 
       FIGS. 8 and 9  show a flowchart outlining an control routine in accordance with one embodiment of the present invention. Upon a request for a display of a corpus, the control routine starts at S 800  and continues to S 802 . In S 802 , the control routine determines whether a new, non-previously processed messages have entered the corpus. If, in S 802 , the control routine determines that there are no new messages, then the control routine jumps to S 908 . If, however, in S 802 , the control routine determines there are new messages, then the control routine continues to S 804 . In S 804 , the control routine selects the first message in the thread and continues to S 806 . In S 806 , the control routine finds the substantive fragment for the corpus and continues to S 808 . In S 808 , the control routine forms a compressed text representation of the message and continues to S 810 . In S 810 , the control routine develops inter-quote summary blocks and continues to S 812 . In S 812 , the control routine generates a complete message summary by interspersing quotes or abbreviated quotes with inter-quote summaries and continues to S 814 . In S 814 , the control routine links the message into the appropriate thread and continues to S 816 . In S 816 , the control routine determines if there is another message in the thread. If, in S 816 , the control routine determines that there is another new message thread, then the control routine returns to S 804 . If, however, in S 816 , the control routine determines that no other message remains to be processed, then the control routine continues to S 900 . 
     In S 900 , the control routine selects the first new or modified thread and continues to S 902 . In S 902 , the control routine develops the semi-linear structure and continues to S 904 . In S 904 , the control routine develops alternative-length thread representations by inserting message fragments, compressed text, or message summaries within the semi-linear structure and continues to S 906 . In S 906 , the control routine determines if another thread in the corpus requires processing. If, in S 906 , the control routine determines that another thread in the corpus requires processing, then the control routine returns to S 900 . If, however, in S 906 , the control routine determines that no other thread in the corpus requires processing, then the control routine continues to S 908 . 
     In S 908 , the control routine prepares to display the corpus in the requested sort order by selecting the first thread in the current order and continues to S 910 . In S 910 , the control routine determines whether the current thread is a single message thread. If, in S 910 , the control routine determines that the current thread is a single message thread, then the control routine continues to S 916 . In S 916 , the control routine generates a link to the associated message and continues to S 918 . If, however, in S 910 , the control routine determines that the current thread is not a single message thread, then the control routine continues to S 912 . In S 912 , the control routine generates a link to the individual thread display and continues to S 914 . In S 914 , the control routine determines if another thread remains in the corpus. If, in S 914 , the control routine determines that another thread remains in the corpus, then the control routine returns to S 908 . If, however, in S 914 , the control routine determines that another thread does not exist in the corpus, then the control routine continues to S 918 . In S 918 , the control routine displays the corpus, presenting, for example, the thread subject for each thread, the substantive initial fragment, the selected link and the like and continues to S 920 . In S 920 , the control routine returns control of the display apparatus to the control routine that called the control routine of  FIGS. 8 and 9 . 
     As illustrated in  FIG. 1 , the computer controlled display system is implemented either on a single program general purpose computer, or separate program general purpose computer. However, the computer controlled display system can also be implemented on a special purpose computer, a programmed microprocessor or microcontroller and peripheral integrated circuit element, an ASIC or other integrated circuit, a digital signal processor, a hard wired electronic or logic circuit such as a discrete element circuit, a programmable logic device such as a PLD, PLA, FPGA, PAL, or the like. In general, any device capable of implementing a finite state machine that is in turn capable of implementing the flowchart illustrated in  FIGS. 8 and 9  can be used to implement the computer controlled display system according to this invention. 
     Furthermore, the disclosed method may be readily implemented in software using object or object-oriented software development environments that provide portable source code that can be used on a variety of computer or workstation hardware platforms. Alternatively, the disclosed computer controlled display system may be implemented partially or fully in hardware using standard logic circuits or VLSI design. Whether software or hardware is used to implement the systems in accordance with this invention is dependent on the speed and/or efficiency requirements of the system, the particular function, and the particular software or hardware systems or microprocessor or microcomputer systems being utilized. The computer controlled display systems and methods described above, however, can be readily implemented in hardware and/or software using any known or later-developed systems or structures, devices and/or software by those skilled in the applicable art without undue experimentation from the functional description provided herein together with a general knowledge of the computer arts. 
     Moreover, the disclosed methods may be readily implemented as software executed on a programmed general purpose computer, a special purpose computer, a microprocessor, or the like. In this instance, the methods and systems of this invention can be implemented as a routine embedded on a personal computer such as a Java® or CGI script, as a resource residing on a server or graphics workstation, as a routine embedded in a dedicated electronic message management system, a web browser, an electronic message enabled cellular phone, a PDA, a dedicated computer controlled display system, or the like. The computer controlled display system can also be implemented by physically incorporating the system and method into a software and/or hardware system, such as the hardware and software systems of a dedicated computer controlled display system. 
     It is, therefore, apparent that there has been provided, in accordance with the present invention, systems and methods for computer controlled display. While this invention has been described in conjunction with embodiments thereof, it is evident that many alternatives, modifications and variations be apparent to those skilled in the applicable arts. Accordingly, Applicants intend to embrace all such alternatives, modifications and variations that follow within the spirit and scope of this invention.