`
`(19) World Intellectual Property Organization
`International Bureau
`
`11111111111111111111111111111111111111111111111111111111111111111111111111111111
`
`(43) International Publication Date
`5 April2001 (05.04.2001)
`
`PCT
`
`(10) International Publication Number
`WO 01/24036 A2
`
`(51) International Patent Classification7:
`
`G06F 17/00
`
`(21) International Application Number: PCT/US00/25765
`
`(22) International Filing Date:
`21 September 2000 (21.09.2000)
`
`(25) Filing Language:
`
`(26) Publication Language:
`
`English
`
`English
`
`(30) Priority Data:
`09/404,757
`
`24 September 1999 (24.09.1999) US
`
`(63) Related by continuation (CON) or continuation-in-part
`(CIP) to earlier application:
`us
`Filed on
`
`09/404,757 (CON)
`24 September 1999 (24.09.1999)
`
`(US). WICK, Andrew, L. [US/US]; 12213 Pender Creek
`Circle #F, Fairfax, VA 22033 (US).
`
`(74) Agents: RACUNAS, Robert, V., Jr. et al.; Fish &
`Richardson P.C., 601 Thirteenth Street N.W., Washington,
`DC 20005 (US).
`
`(81) Designated States (national): AE, AG, AL, AM, AT, AU,
`AZ. BA, BB, BG, BR, BY, BZ, CA, CH, CN, CR, CU, CZ,
`DE, DK, DM, DZ, EE, ES, Fl, GB, GD, GE, GH, GM, HR,
`HU, ID, IL, IN, IS, JP, KE, KG, KP, KR, KZ, LC, LK, LR,
`LS, LT, LU, LV, MA, MD, MG, MK, MN, MW, MX, MZ,
`NO, NZ, PL, PT, RO, RU, SD, SE, SG, Sl, SK, SL, TJ, TM,
`TR, TT, TZ, UA, UG, US, UZ, VN, YU, ZA, ZW.
`
`(84) Designated States (regional): ARIPO patent (GH, GM,
`KE, LS, MW, MZ, SD, SL, SZ, TZ, UG, ZW), Eurasian
`patent (AM, AZ, BY, KG, KZ, MD, RU, TJ, TM), European
`patent (AT, BE, CH, CY, DE, DK, ES, Fl, FR, GB, GR, IE,
`IT, LU, MC, NL, PT, SE), OAPI patent (BF, BJ, CF, CG,
`CI, CM, GA, GN, GW, ML, MR, NE, SN, TD, TG).
`
`(71) Applicant (for all designated States except US): AMER(cid:173)
`ICA ONLINE, INC. [US/US]; 22000 AOL Way, Dulles,
`VA 20166 (US).
`
`Published:
`Without international search report and to be republished
`upon receipt of that report.
`
`(72) Inventors; and
`(75) Inventors/Applicants (for US only): APPELMAN,
`Barry [US/US]; 1003 Crest Lane, Great Falls, VA 22086
`
`For two-letter codes and other abbreviations, refor to the "Guid(cid:173)
`ance Notes on Codes and Abbreviations" appearing at the begin(cid:173)
`ning of each regular issue of the PCT Gazette.
`
`iiiiiiiii
`
`iiiiiiiii
`iiiiiiiii
`iiiiiiiii
`
`!!!!!!!!!!! --
`iiiiiiiii -
`==
`iiiiiiiii -iiiiiiiii
`
`iiiiiiiii
`
`- i
`
`iiiiiiiii -
`iiiiiiiii -iiiiiiiii
`
`iiiiiiii
`
`iiiiiiiii
`
`!!!!!!!!!!!
`
`~ (54) Title: MESSAGING APPLICATION USER INTERFACE
`
`=
`
`~ (57) Abstract: A messaging application user interface has an input element for receiving electronic messages and an output element
`....._ for displaying electronic messages. The messaging application user interface can be implemented so as to maintain a subset of the
`~ plurality of potential message recipients, the subset being determined using a predetermined criterion. The messaging application
`user interface also can be implemented so as to auto-complete a partially entered address based on the subset of potential message
`0 recipients. A set of user-selectable signals that modify auto-completion behavior also can be used with the messaging application
`> user interface. The messaging application user interface can be used in an instant messaging system to allow a user to send instant
`~ messages to and exchange comments with a plurality of other users without having to switch among several instant message windows.
`
`Page 1 of 55
`
`
`
`Samsung Exhibit 1037
`
`
`
`wo 01/24036
`
`PCT/US00/25765
`
`MESSAGING APPLICATION USER INTERFACE
`
`5
`
`This application relates to a messaging application
`(e.g., e-mail, instant messaging, chat rooms, etc.) user
`interface.
`
`10
`
`Background
`The computer system 100 illustrated in FIG. 1
`represents a typical hardware setup for executing software
`that allows a user to perform tasks such as communicating
`with other computer users, accessing various computer
`resources, and viewing, creating, or otherwise manipulating
`15 electronic content -
`that is, any combination of text,
`images, movies, music or other sounds, animations, 3D virtual
`worlds, and links to other objects. The system includes
`various input/output (I/O) devices (mouse 103, keyboard 105,
`display 107) and a general purpose computer 100 having a
`20 central processor unit (CPU) 121, an I/O unit 117 and a
`memory 109 that stores data and various programs such as an
`operating system 111, and one or more application programs
`113. The computer system 100 also typically includes some
`sort of communications card or device 123 (e.g., a modem or
`25 network adapter) for exchanging data with a network 127 via a
`communications link 125 (e.g., a telephone line)
`As shown in FIG. 2, a user of a computer system can
`access electronic content or other resources either stored
`locally at the user's own client system 202 (for example, a
`30 personal or laptop computer) or remotely at one or more
`server systems 200. An example of a server system is a host
`computer that provides subscribers with online computer
`services such as e-mail, e-commerce, instant messaging, chat
`rooms, Internet access, online games, electronic newspapers
`35 and magazines, etc. Users of a host computer's online
`services typically communicate with one or more central
`
`Page 2 of 55
`
`
`
`WOOl/24036
`
`PCT/US00/25765
`
`5
`
`server systems 200 through client software executing on their
`respective client systems 202.
`In practice, a server system 200 typically will not be
`a single monolithic entity but rather will be a network of
`interconnected server computers, possibly physically
`dispersed from each other, each dedicated to its own set of
`duties and/or to a particular geographical region.
`In such a
`case, the individual servers are interconnected by a network
`of communication links, in a known fashion. One such server
`10 system is "America Online 4.0" from America Online,
`Incorporated of Virginia.
`One increasingly popular computer network-based
`activity is referred to as "instant messaging." An instant
`message is a form of electronic communication between users
`15 of a computer network in which a window pops-up on the
`recipient's computer screen "instantly" and without the
`recipient having to access an e-mail program or otherwise
`check for messages. An instant message appears essentially
`as soon as the message sender clicks the send button subject
`20 to any time or propagation delays the message may have
`encountered on the network.
`In comparison to most e-mail
`applications, instant messaging enables users to communicate
`with each other in a more dynamic, urgent and interactive
`manner.
`
`25
`
`FIG. 3 is a screen shot of an Instant Message (IM)
`window 130 as used in AOL's Instant Messenger ("AIM") system.
`As shown therein, the window 130 includes a text display
`area 131 and text entry area 132. Both users involved in the
`IM under consideration (i.e., sender and recipient) would
`30 have a similar window displayed on his or her computer
`monitor. When one user (PhillipsJC) types a comment 134 in
`text entry area 132 and clicks the Send button 133 (or,
`depending on the configuration, presses the "ENTER" key on
`
`- 2
`
`Page 3 of 55
`
`
`
`WOOl/24036
`
`PCT/US00/25765
`
`15
`
`the keyboard), the entered text (e.g., "Hey, did you see the
`game last night?") is displayed in the text display area 131
`of the window 130 such that it is visible to both users.
`After FRsnafu enters a comment 135 in response and clicks the
`5 Send button 133, that comment 135 appears in the text display
`area 131 underneath the previous comment 134. This exchange
`of comments continues indefinitely until the users decide to
`terminate the exchange.
`Typically, instant messages can be sent to another
`10 user only when that user is presently signed on to the
`computer service. Users who are signed off are unavailable
`to receive instant messages. Accordingly, another popular
`innovation introduced by America Online is the "Buddy List, 11
`which allows users to monitor when other specified users
`("buddies 11
`) are signed onto and/or off of the computer
`service under consideration (e.g., AOL Instant Messenger)
`As shown in FIG. 4, the Buddy List is implemented as a
`window 140 that lists specified users, or buddies, who are
`signed on to the AIM system.
`In the example shown, the Buddy
`20 List for user "PhillipsJC" indicates that four of
`PhillipsJC's buddies 141 144 currently are signed on to the
`system and thus available to receive instant messages. The
`Buddy List is updated based on information received from a
`server to add or delete names of buddies as they sign on and
`25 off, respectively. Such Buddy List updates can be
`accompanied by various audible and visual indications to help
`notify the user that a buddy has signed on or off.
`Users may send instant messages to, and exchange
`comments with, more than one other user at a time.
`30 Conventional instant message client software typically
`creates a separate instant message window for each user that
`is sent an instant message. For example, as shown in FIG. 5,
`if a user sends three instant messages to three other users,
`
`- 3 -
`
`Page 4 of 55
`
`
`
`wo 01/24036
`
`PCT /US00/25765
`
`one to each of the users, three separate instant message
`windows 130a, 130b, and 130c are created. To change from one
`instant message window to another, the user typically must
`move and/or press a button on the mouse, or press a sequence
`5 of keys on the keyboard, to activate the desired instant
`message window.
`The present inventors recognized that some users may
`find it undesirable to have to switch between instant message
`windows in order to send instant messages to and exchange
`10 comments with more than one other user at a time. Therefore,
`the present inventors recognized that it would be desirable
`to provide users with a user interface through which a user
`can send messages to and exchange comments with one or more
`users without having to switch among several different
`15 windows.
`
`Summary
`Implementations may include one or more of the
`following features.
`In one aspect, a computer-implemented
`20 method of addressing a message to a member of a plurality of
`potential message recipients may include maintaining a subset
`of a plurality of potential message recipients. Each
`potential message recipient may have an associated address,
`and the subset may be determined using a predetermined
`25 criterion. The method also may include auto-completing a
`partially entered address based on the subset of potential
`message recipients.
`In another aspect, a method of addressing electronic
`messages to users of a computer network may include providing
`30 a set of user-selectable signals that modify auto-completion
`behavior and auto-completing a partially entered address for
`a message based on entry of one or more of the set of
`signals.
`
`- 4
`
`-
`
`Page 5 of 55
`
`
`
`wo 01/24036
`
`PCT/US00/25765
`
`15
`
`In another aspect, a method of exchanging instant
`messages among users of a computer network may include
`providing an instance of a user interface having an element
`for receiving addresses of instant message recipients. The
`5 method also may include allowing a user to send independent
`instant messages to different recipients by specifying an
`intended recipient's address in the instance of the user
`interface element.
`In another aspect, an instant messaging user interface
`10 may include a user interface element having an input element
`for receiving instant messages for more than one separate
`instant message exchange and an output element for displaying
`instant messages for more than one separate instant message
`exchange.
`In another aspect, an instant messaging system may
`include an instant message server and a plurality of clients
`connected to the instant message server via a network. Each
`client may have software embodied in a computer-readable
`medium including instructions for causing the client to
`20 provide a user interface having an element for receiving
`addresses. The software also includes instructions for
`causing the client to allow a user to address instant
`messages to a first recipient via the user interface element
`while participating in a first instant message exchange and
`25 to allow the user to address instant messages to another
`recipient via the user interface element while participating
`in another instant message exchange separate from the first
`instant message exchange.
`In another aspect, a protocol for addressing a message
`30 to a member of a plurality of potential message recipients
`may include one or more user-selectable signals for modifying
`auto-completion behavior, and a predetermined criterion for
`selecting a subset of the plurality of potential message
`
`- 5 -
`
`Page 6 of 55
`
`
`
`WOOl/24036
`
`PCT/US00/25765
`
`recipients. Each potential message recipient may have an
`associated address.
`One or more of the following advantages may be
`realized. The user interface allows a user to send instant
`5 messages to and exchange comments with a plurality of other
`users without having to switch among several instant message
`windows and without having to clutter up the user's display
`screen with several instant message windows. Moreover,
`automatically completing the address of a message based on a
`10 partially entered address allows a user to address the
`message without having to enter a complete address, thereby
`saving time and effort. For example, the user interface can
`be configured to allow the user to address a message to the
`person with whom the user last corresponded using a single
`15 keystroke. Also, by using only a subset of the entire group
`of potential message recipients (e.g., each member of the
`subset being selected based on predetermined criteria such as
`the potential recipient being on a buddy list and currently
`being online) , the address auto-completion feature can
`20 function properly with less input from the user (e.g., with
`fewer keystrokes) than would be required if the entire group
`of potential message recipients was used.
`Further advantages and features will be apparent from
`the following description, including the drawings and the
`25 claims.
`
`Drawing Descriptions
`FIG. 1 is a block diagram of a computer system.
`FIG. 2 shows a typical network computing environment.
`FIG. 3 is a screen shot of an 11 Instant Message 11
`
`30
`
`window.
`
`FIG. 4 is a screen shot of a
`AOL's Instant Messenger for Windows.
`
`11 Buddy List 11 window in
`
`- 6 -
`
`Page 7 of 55
`
`
`
`WOOl/24036
`
`PCT /US00/25765
`
`5
`
`FIG. 5 shows a screen shot of a three instant messages
`windows in use at one time.
`FIG. 6 is a schematic diagram of a messaging
`application user interface.
`FIG. 7 is a flow diagram of a process of participating
`in multiple communication sessions.
`FIG. 8 is a flow diagram of a process of addressing a
`message.
`FIG. 9 is a schematic diagram of an address list.
`FIGS. 10-11 are flow diagrams of a process of
`automatically completing a message address.
`FIG. 12 shows a screen shot of a messaging application
`user interface used in AOL's Instant Messenger for UNIX.
`FIGS. 13-31 are screen shots showing the operation of
`15 the messaging application user interface of FIG. 12.
`Like reference numbers and designations in the various
`drawings indicate like elements.
`
`10
`
`20
`
`Detailed Description
`A messaging application (MA) user interface 10 is
`shown in FIG. 6. As used herein, MA refers to any software
`application or other software program (such as an operating
`system or utility) that allows users to exchange information
`electronically, including by way of example instant messaging
`25 applications, e-mail programs, chat programs, etc. The MA
`user interface 10 includes a user interface element 12 such
`as a window, console, dialog box, button, etc. The user
`interface element 12 has an input element 14 via which a user
`can input a message that is communicated to one or more other
`30 users of a computer system. For example, the input element
`14 can be text field or a command line prompt in which the
`user enters a message 16 having an address 18 for whom the
`message 16 is intended and a message body 20 that contains
`
`- 7 -
`
`Page 8 of 55
`
`
`
`WOOl/24036
`
`PCT/US00/25765
`
`5
`
`the content of the message 16. The user interface element 12
`also can include a button 22 or other user interface element
`that allows the user to send the message 16 to the address
`18. Also, the MAuser interface 10 can be configured so that
`the user can send the message 16 by pressing one or more keys
`on the keyboard (e.g., the "enter" key). Many other
`different MA user interface configurations are possible and
`depend largely on the design objectives of the MA developer.
`The user interface element 12 also includes an output
`10 element 24 where messages that are sent and/or received by
`the user are displayed. For example, the output element 24
`can be a text pane in which messages 26 are displayed. The
`messages 26 can each include address information 28 and a
`message body 30. The address information 28 can include a
`15 to/from field 32 and an address field 34. For example, the
`to/from field 32 can include first string (e.g., the string
`"T>") when the message 26 has been sent to the user
`associated with the address displayed in the address field
`34, and a second string (e.g., the string "F>") when the
`20 message 26 has been received from the user that is associated
`with the address displayed in the address field 34. A user
`of the MA user interface 10 can participate in communication
`sessions (e.g., instant message exchanges, online chats,
`etc.) with one or more other users using the MAuser
`25 interface 10 to address, enter, send, and display messages
`without having to open or switch between multiple windows.
`When used in connection with an instant messaging
`application, the MA user interface 10 enables the user to
`interact with a single instance of a user interface (e.g., a
`30 window having an address entry field) by which the user can
`exchange instant messages with multiple other users. At the
`same time, the instant messages sent to these other users
`will appear to the recipients in the same manner as if the
`
`8 -
`
`Page 9 of 55
`
`
`
`wo 01124036
`
`PCT /US00/25765
`
`sender was using a conventional user interface. Moreover,
`although the exchanges with multiple other correspondents
`(e.g., WILLIAM012 and JDOE1934 shown in FIG. 6) are displayed
`in the same text pane 24 on the user's computer, that fact is
`5 not apparent to the correspondents (unless the user otherwise
`makes that fact known to the correspondents). Rather,
`exchanges with different correspondents are isolated from one
`another (e.g., WILLIAM012 and JDOE1934 will be unable to
`detect that they are engaging in IM exchanges with the same
`10 user, potentially at the same time).
`A process 40 for participating in one or more
`communication sessions is shown in FIG. 7.
`In step 42, a MA
`user interface 10 is provided.
`In the example shown in FIG.
`7, the MAuser interface 10 is used to participate in two
`15 communication sessions 44 and 46 with first and second users,
`respectively.
`Communication session 44 includes checking, in step
`48, if a message is being addressed to the first user.
`If a
`message is being addressed to first user, then an address and
`20 message body for the message are received from the user via
`the MAuser interface 10 in steps 50 and 52, respectively.
`Then, in step 54, the message is sent to the first user via
`the MAuser interface 10.
`In step 56, the message is
`displayed in the MAuser interface 10. When a message is
`25 received from the first user (which is checked in step 58),
`the message is received in step 60 and displayed in the MA
`user interface 10 in step 62.
`Communication session 46 includes checking, in step
`64, if a message is being addressed to the second user.
`If a
`30 message is being addressed to the second user, then an
`address and message body for the message are received from
`the user via the MAuser interface 10 in steps 66 and 68,
`respectively. Then, in step 70, the message is sent to the
`
`9
`
`-
`
`Page 10 of 55
`
`
`
`WOOl/24036
`
`PCT /US00/25765
`
`5
`
`In step 72, the
`second user via the MAuser interface 10.
`message is displayed in the MAuser interface 10. When a
`message is received from the second user (which is checked in
`step 74), the message is received in step 76 and displayed in
`the MAuser interface 10 in step 78.
`A process 90 for addressing a message (e.g., a message
`that is entered via the MA user interface 10) is shown in
`FIG. 8.
`In step 92, a group of potential recipients of a
`message is maintained. For example in an instant message
`10 system, the group of potential recipients of an electronic
`message can comprise an address list 500, shown in FIG. 9,
`that includes entries 502 for each potential recipient of an
`instant message. Each entry 502 in the address list 500
`contains an address field 504 in which an address (e.g., a
`15 user or screen name) for a potential recipient is stored, an
`online status field 506 that contains an indication of the
`online status of the person associated with the address
`stored in the address field 504, and a time stamp field 508
`that contains the time when an instant message was sent to or
`20 received from the person associated with the address stored
`in the address field 504 during the current communication
`session, if any. The address list 500 can include an entry
`502 for each person that is included in the user's buddy
`list. Alternatively, or in addition, the address list 500
`25 can include an entry for each person to whom the user has
`sent a message during the current communication session
`and/or from whom the user has received a message during the
`current communication session.
`Referring again to FIG. 8, a subset of the group of
`30 potential recipients is maintained using predetermined
`criteria in step 94. For example, in the case of an instant
`message system, a subset 510 (shown in FIG. 9) of the address
`list 500 can include the entries 502 for persons who are
`
`10 -
`
`Page 11 of 55
`
`
`
`wo 01/24036
`
`PCT/US00/25765
`
`5
`
`currently online, which is determined by checking the online
`status fields 506 of the entries 502.
`In step 96, shown in
`FIG. 8, the subset is used to attempt to auto-complete a
`partially entered address.
`A process 400 for automatically completing a partial
`address that is entered in the input element 14 of a MA user
`interface 10 using a subset of potential message recipients
`(e.g. the subset 510) is shown in FIGS. 10-11.
`In step 404
`shown in FIG. 10, a partial address is received from the user
`10 when the user enters the partial address in the input element
`14 of the MA user interface 10 by pressing one or more keys
`on the keyboard.
`In step 406, the partial address is checked to see if
`it contains a signal indicating, for example, that the
`15 address of the last instant message sent by the user
`(referred to as the "last address") should be used as the
`address for the current message. One way in the partial
`address can signal that the last address should be used is to
`have the first character of the partial address be a dot
`2 0 character (i.e. , the period character or " . ") followed by a
`separation character (e.g., a space).
`If the partial address
`indicates that the last address should be used for the
`current message, then in step 408 the last address is used as
`the address of the current message (with or without replacing
`the partial address in the input element 14 with the last
`address). Then in step 410 shown in FIG. 11, the body of the
`new message is received and, in step 412, the new message is
`sent to the user indicated by the last address.
`In step 414,
`the entry 502 in the address list 500 for the user to whom
`the current message was sent is updated (i.e., the time stamp
`field 508 is updated with the time when the current message
`was sent) . Also, if an entry 502 in the address list 500
`does not exist for the user to whom the current message was
`
`25
`
`30
`
`- 11 -
`
`Page 12 of 55
`
`
`
`wo 01/24036
`
`PCT /US00/25765
`
`just sent, then an entry 502 for that user is added to the
`address list 500.
`If the partial address does not include a last address
`signal, then in step 416 shown in FIG. 10 the partial address
`5 can be checked to see if the address of the second-to-last
`message sent by the user (referred to as the nsecond-to-last
`addressn) should be used as the address of the current
`message. One way in which the partial address can signal
`that the second-to last address should be used as the address
`10 of the current message is by having the first two characters
`of the partial address be dot characters.
`If the partial
`address indicates that the second-to-last address should be
`used as the address of the current message, then in step 418
`the second-to last address is used as the address of the
`15 current message (with or without replacing the partial
`address in the input element 14 with the second-to last
`address). Then, in step 410 shown in FIG. 11 the body of the
`current message is received, in step 412 the current message
`is sent, and in step 414 the address list 500 is updated.
`If the partial address does not include a second-to-
`last signal, then in step 420 shown in FIG. 10 the partial
`address is checked to see if the subset 510 of the address
`list 500 should be searched for the most recent
`502
`corresponding to the partial address (referred to as a
`11 most-
`25 recent searchn) in step 422. One way in which the partial
`address can signal that a most-recent search should be
`performed is by having the first character of the partial
`address be a dot character that is not followed by another
`dot character or the separation character. For example, if a
`30 partial address of ''.an is entered, the subset 510 is
`searched to identify the entry 502 beginning with the letter
`nan that has the most recent time in its time stamp field
`508.
`In
`424, the address contained in the address field
`
`20
`
`- 12 -
`
`Page 13 of 55
`
`
`
`WOOl/24036
`
`PCTIUS00/25765
`
`10
`
`20
`
`504 of the entry 502 corresponding to the partial address
`having the most recent time stamp is then used as the address
`of the current message. Then, in step 410 shown in FIG. 11
`the body of the current message is received from the user, in
`5 step 412 the current message is sent, and in step 414 the
`address list 500 is updated.
`If the partial address does not indicate that the last
`address or the second-to-last address should be used and does
`not indicate that a most recent search should be performed,
`then in step 426 shown in FIG. 10 the partial address is
`checked to see if auto-completion of the address should be
`suspended for the current message. One way in which the
`partial address can signal that auto-completion should be
`suspended for the current message is by having the first
`15 character of the partial address be a semicolon or a colon.
`If the partial address indicates that auto-completion should
`not be performed for the current message, then the address of
`the current message is received from the user in its entirety
`(e.g., by having the user enter the rest of the address into
`the input element 14 of the MA user interface 10) in step
`428. Then, in step 410 shown in FIG. 11 the body of the
`current message 26 is received, in step 412 the current
`message is sent, and in step 414 the address list 500 is
`updated.
`It should be noted that the use of signals in general,
`and the particular signals shown in steps 406, 416, 420, and
`426 in particular, are optional implementation features.
`According to the preferences of the MA developer, no signals
`could be used or different and/or additional signals could be
`implemented.
`If the partial address does not indicate that auto
`completion should be skipped for the current message, then in
`step 432 shown in FIG. 10 the subset 510 of the address list
`
`25
`
`3 0
`
`13
`
`Page 14 of 55
`
`
`
`wo 01/24036
`
`PCT/US00/25765
`
`15
`
`500 is searched to see if there are any entries 502 that
`correspond to the partial address. For example, an entry 502
`in the address list 500 can correspond to the partial address
`if the address field 504 of the entry 502 begins with the
`5 character or characters contained in the partial address.
`If there are no entries in the subset 510 that match
`the partial entry (as checked in step 434), then auto(cid:173)
`completion is not performed for the current message and the
`address of the current message is received from the user in
`10 its entirety in step 436. Then, in step 410 shown in FIG. 11
`the body of the current message is received, in step 412 the
`current message is sent, and in step 414 the address list 500
`is updated (e.g., an entry 502 for the address of the current
`message is added to the address list 500 shown in FIG. 9).
`If there is only one entry 502 in the subset 510 that
`corresponds to the partial address (which is checked in step
`438), then in step 440 auto-completion is performed for the
`current message using the entry 502 that corresponds to the
`partial address. For example, the address contained in the
`20 address field 504 of the corresponding entry 502 can be
`automatically entered by the MA in the input element 14 of
`the MA user interface 10 so that the user need not enter the
`remaining portion of that address.
`If it turns out that the
`address contained in the address field 504 of the
`25 corresponding entry 502 is not the address to which the user
`intended to send the current message, the user can edit the
`address, for example, by using the "backspace" key on the
`keyboard. After auto-completion is performed using the
`corresponding entry 502, the body of the current message is
`30 received in step 410 shown in FIG. 11, the current message is
`sent in step 412, and the address list 500 is updated in step
`414.
`
`If there is more than one entry 502 in the subset 510
`
`14
`
`Page 15 of 55
`
`
`
`wo 01/24036
`
`PCT/US00/25765
`
`that correspond to the partial address, then the process 400
`loops back to step 404 to receive another partial address.
`Preferably when the process 400 loops back to step 404, the
`user can add to the partial address so as to reduce the
`5 number of entries 502 in the subset 510 that correspond to
`the partial address. For example, if a user's active subset
`510 of address entries 502 includes both 11 Barry 11 and
`11 Bartholomew 11 as potential auto-completion addresses, then
`the user would have to enter at least four characters (either
`10 "Barr 11 or 11 Bart") to uniquely identify a single entry 502 to
`be used for auto-completion.
`Alternatively, the auto-completion feature could use a
`set of predefined rules to make educated 11 guesses" about
`which addressee was intended when the entered partial address
`15 was non unique -- that, it matched two or more entries of a
`user's active subset 510 of the address list 500. Assume,
`for example, that the user in the above example corresponded
`with Barry more recently than the user corresponded with
`Bartholomew. The auto completion rule could be that, when
`20 non-unique partial addresses were entered, the address of the
`most recent correspondent would be used for auto-completion.
`In that case, when the user entered the first letter of the
`intended address,
`11 b 11
`the MAuser interface would auto(cid:173)
`complete the partial entry to 11 Barry 11 because Barry was
`25 corresponded with more recently than Bartholomew.
`If the
`user intended, however, to send the message to Bartholomew,
`the user could continue to enter characters until Bartholomew
`was uniquely identified. This same rule (use most recent
`correspondent that matches the partially entered address)
`30 could be expanded to the case were three or more potential
`auto completion addressees had addresses that began with the
`same characters.
`Another potentially useful rule for resolving non-
`
`,
`
`- 15
`
`Page 16 of 55
`
`
`
`WOOl/24036
`
`PCT!US00/25765
`
`10
`
`unique partially entered addresses involves giving priority
`(in terms of auto-completion selection) to addressees in the
`user's buddy list over addresses not in the user's buddy list
`(but with whom the user had corresponded during the current
`5 session). Alternatively, or in addition, the user could
`specify expressly a desired order of priority for auto(cid:173)
`completion of addresses starting with the same characters.
`In general, virtually any rule or set of rules could be
`ap