US 2011 0119593A1 (19) (12) Patent Application Publication (10) Pub. No.: US 2011/0119593 A1 Jacobson et al. (43) Pub. Date: May 19, 2011

(54) COLLECTING AND PRESENTING DATA (22) Filed: Nov. 11, 2010 INCLUDING LINKS FROM O O COMMUNICATIONS SENT TO OR FROMA Related U.S. Application Data USER (60) Provisional application No. 61/261,680, filed on Nov. 16, 2009. Publication Classification (75) Inventors: Joshua Robert Russell Jacobson, , CA (US); Gregory (51) Int. Cl. Garland Thatcher, San Francisco, G06F 3/0 (2006.01) CA (US); Brian Tadao (52) U.S. Cl...... 71.5/736 Kobashikawa, San Francisco, CA (57) ABSTRACT (US); Robin Andrew Radez, Fremont, CA (US); Frank J. Cort, Information is presented to a user of a user device by a method Dublin, CA (US) including: collecting data relating to communications sent to or from the user, including to or from a first person, each communication including a link of a plurality of links; gen (73) Assignee: XOBNI CORPORATION, San erating personal profiles from the collected data, the profiles Francisco, CA (US) comprising a first personal profile of the first person and including a first link of the plurality of links; and presenting the first personal profile to the user, comprising displaying the (21) Appl. No.: 12/944,650 first link in a user interface on the user device. 300

302 Collect historical communication data and personal data

304 Deposit collected data into a repository

306 Monitor user behavior

308 Present data from the repository in response to user behavior Patent Application Publication May 19, 2011 Sheet 1 of 10 US 2011/01 19593 A1

Patent Application Publication May 19, 2011 Sheet 2 of 10 US 2011/01 19593 A1

- 1301

Emails Received 138 100 140 50 12 SAM 12 6PM

(612) 555-1234 150 Schedule time with Jen

Rick Bisenius Val Byrne Roger Lodge 152 Brittany Rizzo Mark MOmahon Evan Carpenter Allan. Tate Neeta Boddapati Annie D'Souza Evan CR Conversations (2510) P S heading Out... 1 mail, 42 minutes ago is Softball Recap 6/17 154 13 mails, 45 minutes ago is did you hear about this? 14 mails, 3 hours ago S. string quartets 3 mails, 4 hours is dinner? 18 mails, 13 hours ago Files Exchanged (56) P Jesu.mp yesterday 156 MCP identityTheft Fly... 2 weeks ago Martini food.gif May 14 discount.gif May 14 158 funny-pictures-inappropriate. May 06 DepartmentofHealth11.doc Apr 24 Sturgeon001.jpg Apr 23 74inch3.jpg Apr 23 New State Record 2.jpg Apr 23 ole1.bmp Apr 23 ole2.bmp Apr 23

FIGURE 1B Patent Application Publication May 19, 2011 Sheet 3 of 10 US 2011/01 19593 A1

Conversation: dinner? 176 dinner? 18 , 8 people 182 emails (18) Detail --F Mark said: Okay, after all that, I'm the world's 166 biggest idiot and there's a basically Jerri said: And we can sit outsidel Yay! See you then, You said to Jerri (+3): 178 7:00 sounds about right. I'm looking forward to it. Hopefully the Weather...

Jerri Said: Greatl Thursday it is. Stacy and Joe can't make this one, but maybe they... 180 You said to Jerri (+5): Thursday would work for. And wh. Jerri said: Heythere all: You said to Jerri (+2): I think any night except Monday Shou.

Jerri said: Ohnol Sorry about the confusion. Next Sat. won't work for us because we'll b, .

Jen said: What night was it? Ohright, during Jen said: Oh ok, I've been there before. Sounds good. People in Conversation (8 p 184 Rick Bisenuis Jerri Clark Wagner Jen Ertel 186 Files Exchanged (O)

FIGURE 1C Patent Application Publication May 19, 2011 Sheet 4 of 10 US 2011/01 19593 A1

188 190 Sender: bob.burlesonGlenron.com 192 Reduest phone number... X 22 in, O out t

FIGURE 1D

Xobni5 year plan..doc

4 Actions File to: Office Tickets Grocery shopping Actions: Track UPS package 1ZY8593403922 View map of 1550 Bryant View map of 140 Geary 4 Conversation Thread Matt Brezina A. 194 I'll call our lawyers and ask them. Gabor Cselle After seeing this yesterday, ... 196 Matt Brezina Here's a place I've seen before... V

Start typing or drag your email into this box

D Stay in Touch FIGURE 1E Patent Application Publication May 19, 2011 Sheet 5 of 10 US 2011/01 19593 A1

puesdeW

???Sq?NAIÐABIL OZZ Patent Application Publication May 19, 2011 Sheet 6 of 10 US 2011/01 19593 A1

Z09) 909 809 Patent Application Publication May 19, 2011 Sheet 7 of 10 US 2011/01 19593 A1

401

Q Search "frank" People (4) 403 Frank Cort frankG)xobni.com Franklin Dement Frank Cort frankGlcog.com Messages (2522) M. Maxine Manafy €24:48 PM 405 Oct 2009 Distribution Dashboard All, See attached for October's. M Build at Xobni 3:18 PM XObni V1-8S Build 9069 ...back from frank M. Josh Jacobson 3:18 PM RE:RE: InsightEnterprises Pur. ...bni.Com, Frank Cort

Search - Backs 3 3. Frank Cort frankGDxobni.com M (650) 906-0076 G) QS) Vice President, Enginner. in hioinf Hit QS) 411

413 Q filter results A. GP https://www.xobni.com/... Xobni.com/plus Xobni.com/download https://www.xobni.com https://login.facebook.co. GP darktronicS.Com GP darktronics.com 415 getsatisfaction.comxobni/... getsatisfaction.com/me/n. getsatisfaction.comxobni/... getsatisfaction.com/peopl... getsatisfaction.ComXObni/... getsatisfaction.Comxobni/... getsatisfaction.comxobni/... GP issues.XObni.Com:8080/br. issues.XObni.Com:8080/br. issues.XObni.Com:8080/br. issues.XObni.com:8080/br. issues.XObni.Com:8080/br. v XXEO V? xobniP's FIGURE 5 Patent Application Publication May 19, 2011 Sheet 9 of 10 US 2011/01 19593 A1

Type a question for help v

search (q)

1116/2008.eles 12 KB w 1113/200... 8 KB 3. Frank COrt 19/2008 1. 7 KB

112/2006. 12 KB frankG)xobni.com 112/2006... 15 KB M(650) 906-0076 112/2006... 16 KB Vice President, Engineer...in

112/2006... 14 KB 112/2006... 10 KB 112/2006... 19 KB Dinf 112/2006... 11 KB 111/2006. 12 KB M

appexchange.com 12:47 PM A. salesforce.com/partnerportal Nov 14 na1.salesforce.com/servlet. Nov 14 http://sites.SeCure...force.C.. Nov 14 Joshua Jacobson saleforce.com/partnerportal Nov 14 josh GDXobni.com GP appexchange.Com NOV 14 Qxobnicom/get-salesforce Nov 13 www.salesforce.com/partnerportal xobni.com/enterprise Now 13 421 XObni.Com Now 13 TO ? Ryan Gerard Community.Xobni.COmixobni Nov 13 CC Frank Cort; eng; product XObni.Com. Support. NOW 13 Date 11/14/2009 4:55PM webmessenger.yahoo.com Nov 12 Subject Re: Congrats! Your AppExchange xobni.com/plus Now 11 Application has Passed Security https://www.xobnicom/ac. Nov 11 Review - Xobni Qxobnicom.download NOW 11 https://www.xobni.com Now 11 WheW. This is the best team I've https://login.facebook.Com... Now 09 ever Worked with. daktronics.Com Now 09 - JJ daktronicS.COm NOW 09 (from mobile) G. getsatisfaction.com/xobni?t. Nov 05 v

All folders are up to date. Connected to Exchange v

FIGURE 6 Patent Application Publication May 19, 2011 Sheet 10 of 10 US 2011/01 19593 A1

getsatisfaction.comxobni/... Now 05 getsatisfaction.com/me/n. Now 05 423 getsatisfaction.comxobni/ getsatisfaction.com/peoplopenLink getsatisfaction.comxobni? OpenEmail getsatisfaction.comxobni/CopyLink getsatisfaction.ComXObni/... Now 05

FIGURE 7 US 2011/01 19593 A1 May 19, 2011

COLLECTING AND PRESENTING DATA window. The method can further include displaying the one or INCLUDING LINKS FROM more items integrated with a body of the communication COMMUNICATIONS SENT TO OR FROMA using one or more display methods selected from the group USER comprising highlighting, underlining, adding hyper links, adding text, adding images, adding video, and adding attach RELATED APPLICATIONS mentS. 0008. The method can further include tracking mouse 0001. The present application claims priority to U.S. Pro movements, mouse locations, keyboard strokes, mouse visional Application Ser. No. 61/261,680, filed Nov. 16, 2009, clicks, or active windows in order to determine if the user has entitled METHOD AND SYSTEM FOR COLLECTING made an implicit request to view one or more items in the AND PRESENTING HISTORICAL COMMUNICATION repository. The method can further include sharing some or DATA.” by Jacobson et al., the entire contents of which appli all of the data in the repository among a network of partici cation is incorporated by reference as if fully set forth herein. pants. The method can further include sharing different 0002 The present application is related to U.S. patent amounts of data from the repository with each participant application Ser. No. 12/180,495, filed Jul. 25, 2008 and pub based on preference settings. The method can further include lished on Jan. 29, 2009 as U.S. Pat. App. Pub. No. 2009/ allowing a user to select one or more of the one or more 0031245, the disclosure of which is incorporated herein by presented items and automatically generating a communica reference. tion in response to the user selection. BACKGROUND 0009. In one embodiment, information is presented to a user of a user device by a method including: collecting data 0003 Electronic communications between persons for relating to communications sent to or from the user, including both business and personal use have increased substantially in to or from a first person, each communication including a link recent years. In addition to the number of communications of a plurality of links; generating personal profiles from the increasing, the number of available communication mediums collected data, the profiles comprising a first personal profile has also increased. In addition to e-mail communications and of the first person and including a first link of the plurality of telephone communications, additional forms of communica links; and presenting the first personal profile to the user, tion have become common in recent years, including instant comprising displaying the first link in a user interface on the messaging, social network messaging and commenting, mes user device. sage board posting, text messaging, and Voice Over Internet 0010. The disclosure includes methods and apparatuses Protocol communications. which perform these methods, including data processing sys 0004. These additional forms of communication have led tems which perform these methods, and computer readable to individuals exchanging communications with more people media containing instructions which when executed on data than ever before, which leads to an even higher increase in the processing systems cause the systems to perform these meth number of communications sent and received by an indi ods. vidual. 0011. Other features will be apparent from the accompa nying drawings and from the detailed description which fol SUMMARY OF THE DESCRIPTION lows. 0005. The present disclosure relates to collecting and pre senting data relating to communications sent to or from a user, BRIEF DESCRIPTION OF THE DRAWINGS the communications including one or more links displayed to 0012. The embodiments are illustrated by way of example the user. Some embodiments are Summarized in this section. and not limitation in the figures of the accompanying draw 0006. In a first aspect, a computer implemented method ings in which like references indicate similar elements. for presenting information related to historical communica 0013 FIG. 1A shows an example e-mail client with a tion and personal data can include collecting historical com person profile side bar. munication data and personal data relating to a portion of a 0014 FIG. 1B shows an example of a person profile. plurality of communications, a sender of one or more of the 0015 FIG. 1C shows an example of a conversation thread communications or one or more recipients of the communi profile. cations. The method can further include depositing the col lected data into a repository of historical communication data 0016 FIG. 1D shows a portion of an example person pro and personal data. The method can further include presenting file that can be used to request contact information. one or more items in the repository, in response to user behav 0017 FIG. 1E shows a portion of an example person pro ior selected from the group comprising opening a communi file that can be used to post shared notes. cation, viewing a communication, reading a communication, 0018 FIG. 2 is a block diagram of an example communi writing a communication, performing a search, selecting a cation delivery system. person's name, selecting a communication Summary, and 0019 FIG. 3 is a flow diagram of an example process 300 selecting an attribute associated with the one or more items. for collecting and presenting historical communication and 0007. The method can further include querying one or personal data. more sources of information to derive the historical commu 0020 FIG. 4 shows an example of a user typing “frank” in nication data and the personal data. The method can further a search box. include requesting information from a sender of a communi 0021 FIG. 5 shows an example of a user selecting a profile cation or one or more recipients of the communication. The of “Frank Cort” from a “People' panel. method can further include displaying the one or more items 0022 FIG. 6 shows an example of the display of further in an additional portion of a user interface (e.g., in a panel) information about a link in a dynamic panel when a user within an e-mail client, web browser, or instant message causes a cursor to hover over the link. US 2011/01 19593 A1 May 19, 2011

0023 FIG. 7 shows an example of the display of a menu sender, recipient, body, attachment or topic of another com panel, when the user right clicks a link, to allow the user to munication medium such as an instant message, a phone call, select an operation. a text message, an internet message board, a social network message or comment, or a voice over IP communication. The DETAILED DESCRIPTION user can implicitly request information to be displayed in the 0024. The following description and drawings are illustra personal profile 108 by selecting an e-mail in the inbox view tive and are not to be construed as limiting. Numerous specific ing panel 104 or selecting text within a header or body of an details are described to provide a thorough understanding. e-mail in the e-mail viewing panel 106. In some implemen However, in certain instances, well known or conventional tations, the profile can include additional information (e.g., details are not described in order to avoid obscuring the derived information such as search results derived from a description. References to one or an embodiment in the topic mentioned in a communication). present disclosure are not necessarily references to the same 0029. In some implementations, the person profile 108 can embodiment; and, Such references mean at least one. display information about an entity other than a person. For 0025 FIG. 1A shows an example system 100 for display example, a communication may be received from an auto ing a personal profile containing information about commu mated system, Such as from a travel website, on-line retailer, nications to, from, and involving an individual. The system an advertising service, or a mailing list. The person profile 100 includes an e-mail client 102 which can include an inbox 108 can display information related to the sender of the com viewing panel 104 and an e-mail viewing panel 106. The munication. For example, if the communication received has e-mail client 102 can be a standard stand alone e-mail client been sent from a travel website, information related to the such as or Eudora. In an alternate imple travel website, or other communications from the travel web mentation the email client 102 can be a web based e-mail site can be displayed. In another example, if the communica client such as Yahoo! mail or Gmail that is viewed using a web tion received has been sent from a mailing list, information browser. The e-mail client 102 can allow a user to view a list related to the mailing list, or other communications received ofe-mails in the inbox viewing panel 104. The user can select from the mailing list can be displayed. As yet another an e-mail in the inbox viewing panel 104 causing the e-mail example, if the communication received has been sent from a client 102 to display the selected e-mail in the e-mail viewing business entity, information about the business entity (e.g., panel 106. address, telephone number, contact person name) can be 0026. In some implementations, instead of an e-mail cli included in the personal profile. ent, the system 100 can include an instant messaging client, a Social network client, a text message client, or another com 0030. For example, the user can select an e-mail 110 in the munication viewing client. It is to be understood that while inbox viewing panel 104 causing the personal profile 108 to portions of this description describe systems and methods display information related to a sender 112 of the e-mail 110. involving e-mail communications, these same systems and In another example, the user can select an e-mail address 114 methods can be implemented using other forms of commu or name of a recipient of the e-mail 110 in order to display nication, including instant messages, phone calls, text mes information related to the recipient in the personal profile sages, internet message board postings, social network mes 108. In another example, the user can select an attachment to sages or comments, or voice over IP communications. the e-mail 110 in order to display information related to the 0027. The e-mail client 102 also includes a personal pro attachment in the personal profile 108. In yet another file 108. In the example depicted, the personal profile 108 is example, the user can select the name of a person, a user name displayed as an additional panel within the e-mail client 102 of a person, or a particular topic listed in a header, a body, or positioned to the right of the inbox viewing panel 104 and the an attachment of the e-mail 110 in order to display informa e-mail viewing panel 106. This additional panel is sometimes tion related to the person or topic in the personal profile 108. referred to as a side bar. In some implementations, the per 0031. In some implementations, the system 100 can deter sonal profile 108 can be located at the top, bottom, left side, or mine if the user has made an implicit request to view infor any other location within the e-mail client 102. In still some mation in the personal profile 108 by tracking, for example, implementations, the personal profile 108 can be displayed in user input of the form of mouse movements, mouse locations, a stand alone window, in a pop-up bubble displayed over a keyboard strokes, mouse clicks, or active windows. Implicit portion of the e-mail client 102, or integrated as part of one of requests to view information in the person profile 108 can the other viewing panels displayed by the e-mail client 102. include opening, viewing, reading or writing an e-mail or For example, a pop up bubble containing a personal profile other communication medium. For example, if the user starts 108 can be displayed when an e-mail is selected in the inbox to compose an instant message, the personal profile 108 can viewing panel 104, when an e-mail address or portion of text display information related to the recipient of the instant in the e-mail viewing panel 106 is selected, or when a mouse message. In another example, if the user views a social net icon is moved over an e-mail address, name, icon, or portion work profile, either within the e-mail client 102 or in a sepa of text. In another example, information can be integrated as rate web browser, the personal profile 108 can display infor part of the body of an e-mail. Such as inserting a picture next mation related to a person associated with the Social network to a person's name in the body of an e-mail, or inserting a profile. person's name next to a phone number in an e-mail or attach 0032. In some implementations, the user can make a spe ment. cific request to view information in the personal profile 108 0028. The personal profile 108 can contain information by performing a search or clicking on a person's name. relating to a sender of an e-mail, a recipient of an e-mail, the 0033. In some implementations, the system 100 can be body of an e-mail, an attachment to an e-mail, or a person or linked to a phone (e.g., voice over IP phone) used by the user. topic mentioned in an e-mail. In alternate implementations, For example, the system 100 can include means for detecting the personal profile 108 can contain information related to a when the user makes or receives a phone call or text message US 2011/01 19593 A1 May 19, 2011

using the phone and display information related to a recipient social network profile URLs, telephone numbers, website or initiator of the phone call or text message in the personal URLs, or any combination of these. profile 108. 0039. In some implementations, details about a contact 0034. In the example depicted in FIG. 1A, the user has 128 can be displayed adjacent to the contact 128 in the contact selected the e-mail 110 in the inbox viewing panel 104 and network 122. These details can include time since last com header information and a portion of the body of the e-mail 110 munication, last form of communication, frequency of com is displayed in the e-mail viewing panel 106. The e-mail 110 munications, total numbers of communications, or other was received from the sender 112. The system 100 has deter related data. mined that the user has made an implicit request to view 0040. The contacts 128 listed in the contact network 122 information related to the sender 112 by selecting the e-mail are contacts that are associated with the sender 112. The 110. In response to this implicit request, the system 100 contacts 128 can include recipients of communications from displays in the person profile 108 information related to the the sender 112, recipients of communications of which the sender 112. sender 112 is also a recipient, individuals named in a body or 0035. In the example, the information displayed in the header of a communication with the sender 112, or individu person profile 108 includes an e-mail address 116, a phone als named in a document that is attached to a communication number 118, communication statistics 120, a contact network with the sender 112. For example, a person who was copied 122, a conversation list 124, and a files exchanged list 126. In on an e-mail between the user and the sender 112 can be listed Some implementations, the person profile 108 can display as a contact 128 in the contact network 122. In the example additional contact information Such as name, screen names, depicted the header of the e-mail 110 as shown in the e-mail social network profile names, social network profile URLs, viewing panel 106 lists all.houston(a)enron.com as a recipient physical addresses, website URLs, additional e-mail of the e-mail 110. The contact network 122 lists all. addresses, or additional telephone numbers. houston(a)enron.com as a contact 128 of the sender 112. In 0036. In the example, the communication statistics 120 another example, if the user receives an e-mail from the include the number of e-mails received from the sender 112 sender 112 with the subject line “Matt Smith's birthday and the number of e-mails sent to the sender 112. In some party'. Matt Smith can be listed as a contact 128 in the contact implementations, additional communication statistics 120 network 122 even if Matt Smith has never been included in or can be displayed, including times of communications, dates been the recipient of any communications between the user of communications, types of communications, Volume of and the sender 112. In another example, if the user posts a communications, length of communications, or speed of comment to a social network profile page belonging to the responses. For example, a statistic for the average amount of sender 112 and a person named Eric Johnson has also posted time it takes the sender 112 to respond to e-mails sent by the a comment to the Social network profile page, or is listed as a user can be displayed. In another example, the times of day friend of the sender 112 on the social network profile page, that the sender 112 is most likely to respond to an e-mail or Eric Johnson can be listed as a contact 128 in the contact other form of communication can be displayed as a commu network 122. nication statistic 120. In another example, a statistic can be 0041. In some implementations, the contacts 128 listed in displayed that lists the percentage of communications the contact network 122 can be collected from sources other between the user and the sender 112 that occur using a tele than communications between the user and the sender 112. In phone, the percentage of communications that occur using one implementation, the sender 112 can provide a list of instant messaging, the percentage of communications that contacts to the user to include in the contact network 122 for occur using e-mails, or the percentage of communications the sender 112. The sender 112 can provide the list of contacts that occur using a social network website as a percentage of to the user through sharing the list of contacts on a shared all communications between the user and the sender 112. In network, or by sending a communication to the user with, for another example, the number of communications sent or example, the list of contacts in a body of the communication received on which the sender 112 has been copied can be or in an attachment to the communication. displayed as a communication statistic 120. In another 0042. In some implementations, the system 100 can col example, the number of communications received by the user lect data from outside sources in order to determine contacts on which the sender 112 has also been listed as a recipient can 128 to be listed in the contact network 122. The system 100 be displayed as a communication statistic 120. can query various sources to extract information on contacts 0037. In some implementations, the communication sta that can be associated with the sender 112 and listed in the tistics 120 that are displayed can be chosen by the user. The contact network 122. Sources of information that can be user can choose to have a default set of communication sta queried to derive contacts associated with the sender 112 can tistics displayed, or the user can select which individual com include web search engines, people search engines, social munication statistics 120 are to be displayed. The user can networks, personal web pages, telephone directories, Scanned choose to have the same set of communication statistics 120 business card data or company website profiles. displayed for each person profile 108 or the user can choose to 0043. For example, the system 100 can perform a search of have a different set of communication statistics 120 displayed a social network based on the sender 112's name, e-mail depending on which person or topic the currently displayed address, Screen names or other information about the sender person profile 108 is associated with. 112. The system can then identify a profile page on the Social 0038. The contact network 122 displayed in the person network belonging to the sender 112. Any contacts that are profile 108 shows a list of contacts 128 that are associated publicly listed on the social network profile page can be listed with the sender 112. In the example depicted, the contacts 128 in the contact network 122 of the sender 112 even if the user are shown as e-mail addresses. In some implementations, the has never communicated with the sender 112 using the Social contacts 128 can be listed as names, screen names, nick network or viewed the profile page of the sender 112 on this names, employee numbers, social network profile names, Social network. In some implementations, the system 100 can US 2011/01 19593 A1 May 19, 2011

access and extract contacts listed on a private Social network 0048. In another example, contacts who are associated profile page belonging to the sender 112 if the user has proper with more recent communications between the user and the access information or authorization to view the private social sender 112 can be ranked higher than contacts associated with network profile page of the sender 112. older communications between the user and the sender 112. 0044. In another example, the system 100 can use a search In another example, contacts that have been determined to be engine to perform a search based on the sender 112's name, associated with the sender 112 based on e-mail communica e-mail address, screen names or other information about the tion can be ranked higher than contacts that have been deter sender 112 in order to identify web pages that may contain mined to be associated with the sender 112 based on web contacts that can be associated with the sender 112. For searches. example, the system 100 can use a search engine to perform 0049. In some implementations, each contact 128 listed in a search based on the sender 112's name. If one of the search the contact network 122 can be a link to more information results returned is for a blog written by a person named Mark about the contact 128. For example, if a contact 128 is clicked Adams that mentions the sender 112, then Mark Adams can on, selected, or interacted with by the user, a person profile be listed as a contact 128 in the contact network 122. In containing information about the selected contact 128 can be another example, the system 100 can determine that the displayed. In another example, the user can cause a mouse sender 112 works for the same company as a person who has cursor (or other selection tool) to hover over a contact 128. sent a different communication to the user. This person can This can cause a pop-up bubble containing additional infor then be listed as a contact 128 of the sender 112. In some mation about the contact 128 to be displayed. implementations, the system 100 can collect data using a peer 0050. The conversation list 124 can display a list of recent to peer network. communications between the user and the sender 112 or 0.045 Information that can be used to collect information involving the user and the sender 112. The communications about contacts 128 or other information displayed in the displayed on the conversation list 124 can be a list of past personal profile 108 can include e-mail addresses, names, e-mails, text messages, instant messages, telephone calls, screen names, social network profile names, phone numbers, Social network communications, message board posts or personal website URLs, social network profile URLs, or voice over IP communications involving the sender 112. In physical addresses. Some implementations, the conversation list 124 can be a list 0046. The contacts 128 displayed in the contact network of recent conversation threads involving the sender 112. A 122 can be listed in order based on a ranking system. Criteria conversation thread is a series of communications that can be used to rank the contacts 128 can include total volume of grouped together. For example, a series of e-mails having the communication, Volume of communication over a period of same or similar subjects can be grouped together as a conver time, length of communications, importance level of commu sation thread. In another example, a group of instant messages nications, types of communications, contents of communica between the sender 112 and the user that occurred over a tions, time of communications; methods by which the con specific period of time can be grouped together as a conver tacts 128 were determined to be associated with the sender sation thread. For example, if the user sent and received a 112, or any combination of these. For example, the contacts series of instant messages from the sender 112 over a three 128 can be ranked based on the total number of communica hour period earlier in the day, and that conversation was tions between the user and the sender 112 for which a contact separated from another series of instant messages between is also a recipient of the communication. In another example, the user and the sender 112 by a period of 2 hours, the instant the contacts 128 can be ranked based on the number of com messages that were sent and received during that three hour munications between the user and the sender 112 for which a period can be grouped together as a conversation thread. In contact is also a recipient of the communication over the another example, a series of telephone calls between the user course of the last three weeks. In another example, the con and the sender 112 that occurred during a set time period can tacts 128 can be ranked based on the number of communica be grouped together as a conversation thread. tions between the user and a contact for which the sender 112 0051. The communications or conversation threads dis is also a recipient of the communication. played in the conversation list 124 can be listed in order based 0047. In another example, the contacts 128 can be ranked on a ranking system. In one implementation, conversation based on the length of communications between the user and threads can be listed in order of most recent communications the sender 112 for which a contact is also a recipient of the to oldest communications. In some implementations, conver communication with longer communications being ranked sation threads can be listed in order of oldest to most recent. higher than shorter communications. In another example, In some implementations, conversation threads can be listed contacts that are listed on communications flagged as urgent in order of importance with conversation threads containing or important can be ranked higher than other contacts. In communications marked as urgent being ranked higher than another example, the user can choose to have contacts who conversation threads with fewer communications marked mainly communicate with the user or sender 112 using e-mail urgent or no communications marked urgent. In some imple ranked higher than contacts who mainly communicate with mentations, the system 100 can determine which conversa the user or sender 112 using instant message or Social net tion threads are work related and which conversation threads works. In another example, the system 100 can use the con are social. The conversation threads that are work related can tents of communications involving each contact 128 and the then be ranked higher than the conversation threads that are sender 112 to determine if communications involving the Social. In some implementations, conversation threads can be contact 128 and the sender 112 are primarily business related ranked based on the number of communications in the con or social related communications. The system 100 can then versation thread. give a higher ranking to contacts associated with business 0.052 Communications that are listed in the conversation communications than contacts associated with Social com list can include communications initiated by the sender 112, munications. communications for which the sender 112 is a recipient, US 2011/01 19593 A1 May 19, 2011

communications on which the sender 112 has been copied, or 0057. In some implementations, files can be ranked in communications in which the sender 112 is mentioned. order of most recently modified to least recently modified. In 0053. In the example depicted in FIG. 1A, the conversa Some implementations, files can be ranked based on creation tion list 124 displays a list of recent conversation threads date of the files. In some implementations, files can be ranked involving the user and the sender 112. The conversation based on the authors of the files. In some implementations, threads displayed are for recent e-mail communications files can be ranked based on recent activity of communication involving the user and the sender 112. The e-mails in each threads associated with the files. For example, a first file that conversation thread are grouped by Subject. The conversation was sent as an attachment to a communication in a commu list 124 displays the subject for each conversation thread, the nication thread for which the most recent communication number of e-mails in each conversation thread, and the occurred today can be ranked higher than a second file that amount of time that has passed since the last communication was sent as an attachment to a communication in a commu for this conversation thread was sent or received. In some implementations, additional information can be displayed for nication thread for which the most recent communication each conversation thread, including: time and date of the last occurred three days ago, even if the first file was sent before communication in the conversation thread, time and date of the second file. the first communication in the conversation thread, other 0058. In some implementations, the files displayed in the contacts involved in the conversation thread, average length files exchanged list 126 can be grouped together. The files can of communications in the conversation thread, total number be grouped together based on the Subject of the communica of people involved in the conversation thread, level of impor tions to which the files were attached, file name, file title, date tance of the communications in the conversation thread, of the file, date of the communication, file type, or subject attachments shared in the conversation thread, calendar matter of the file. For example, if a document has undergone events related to the conversation thread, other forms of com several rounds of revisions, the different versions of the docu munication related to the conversation thread, relevant web ment can be grouped together so that the different versions of data, or average response time of communications in the the document can be easily compared to one another. In conversation thread. another example, a number of files about rain forests can be 0054. In some implementations, the conversation list 124 grouped together since they all contain related Subject matter. can display a Summary or the first few lines of the most recent 0059. In another example, all image files can be grouped communication for each conversation list. In some imple together so that they can be more easily viewed, or easily put mentations, the conversation list 124 can display a summary into a slide show. For example, a group of image files can be or the first few lines of the first communication for each displayed as a slide show and each slide can contain addi conversation list. In some implementations, the conversation tional information about the image being displayed. Such as list 124 can display a summary or the first few lines of the last who sent the image, recipients of the image, the date the communication initiated by the sender 112 for each conver image was sent or received, or other information drawn from sation list. one or more communications to which the image was 0055. The files exchanged list 126 displays a list of files attached. that were attached to communications involving the user and 0060. In some implementations, the person profile 108 can the sender 112. This can include communications initiated by include additional information about the selected e-mail 110. the user for which the sender 112 was a recipient, communi The system 100 can extract information from the e-mail 110 cations initiated by the sender 112 for which the user was a and use this information to gather and display data from recipient, or communications initiated by a third party for websites, search engines, or other sources of information. For which the sender 112 and the user were both recipients. The example, the e-mail 110 may contain information about travel files exchanged list 126 can also include files that were arrangements. The e-mail 110 can be an e-mail from an air exchanged between the user and the sender 112 without using line, travel agent, travel website or other source. If the e-mail a communication medium. For example, the files exchanged 110 contains information about a flight, Such as a flight num list 126 can include files that were transferred from the sender ber, an airline, a departure time, an arrival time, a departure 112's network drive to the user's computer or network drive. city, oran arrival city, the system 100 can use this information In another example, the files exchanged list 126 can include to query search engines or travel websites for information files that were transferred to the user's computer or network about the flight. This information can include expected depar drive from an external hard drive, flash drive, or floppy disk ture time, expected arrival time, expected delays, weather in belonging to or populated by the sender 112. the destination city, weather in the departure city, or any 0056. The files displayed in the files exchanged list 126 changes to the flight. This information can then be displayed can be listed in order based on a ranking system. In one as part of the person profile 108. This allows the user to see implementation, files can be listed in order of most recently when changes to travel arrangements have occurred, and eas received files to least recently received files. In some imple ily contact a travel company or airline in order to correct the mentations, files can belisted in orderofoldest to most recent. situation. In some implementations, files can be listed in order of impor 0061. In another example, the e-mail 110 can contain tance, with files that were attached to communications information about a purchase from an on-line retailer. The marked as urgent being ranked higher than files attached to e-mail 110 can contain shipping information, shipping status, communications that were not marked as urgent. In some or order information. If the e-mail 110 contains a shipping implementations, the system 100 can determine which files number for the shipment of a recently purchased item, the are work related and which files are personal. The files that are system 100 can query a search engine or shipping web site to work related can then be ranked higher than the files that are extract information about the current status and expected personal. In some implementations, files can be ranked based arrival of the item. This information can then be displayed as on the size of the files. part of the person profile 108. US 2011/01 19593 A1 May 19, 2011

0062. In another example, the e-mail 110 can contain can be used to identify the person 132 as a business contact, information about an item or service that the user is interested co-worker, friend, Social acquaintance, client, or contractor. in purchasing. The system 100 can query one or more search For example, all of the person profiles 130 for contacts from engines, websites, or on-line retailers to determine which a particular company can display a logo for that company. retailer or website has the best price or currently has the item This can help the user to quickly identify what relationship he in stock or the service available. This information can then be or she has with these particular contacts. displayed as part of the person profile 108. 0068. The image 138 can be added to the person profile 0063 FIG. 1 B shows a person profile 130 for a person 132 130 by the user, or it can be automatically extracted from a named “Jen Ertel. The person profile 130 for the person 132 communication with the person 132 or from a website or can be displayed in response to an action by a user that profile page belonging to or about the person 132. For indicates eitheran implicitor direct request to view the person example, if a social network screen name or URL for the profile 130 of the person 132. Actions by the user that can person 132 is known, an image from the person 132's Social cause the person profile 130 for the person 132 to be displayed network profile page can be extracted and used as the image can include viewing or selecting a communication sent by the 138. In another example, if instant message communications person 132, viewing or selecting a communication for which with the person 132 include an icon that identifies the person the person 132 is listed as a recipient, composing or initiating 132, this instant message icon can be extracted and used as the a communication with the person 132, selecting or clicking image 138. on a name, screen name, or e-mail address of the person 132, 0069. The person profile 130 can include communication or performing a search for information related to the person statistics 140 about communications involving the person 132. 132. These communication statistics 140 can include the sta 0064. The person profile 130 includes a search bar 134. tistics as previously described for FIG. 1A. In the example The search bar 134 can be used to request that information be shown in FIG. 1B, one of the communication statistics 140 displayed about a particular person, topic, conversation displayed is a graph 142 showing what times of day commu thread, communication, or file. For example, a search per nications are received from the person 132 and the relative formed using the search bar 134 and the search string “Allan volume received from the person 132 at each time of day. This Tate' can result in a person profile for a person named Allan can help the user to determine when or how quickly the Tate being displayed. In another example, a search using the person 132 will respond to a new communication from the search String “Sunday presentation.ppt can result in informa user. For example, if the user lives in the United States and the tion about a file named “Sunday presentation.ppt being dis person 132 lives in Germany, most of the communications played. In another example, a search using the search String received from the person 132 may occur between 5:00am and “2002 Sales Goals' can result in information to be displayed 10:00am of the user's local time. The graph 142 can easily regarding communications with the subject “2002 Sales display this information so that the user can determine when Goals”, containing the phrase “2002 Sales Goals”, or having to reasonably expect a response to a recent communication attachments that contain the phrase “2002 Sales Goals”. from the person 132. 0065. Search criteria that can be used to identify a person 0070. Other communication statistics 140 displayed in the profile can include names, screen names, social network pro person profile 130 in FIG. 1B include the total number of file names, Social network profile URLs, physical addresses, communications received from the person 132, the total num website URLs, e-mail addresses, e-mail subject lines, file ber of communications sent to the person 132, and a rank 144. names, or telephone numbers. For example, a search using the The rank 144 can be the rank of the person 132 compared to search string “allan.tate(a)example.com' can result in a per all other persons that the user communicates with. The rank son profile for a person named “Allan Tate' being displayed. 144 can be based, for example, on total communications In the example depicted in FIG. 1 B, a search for the phone exchanged, total number of attachments exchanged, total number “(612) 555-1243’ may have been performed in-order number of communications sent, total number of communi to display the person profile 130 for the person 132 named cations received, length of communications or importance of “Jen Ertel. communications. 0066. The person profile 130 can include a title bar 136. 0071 Communication statistics 140 can be displayed as The title bar 136 can display a name, a nickname, a screen graphs or charts as shown in FIG. 1 B, or as text. In some name, a primary e-mail address, or other identifying title for implementations, statistics can be displayed in the person the person 132 so that the user can easily identify who the profile 130 or in an additional panel or pop-up window as “fun information in the person profile 130 is related to. facts'. For example, when viewing a person profile for some 0067. The person profile 130 can also include an image one named “Matt Miller, the person profile can display a 138. The image 138 can be a picture of the person 132 to help message that reads “Matt's birthday is next week'. In another the user more easily identify who the information in the example, a pop-up bubble with the message “Your last com person profile 130 is related to or to help the user identify munication with Matt was 21 days ago” can be displayed. In whom he or she is communicating with. For example, if the another example, a panel can display a message reading “You user receives an instant message from a person with the send Matt 20 times as many messages as he sends you.” screen name “summergirl the user may not be able to 0072 Another example of a fun fact that can be displayed remember who this screen name belongs to. When the instant is “Matt is your 5th most e-mailed contact’. Another example message is received, the person profile 130 can display infor of a fun fact that can be displayed is “your most e-mailed mation about the person with the screen name "Summergirl' contact is Steve... Another example of a fun fact that can be including a picture of the person as the image 138. This can displayed is “the fastest responder to your communications is help the user to identify whom he or she is communicating Garrett.” The fun facts can include any combination of com with. The image 138 can also be an image, icon, or picture munication statistics, communication information, contact associated with the person 132. The image, icon, or picture information, or contact statistics. US 2011/01 19593 A1 May 19, 2011

0073. In some implementations, communication statistics attachment can be extracted and added to the list of contact 140 can be shared with other persons. For example, the user information 146 for the person profiles 130 of each person can choose to share communication statistics with the person listed on the attachment. 132. The person 132 will then be able to view communication 0078 Contact information 146 can be extracted from mul statistics 140 about his or her communications with the user. tiple sources, including multiple e-mail clients, multiple web In some implementations, the user can indicate that one or mail systems, multiple instant message clients, multiple tele more persons are trusted contacts. Communication statistics phone numbers, multiple Social networks, or multiple web 140 can be automatically shared with all persons indicated as pageS. trusted contacts. 0079. In some implementations, contact information 146 0.074. Other information, such as calendar information, can be collected using search engines, telephone directories, contact information, or contact network information can also or people search engines. Search criteria can include e-mail be shared with trusted contacts. addresses, names, screen names, social network profile 0075. The person profile 130 can include contact informa names, phone numbers, personal website URLs, social net tion 146. The contact information 146 displayed can include work profile URLs, facsimile numbers or physical addresses. e-mail addresses, telephone numbers, screen names, social For example, a search of a telephone directory or people network profile names, social network profile URLs, physical search engine for “Rex Banner can return a telephone num addresses, facsimile numbers, or website URLs. The contact ber for Rex Banner. This telephone number can then be added information 146 can be collected from a variety of sources to the list of contact information 146 for Rex Banner's person including communications between the person 132 and the profile 130. In another example, a people search or web user, communications between the user and other persons, search for the e-mail address “alewis(a)example.com' can e-mail body text, e-mail meta data, e-mail header informa return a URL for a social network profile for Adam Lewis. tion, e-mail attachments, web search engines, people search The name "Adam Lewis' can then be associated with the engines, social networks, e-mail clients, instant messages, e-mail address “alewis(a)example.com” in a person profile personal web pages, telephone directories, Scanned business 130. In addition, the social network profile URL and social card data, text messages, picture sharing websites, video shar networkscreen name for Adam Lewis can be added to the list ing websites, personal profile pages, telephone communica of contact information 146 for Adam Lewis's person profile tions, or customer relationship management systems. For 130. Furthermore, additional contact information, that is example, when the user receives an e-mail from a person, that listed on the social network profile for Adam Lewis, such as person's e-mail address can be added to the list of contact additional e-mail addresses, phone numbers, instant message information 146 for that person's person profile 130. In screen names, etc., can be extracted from the Social network another example, when the user makes a phone call to a profile and added to the list of contact information 146 for person, that person's telephone number can be added to the Adam Lewis's person profile 130. list of contact information 146 for that person's person profile 0080. In another example, a web search or person search 130. for a person can return a photo or video sharing website 0076. In some implementations, contact information 146 profile for the person. The URL or screen name for the per can be extracted from the body, Subject, or meta data of a son's photo or video sharing website profile can be added to communication between the user and the person 132. For the list of contact information 146 for the person's person example, if the user receives an e-mail from the person 132 profile 130. In addition, the photo or video sharing website with a signature block at the end that includes a telephone may contain additional contact information for the person number, facsimile number, and Screen name for the person that can be extracted and added to the list of contact informa 132, this contact information can be extracted from the e-mail tion 146 for the person's person profile 130. and added to the list of contact information 146 for the person I0081. In another example, contact information 146 for the 132's person profile 130. In another example, an e-mail from person 132 can include an e-mail address a person can include an address for the person in the body of jertel(a)examplecompanyltd.com'. A web search can be per the e-mail or in an attachment to the e-mail, this address can formed to identify the website associated with the e-mail be extracted from the email or attachment and added to the list extension “examplecompanyltd.com'. For example, this of contact information 146 for that person's person profile e-mail extension can be associated with a company called 130. In another example, the person 132 can leave a social “Example Company ltd.” The website for Example Company network post for the user telling the user the person 132's ltd. can then be searched for information about the person instant message screen name, this screen name can be added 132. The website may include a profile page for the person to the list of contact information 146 for the person 132's 132 that includes contact information that can be added to the person profile 130. list of contact information 146 for the person 132's person 0077. In some implementations, contact information 146 profile 130. In addition, the URL for the profile page can be for the person 132 can be extracted from a communication added to the list of contact information 146 for the person from a third party. For example, the user can receive an e-mail 132's person profile 130. from Bill that contains the text “Mary's cell phone number is I0082 In some implementations, the address for a person 608-555-5353”. This phone number can be extracted from can be used to refine the search results for that person by Bill's e-mail and added to the list of contact information 146 constricting the results to information about persons in a for Mary's person profile 130. In another example, the user specific geographic area. For example, if a search is being can receive an e-mail with an attachment that contains a list of performed for information on a person with a common name, telephone numbers, e-mail addresses, and office numbers for such as “Bill Johnson', and Bill Johnson's address is known, everyone in the user's office. The telephone number, e-mail the search results can be refined by restricting the results to address, and office number for each person listed on the information about person's named Bill Johnson in the city of US 2011/01 19593 A1 May 19, 2011

the known address. In some implementations, other informa phone, or other location detection device, the person 132 can tion about a person can be used to refine search results for that choose to share his or her location information. There are person. several services that allow a person to share location infor 0083. In some implementations, contact information can mation with other people. The person 132 can choose to share be extracted from a shared network drive or through a secure his or her location information with the user. The person connection. In some implementations, contact information profile 130 can then display the current location of the person can be automatically shared between systems. For example, 132. This location information can be displayed as an address, the person 132 can elect to share contact information with all map coordinates, or a graphic of a map with an icon to people in a trusted network, such as all people with e-mail indicate the person 132's present location. extensions from the same company. A computer belonging to I0089. Other information about the person 132 that can be the person 132 can then automatically send contact informa displayed on the person profile 130 can include birthday, tion to all trusted people. If the user is in the network of trusted gender, age, job title, employer, universities attended, family people, the person 132's contact information will automati information, or other biographical data. Information from cally be shared with a computer or system belonging to the Customer Relationship Management Systems (CRMs) about USC. or related to the person 132 can also be displayed in the person 0084. In some implementations, contact information for profile 130. Information about calendar items or scheduled the person 132 can be manually added or removed from the meetings related to the person 132 or related to a communi person profile 130 by the user. In some implementations, cation can also be displayed as part of the person profile 130. contact information for the person 132 can be manually added 0090. In some implementations, information from one or or removed from the person profile by the person 132 or by a more websites can be displayed as a chronological feed of third party. In some implementations, the user can choose information in the personprofile 130. This information can be which contact information for each person is displayed in that queried on the web via one or more search engines or from person's person profile. one or more specific websites through established associa 0085. In some implementations, when a mouse cursor or tions between the person 132 and the one or more websites. other selection tool is hovered over/indicates a piece of con For example, this information can be found by general tact information in the list of contact information 146, a searching, people searching, or querying websites where it pop-up bubble or other indicator can be displayed which has been established that the person 132 is generating content indicates the Source from which the piece of contact informa or is the subject of content on the website. Search terms for tion was received or extracted. For example, if a phone num these searches can include e-mail addresses, names, Screen ber has been extracted from an e-mail, a hover bubble can be names, social network profile names, phone numbers, per displayed which shows the e-mail or a portion of the e-mail sonal website URLs, social network profile URLs, or physi where the phone number was extracted with the extracted info cal addresses. Information that is extracted from communi highlighted or demarcated in Some way. cations with the person 132 can also be used as search criteria. I0086. In some implementations, the user can be allowed to 0091. The person profile 130 can include a schedule time validate contact information in the list of contact information link 148. The user can click on/interact with the schedule time 146. Validated contact information can be indicated as vali link 148 to send a communication to the person 132 to request dated, and un-validated contact information can be indicated a meeting or to send the user's schedule to the person 132. For as un-validated. For example, if a phone number for the example, clicking on the schedule time link 148 can cause an person 132 is extracted from an email, the user can look at the e-mail to be automatically composed that is addressed to the phone number to determine if it is indeed the correct phone person 132 that contains all of the times over the course of the number for the person 132. If the user believes that the phone next week that the user is available during business hours. number is correct, the user can choose to validate the phone This schedule information can be extracted from a calendar number. The phone number can then be displayed along with associated with an e-mail client, web mail account, Social an indication that it has been validated, such as with a check network account, instant messaging program, telephone, per mark icon, or text that reads “valid'. If the user is unsure if the Sonal digital assistant (PDA), or website belonging to the user phone number is correct, or has not taken the time to validate or associated with the user. In addition, schedule information the phone number, the phone number can be displayed with can be extracted from a calendar stored on a computer, net an indication that it has not been validated, such as with a work drive, or other data storage location belonging to or question mark icon, or the text “not validated. associated with the user. In one implementation, clicking on 0087. In some implementations, presence of the person the schedule time link 148 can cause a communication to be 132 can be indicated for some or all of the contact information sent to the person 132 requesting schedule information from on the list of contact information 146. For example, an indi the person 132. cator next to a person's instant message screen name can 0092. The person profile 130 can also include one or more indicated if the person is currently logged onto the related initiate communication links 150. In the example shown in instant message network. In another example, an indicator FIG. 1B, the initiate communication link 150 displayed will next to a person's Social network Screen name or URL can cause an e-mail addressed to the person 132 to be automati indicate if the person is currently logged onto the related cally generated when it is clicked on. Other forms of commu Social network or if the person has made a recent update to his nication that can be initiated using an initiate communication or her social network profile. In another example, an indicator link 150 include telephone calls, instant messages, text mes next to a person's e-mail address can indicate if the person has sages, social network messages, Social network posts, mes put up an away message or out of the office message. sage board posts, facsimiles, or Voice over IP communica 0088. In some implementations, the person profile 130 can tions. For example, the person profile 130 can include a “call display information about the person 132's current location. Jen' link that can cause the user's cell phone to dial Jen's If the person 132 is in possession of a GPS unit, GPS enabled phone number when clicked on. In another example, the US 2011/01 19593 A1 May 19, 2011 person profile 130 can include an “instant message' link that be displayed. For example, selecting an e-mail from the con when clicked on, can cause an instant message program to versation list 154 can cause the e-mail to be displayed. automatically open and generate an instant message 0098. In some implementations, selecting a conversation addressed to a screen name of the person 132. thread can cause the most recent communication to be 0093. The person profile 130 can include a contact net received or the most recent communication to be sent in that work 152. The contact network 152 can include a list of conversation thread to be displayed. In some implementa contacts associated with the person 132. The contact network tions, selecting a conversation thread in the conversation list 152 can be populated using the methods previously described 154 can cause the first communication in that conversation in the description of FIG. 1A. The person profile 130 can also thread to be displayed. In some implementations, selecting a display the total number of contacts associated with the per conversation thread from the conversation list 154 can cause son 132 in the contact network 152. In the example shown in a communication addressed to all of the participants of the FIG. 1B, the contact network 152 displayed in the person conversation thread to be generated. For example, selecting profile 130 indicates that there are 50 contacts in Jen's contact an e-mail conversation thread can cause an e-mail to be auto network 152. matically generated that is addressed to all of the e-mail 0094 Clicking on, selecting, or interacting with one or addresses involved with the selected conversation thread. In more contacts from the contact network 152 can cause one or Some implementations, communications or conversation more actions to occur. In one implementation, selecting a threads can be manually added or removed from the conver contact from the contact network 152 can cause a person sations list 154 by the user. profile for that contact to be displayed. In some implementa 0099. The person profile 130 can include a files exchanged tions, selecting one or more contacts from the contact net list 156. The files exchanged list 156 can contain a list of files work 152 can cause a communication directed to the selected exchanged between the user and the person 132 as previously contacts to be initiated. For example, selecting three contacts described in the description of FIG. 1A. For each file listed in from the contact network 152 can cause an e-mail addressed the files exchanged list 156, the person profile 130 can display to the three contacts to be generated. In another example, a file name, a file title, an icon, the time or date when the file clicking on three contacts from the contact network 152 can was received, the amount of time that has elapsed since the cause the user's telephone to initiate a conference call with the file was received, the subject of the communication to which selected contacts. In some implementations, selecting one or the file was attached, or other information about the file. Icons more contacts from the contact list can cause a communica displayed next to a file name or file title can indicate what type tion directed to the selected contacts and the person 132 to be of document the file is. In the example depicted, a file 158 generated. with the file name “sturgeon 001.jpg is displayed. An icon 0095. In some implementations, selecting a contact from next to the file name for the file 158 indicates that the file 158 the contact network 152 can cause the most recent commu is a picture file. A date next to the file name indicates that the nication or conversation thread between the user and the file 158 was received on April 23. selected contact to be displayed. In some implementations, 0100 Clicking on or selecting a file in the files exchanged selecting a contact from the contact network 152 can cause list 156 can cause the file to open. In some implementations, the most recent communication or conversation thread selecting a file can cause the communication to which the file involving the contact, the person 132, and the user to be was attached to be displayed. In some implementations, displayed. In some implementations, moving a mouse cursor selecting a file can cause a list of files with the same file name over a contact in the contact network 152 can cause informa to be displayed. This allows the different versions of a docu tion about the contact to be displayed. For example, moving a ment that has undergone several rounds of revisions to be cursor over a contact can cause a small pop-up bubble to reviewed and compared to each other. This list of files can appear that displays the contact's phone number, e-mail include a time and date stamp for each version of the file so address, or other contact information. In some implementa that the most recent revision can be easily identified. In some tions, contacts can be manually added or removed from the implementations, selecting a file can cause a Summary of the contact network 152 by the user. file to be generated and displayed. For example, hovering a 0096. The person profile 130 can include a conversation cursor over a file in the files exchanged list 156 can cause an list 154 that includes a list of recent communications or con information bubble containing the title and first few lines of versation threads involving the user and the person 132 as the file to be displayed. In some implementations, files can be previously described in the description of FIG. 1A. The con copied from the files exchanged list 156 to other locations. In versation list 154 can display the total number of communi Some implementations, files can be manually added or cations or conversation threads involving the user and the removed from the files exchanged list by the user. person 132. In the example shown in FIG. 1B, the conversa 0101 The person profile 130 can include one or more tion list 154 indicates that 2510 conversation threads have menu buttons 160. The menu buttons can be used to change occurred that involved the user and the person 132. personal settings or preferences, change viewing preferences, 0097 Clicking on or selecting a conversation thread or or access menus or help information. The person profile 130 communication in the conversation list 154 can cause a more can also include a minimize button 162 that can cause the detailed Summary of the conversation thread or communica person profile 130 to minimize or close. When the minimize tion to be displayed. For example, selecting a conversation button 162 is clicked or selected, a minimized version of the thread can cause a Summary of one or more communications person profile 130 that takes up less space in a viewing win in the conversation thread to be displayed. In another dow can be displayed. The minimized version of the person example, selecting a communication in the conversation list profile 130 can include a summary of some or all of the 154 can cause a Summary of the communication to be dis information displayed by the person profile 130. played. In some implementations, selecting a communication 0102 FIG. 1C shows a viewing panel 164. The viewing in the conversation list 154 can cause the communication to panel 164 can display a person profile Such as the person US 2011/01 19593 A1 May 19, 2011

profile 130 of FIG. 1B. The viewing panel 164 can also or subject line of the conversation thread, the number of display information about communications, communication communications involved in the conversation thread, the attachments, files, or conversation threads. In the example types of communications involved in the conversation thread, shown in FIG.1C the viewing panel 164 displays information or the number of people involved in the conversation thread. about a conversation thread 166. The information about the In the example shown, the title bar 176 indicates that a con conversation thread 166 can be displayed in response to a user versation is being viewed, that the subject line of the commu clicking on a conversation thread 166 in a conversation list, nications in the conversation thread 166 is "dinner?', that such as the conversation list 154 from FIG. 1 B. The conver there are 8 people involved in conversation thread 166, that 18 sation thread 166 can also be displayed in response to the user communications are included in the conversation thread 166, Viewing, reading, selecting, opening, or Writing a communi and that all 18 communications are e-mails. cation that is part of the currently displayed conversation 0106 The viewing panel 164 can include a summary of thread 166. In some implementations, the conversation thread some or all of the communications 178 that make up the 166 can be displayed in response to a search performed by the conversation thread 166. Information displayed as part of the user. For example, the user can use a search bar 168 to search summary for each communication 178 can include the sender for a conversation thread 166 based on the subject of the of the communication 178, the recipients of the communica conversation thread 166, participants in the conversation tion 178, the time or day that the communication 178 was sent thread 166, files attached to communications in the conver or received, attachments to the communication 178, the first sation thread 166, or key words or terms in the communica few lines or sentences of the communication 178, the impor tions of the conversation thread 166. tance of the communication 178, or the number of recipients 0103) The viewing panel 164 can include one or more of the communication 178. For example, an e-mail Summary navigation buttons 170. The navigation buttons 170 can 180 indicates that the user sent an e-mail in response to an include a profile view navigation button 172. The profile view e-mail from Jerri 1 week ago and that 5 additional recipients navigation button 172 can be used to return the viewing panel were also listed on the e-mail. The e-mail summary 180 also 164 to a profile view so that the viewing panel 164 displays displays the first lines of the e-mail sent to Jerri. information about the sender or recipient of a currently 0107. In some implementations, clicking on or selecting a selected communication, or another person as indicated by communication Summary in the conversation thread 166 can the user. The navigation buttons 170 can also include a back cause the related communication to be displayed. For button 174. The back button 174 can be used to display a example, clicking on the e-mail Summary 180 can cause the person profile, conversation thread, or other information that e-mail sent from the user to Jerri to be displayed. In another was previously displayed in the viewing panel 164. For example, selecting a communication Summary in the conver example, if the user was previously viewing a person profile sation thread 166 can cause a person profile for the sender or for a person named Mark Wagner, clicking on the backbutton one or more recipients of the related communication to be 174 can cause the viewing panel 164 to display the person displayed. In another example, selecting a communication profile for Mark Wagner. In another example, if the user was Summary in the conversation thread 166 can cause one or previously viewing information about an e-mail attachment, more attachments or a list of attachments to the related com clicking on the backbutton 174 can cause the viewing panel munication to be displayed. In some implementations, select 164 to display the previously viewed e-mail attachment infor ing a communication Summary in the conversation thread 166 mation. can cause a communication addressed to the sender or one or 0104. The navigation buttons 170 can also display a navi more recipients of the related communication to be automati gation history that has lead to the current information being cally generated. In some implementations, selecting a com displayed in the viewing panel 164. In the example shown in munication Summary in the conversation thread 166 can FIG. 1C, the navigation buttons 170 indicate that the user first cause a more detailed Summary for the related communica viewed a person profile for Jen Ertel. The user then viewed a tion to be displayed. person profile for Jerri Clark Wagner. The user may have 0108. The viewing panel 164 can include a detail adjust opened the person profile for Jerri Clark Wagner by clicking ment control 182. the detail adjustment control 182 can be on the name Jerri Clark Wagner in a contact network or list of used to modify the amount of detail that is displayed in each contacts on Jen Ertel’s person profile, or by performing a communication Summary in the conversation list 166. In one search for Jerri Clark Wagner, or other information associated implementation, adjusting the detail adjustment control 182 with Jerri Clark Wagner. The navigation buttons 170 indicate can increase or decrease the number of words or lines of a that the user then viewed a person profile for Mark Wagner. body of a communication that are displayed in each commu The user may have caused the current conversation thread 166 nication Summary. In some implementations, adjusting the to be displayed by clicking on a conversation thread in a detail adjustment control 182 can increase or decrease the conversation list similar to the conversation list 124 from FIG. amount of information that is displayed for each communi 1A. In some implementations, clicking on or selecting any of cation Summary. For example, the detail adjustment control the buttons in the navigation history can cause the viewing can be changed to display an e-mail address and phone num panel 164 to display the person profile, conversation thread, ber for each sender or recipient of each communication 178 in communication, communication attachment, or other infor the corresponding communication Summary. In another mation associated with the selected navigation button 170. example, the detail adjustment control 182 can be used to 0105. The viewing panel 164 can include a title bar 176. control what information is used to identify senders or recipi The title bar 176 can include the type of information being ents of communications 178 in each communication Sum displayed in the viewing panel, the Subject, and other key mary. Information used to identify senders or recipients can information. When the information being displayed in the include names, nicknames, screen names, e-mail addresses, viewing panel 164 is a conversation thread 166, the title bar telephone numbers, Social network profile names, or com 176 can indicate that a conversation is being viewed, the title pany names. US 2011/01 19593 A1 May 19, 2011

0109. In some implementations in which some or all of the erated communication, the requested contact information can communications that make up a conversation thread 166 are be extracted from the response and displayed as part of the telephone calls or Voice over IP communications, audio person profile. The extracted contact information can also be recordings of some or all of the telephone calls or voice over used in future communications with the person. For example, IP communications can be displayed in the conversation if the instant message screen name of the person is known, but thread 166. Clicking on or selecting a telephone call or voice the e-mail address for the person in unknown, clicking on the over IP communication in the conversation thread 166 can request contact information link 192 can automatically gen cause an audio recording of the communication to play. In erate an instant message addressed to the person's known Some implementations, automatically or manually created screen name with a request for the person’s e-mail address. transcripts of telephone calls or voice over IP communica When the person responds to the automatically generated tions that make up part or all of a conversation thread 166 can instant message with his or her e-mail address, the e-mail be displayed. In some implementations, a Summary of a tran address can be extracted from the instant message and dis Script of the audio communication can be displayed as part of played as part of the person profile. a communication Summary in the conversation thread 166. 0.115. In the example depicted in FIG. 1D, the e-mail Clicking on or selecting a communication Summary of a address 190 for the person is known, however a phone number telephone call or voice over IP communication for which a for the person is unknown. Clicking on the request contact transcript exists can cause the full transcript of the audio information link 192 can cause an e-mail addressed to the communication to be displayed, or an audio file of the audio e-mail address 190 to be automatically generated with the text communication to play. “Hello, I don’t have your phone number. Canyou please send 0110. The viewing panel 164 can include a conversation it to me.” If the person responds to the automatically gener participants list 184. The conversation participants list 184 ated e-mail with a phone number, the phone number can be can be a list of senders and recipients of the communications extracted from the e-mail and displayed as part of the person 178 that make up the conversation thread 166. Information profile. about each participant in the conversation thread 166 can be 0116. In some implementations where the person displayed, including name, contact information, number of responds with more than one additional piece of contact infor communications initiated in the displayed conversation mation, each additional piece of contact information can also thread 166, and other relevant information. The conversation be extracted and displayed as part of the person profile. For participants list 184 can also indicate the total number of example, if an e-mail requesting a phone number from the participants involved in the conversation thread 166. person is automatically generated and sent, the person may 0111. In some implementations, clicking on or selecting a send a response e-mail containing both a home phone number person listed in the conversation participants list 184 can and work phone number. Both phone numbers can be cause a person profile for the selected person to be displayed. extracted from the response e-mail and displayed with the In some implementations, selecting a person from the con work phone number and home phone number respectively Versation participants list 184 can automatically generate a indicated. communication addressed to the selected person. In some 0117 FIG.1E shows a portion of a person profile 194. The implementations, selecting a person from the conversation person profile 194 includes a shared notes panel 196. The 0112 Participants list 184 can cause all communications shared notes panel 196 can be used by a user to share infor or Summaries of communications from the current conversa mation with other participants who have a relationship with tion thread 166 that were initiated by the selected person to be the user or are known contacts of the user. Shared notes can displayed. take the form of text, documents, video files, audio files, 0113. The viewing panel 164 can include a files exchanged images or hyperlinks The user can designate which persons or list 186. The files exchanged list 186 can display a list of files contacts are permitted to view shared notes. that have been exchanged in the current conversation thread 0118 Posting a shared note can involve typing text or a 166. For example, the files exchanged list 186 can list all of hyperlink in a box 198 in the shared notes panel 196. One or the files that have been attached to communications 178 in the more files can be added to the shared note by browsing for the conversation thread 166. Clicking on or selecting a file from files in a file directory and selecting the files to be attached to the files exchanged list 186 can cause the selected file to open. the shared note. In some implementations, one or more files In some implementations, selecting a file from the files can be added to the shared note by dragging the one or more exchanged list 186 can cause one or more communications to files into the box 198. The one or more files dragged into the which the file was attached to be displayed. In some imple box 198 can include files in a folder on a computer or com mentations, selecting a file from the files exchanged list 186 puter network, files that are attached to communications, files can cause one or more communication Summaries for com that are listed as part of a communication Summary, or files munications to which the file was attached to be displayed. that are listed in an exchanged files list. 0114 FIG. 1D shows a portion 188 of a person profile that 0119 Shared notes can be displayed as a part of a person can be included in a person profile Such as the person profile profile and can be displayed chronologically or grouped by 130 in FIG. 1B. The portion 188 displays an email address the type of shared note or other grouping criteria. For 190 for a person that has had communications with a user. The example, if a first person posts a shared note and a second portion 188 also includes a request contact information link person is on a list of contacts that are permitted to view shared 192. When clicked or selected, the request contact informa notes posted by the first person, a person profile for the first tion link 192 can cause a communication addressed to the person on a computer used by the second person can display person using a known piece of contact information to be the shared note from the first person as part of the person automatically generated. This automatically generated com profile. munication will request additional contact information from I0120 In some implementations, information shared in a the person. If the person responds to the automatically gen shared note can be used to refine web searches. For example, US 2011/01 19593 A1 May 19, 2011 a hyperlink can be sent as part of a shared note. This hyperlink computer 204 can perform a search using the search engine can be included in a list of search results for a subject related 208 with the e-mail extension as the search criteria. A result to the topic of the shared note. Shared notes can also be used returned by the search can be a company website. The com to profile a person or group of people and their interests by pany website can be searched to reveal a profile page 212 for analyzing common Sources of information and types of infor the first user on the company website. The profile page 212 mation commonly shared. This can be used to target adverting may contain additional information about the first user that or recommend Sources of information. can be used to create a person profile, such as additional 0121. In some implementations, the shared notes panel contact information or biographical information. 196 can be a panel, pop-up window, or pop-up bubble that is separate from the person profile 194. In some implementa I0126. In another example, the computer 204 can perform a tions, the shard notes panel 196 can be part of a conversation search using a person search directory 214 with the first user's thread display. In some implementations, the shared notes name or other contact information as the search criteria. The panel 196 can be part of a viewing panel Such as the viewing person search directory 214 can return search results with panel 164 of FIG. 1C.. In some implementations, files that are additional contact information and other information that can shared using a shared notes system such as the one described be used to create a person profile for the first user. can be stored and retrieved upon request, by for example, I0127. In another example, the computer 204 can receive an visiting the file location in a web browser, or when a user of e-mail sent by the first user from the computer 202. The the system views a person profile of a contact who shared the e-mail can contain a social network profile name for the first file. user. The computer 204 can extract this social network profile 0122 FIG. 2 shows an example communication delivery name from the e-mail and use it to access a social network system 200. In the system 200, a first device (e.g., computer webpage 216. The social network webpage 216 can contain 202) belonging to a first user can transmit a communication to additional contact information and other information that can a second device (e.g., computer 204) belonging to a second be extracted and used to create a person profile for the first user over a computer network 206. The computer network user. The Social network webpage 216 can also contain addi 206 can be the Internet, an intranet, a LAN system or a tional contacts that can be associated with the first user in a company's internal computer network. In some implementa person profile. For example, persons on the friends list of the tions, the computer 202 and the computer 204 can be desktop Social network webpage 216, or persons who have posted computers, laptop computers, cellphones, web enabled tele comments or messages on the Social network webpage 216 visions, or personal digital assistants. The communication can be listed as contacts in a contact network for the first user. transmitted from the computer 202 to the computer 204 can I0128. In another example, a search performed using the be an e-mail, phone call, instant message, text message, social search engine 208 can return a URL or link for a photo or network message or comment, message board post, or Voice video sharing website 218 on which the first user has a profile. over IP communication. Additional contact information or biographical information 0123. The computer 204 can extract data from the com that can be extracted and used to create a person profile for the munication about the first user. This data can be used to make first user. For example, a profile belonging to the first user on a person profile similar to the person profile 130 shown in a video sharing website may include an instant message FIG. 1 B. Data extracted from other communications with the screen name for the first user. This screen name can be first user can also be used to create a person profile for the first extracted and displayed as part of a person profile for the first user. Data that is extracted from communications with the USC. first user can be used to query websites, search engines, 0129. Information extracted from communications person search directories and other sources of information for between the first user and second user can also be used to additional information about the first user that can be used to update profile information on a social network webpage or create a person profile. Information from communications other webpage. For example, the computer 204 can detect that that can be used as search criteria include names, Screen the second user system has primarily used e-mail address names, Social network profile names, social network profile 'david(afoo.com” in recent communications, while the sec URLs, physical addresses, website URLs, e-mail addresses, ond user's profile on the social network webpage 216 shows or telephone numbers. Information that is collected as a result his email address as “david(abar.com'. The computer 204 of these queries can be used in future searches to identify can share the second user's new e-mail address with the Social additional information that can be used to create a person network webpage 216 and the Social network can automati profile. cally update the second user's info or suggest he update it 0.124 For example, the computer 204 can receive an based on this changed behavior recorded by the computer e-mail sent by the first user from the computer 202. The 204. computer 204 can perform a search using a search engine 208 0.130 Information from travel websites and on-line retail with the first user's e-mail address as the search criteria. The ers can also be extracted and displayed as part of a person search engine 208 can return a search result that includes the profile. For example, an e-mail containing information about first user's phone number. This phone number can be dis a flight itinerary can be received by the computer 204. The played as part of a person profile for the first user. The search computer 204 can extract a flight number or other information engine 208 can also return the URL for or link to a personal about a flight from the e-mail. The computer 204 can then website 210 belonging to the first user. The personal website query a travel website 220 using the flight number or other 210 may contain additional information about the first user flight information as search criteria. Information about the that can be used to create a person profile. Such as additional flight, such as expected departure time, expected arrival time, contact information or biographical information. expected delays, weather in the destination city, weather in 0.125. In another example, the e-mail address belonging to the departure city, or any changes to the flight can be dis the first user may include an extension for a company. The played as part of a person profile. US 2011/01 19593 A1 May 19, 2011

0131. In another example, an e-mail containing informa monitor or other display device of the system. The user's tion about an item or service that the second user is interested behavior can be monitored to determine if a user has opened, in purchasing can be received by the computer 204. The viewed, read, or composed a communication, such as an computer 204 can query one or more search engines, web e-mail. The user's behavior can also be monitored to deter sites, or on-line retailers 222 to determine which retailer or mine if the user has performed a search, clicked on a particu website has the best price or currently has the item in stock or lar item, or selected a particular item. the service available. This information can then be displayed 0.139 Stage 308 presents data from the repository in as part of the person profile. response to user behavior. For example, referring to FIG. 1A, 0132) Information from mapping web sites and location the person profile 108 can be displayed in response to a user tracking servers can also be extracted and displayed as part of selecting the e-mail 110 in the inbox viewing panel 104. In a person profile. For example, the first user can own a GPS another example, information about a person can be dis unit, cellphone, or other device that is capable of transmitting played in response to a user performing a search for the the first user's current physical location. A location tracking person's name. In another example, information about a file server 224 can receive this transmission and allow other users can be displayed in response to a user clicking on the file in an to access the first user's current location information. If the e-mail or other communication. In another example, infor second user has permission to view the location information mation about a topic can be displayed in response to a user for the first user, the computer 204 can access the location clicking on or selecting text within the body of a communi tracking server using the computer network 206 to receive cation. location information about the first user. This location infor mation can be displayed as part of a person profile. LinkS Exchanged 0133. The computer 204 can also access a maps and direc 0140. One embodiment provides a feature to present links tions website 226 to create a map of the first user's current exchanged between the user and one or more persons selected location, or to generate directions to the first user's current by the user or identified in a search. location. The map or directions can be displayed as part of a 0.141. In one embodiment, after a profile generator is person profile for the first user. The maps and directions installed, the profile generator indexes the data, based at least website 226 can also be used to generate a map or directions in part on the emails of the user, to generate personal profiles, to one or more known addresses for the first user, such as a as discussed above. Further, the profile generator looks for work address or home address. The map or directions can be URLs inside message bodies and message subjects and stores displayed as part of a person profile for the first user. the URLs as part of the profiles. 0134 FIG. 3 is a flow diagram of an example process 300 0142. In one embodiment, the profile generator builds a for collecting and presenting historical communication and database that identifies the URLs in the user's email, along personal data. The process 300 can, for example, be imple with the associated mail message for each URL. For a given mented in a system such as the system 100 of FIG. 1A. In email message, the profile generator also stores the date, time, another example, the process 300 can be implemented in a recipients of the message, and other information derived from system such as the communication delivery system 200 of the message. Thus, the message info can now be associated FIG 2. with the URLs. 0135 Stage 302 collects historical communication data 0143. In one embodiment, when the user selects an email and personal data. For example, communications such as from a person in an email program (e.g., Outlook), a profile e-mails, instant messages, phone calls, text messages, inter presenter can display that person's profile, in a manner dis net message board postings, social network messages or com cussed above. The profile presenter can further present an ments, or Voice over IP communications can be collected. ordered list of links that the user has exchanged with the Historical communication data and personal data can also be person (to and from). collected from web search engines, people search engines, 0144. In one embodiment, the links in the list are ordered Social networks, e-mail clients, personal web pages, tele by date. The user may filter the list of links via a text search, phone directories, scanned business card data, picture sharing and also see what message they came from. In one embodi websites, video sharing websites, personal profile pages, ment, the URLs in the list are de-duplicated. Thus, each travel websites, on-line retailers, or customer relationship unique link is shown in the list only once. In one embodiment, management Systems. from each link the user can click to view the containing 0136. The collected historical communication data and message, open the link, or copy the link, as illustrated in FIG. personal data can include contact information, biographical 7 (discussed below). information, communication text, communication Summa (0145. In one embodiment, when the user submits a search ries, physical location information, mapping information, to the profile presenter (e.g., searching a keyword), the profile attachments to communications, weather information, travel presenter first finds any messages (e.g., based on headers, information, and retail information. bodies, people) that are associated with that keyword (in a 0.137 Stage 304 deposits the collected data into a reposi way as discussed above). The profile presenter can then dis tory. For example, the collected data can be stored in a data play URLs that were included in the messages that are in the base on a user's computer. The collected data can also be search result. The user does not have to type text that matches stored on a network server, a web server, a removable storage the actual link, just text that would match for the message that device, or as part of an e-mail client or other communication contains that link. client. 0146 FIG. 4 shows an example where the user types in 0138 Stage 306 monitors user behavior. For example, a “frank' in the search box 401. In FIG. 4 the profile presenter system implementing the method 300 can track the mouse lists in the “People' panel 403 a set of persons that match the movements, keyboard strokes, or mouse clicks of a user of the keyword “frank', in the “Message’ panel 405 a set of email system, or active windows or mouse locations displayed on a messages that contain the keyword "frank, in the "Appoint US 2011/01 19593 A1 May 19, 2011

ment panel 407 a set of appointments that match the key 0.155. In one embodiment, a “potential phone number is word “frank', and in the “Tasks' panel 408 a set of scheduled checked against the patterns for IPv4 addresses. In some tasks that match the keyword “frank”. In FIG. 4, the profile embodiments, a “potential phone number is further checked presenterprovides in the “Links' panel a set of links found in against the patterns for IPv6 addresses. the messages, appointments and tasks presented in the corre 0156 Similarly, phone number candidates may be sponding panels 405, 407, and 408. checked against the possibility that the candidates actually 0147 FIG. 5 shows an example where the user selects the represent data and time combinations. This improves the profile of “Frank Cort” from the “People' panel 403. In FIG. accuracy of phone number recognition. For example, once the 5, when the tab 411 is selected, an ordered list of URLs is profile generator has found a potential phone number, the displayed. The user may enter keywords in the filter box. 413 profile generator checks the potential phone number againsta to filter the list of URLs displayed in panel 415. regular expression for a date and time combination to see 0148. In one embodiment, the URLs in the list are ordered whether it is an instant of date and time. In one embodiment, based on the date of the email that contains the URLs (links). to check for date time combinations, the profile generator In the cases of multiple emails containing the same link, the checks for the following pattern: 4 digits, followed by a dash date of the most recent email is correlated with the link; and or forward slash (/), followed by 1 or 2 digits, followed by a all other instances of the link are hidden. dash or slash, followed by one or more whitespace characters 0149. In one embodiment, when viewing a person's profile (tab, space, etc.), followed by 1 or 2 digits followed by a and filtering the list of links, the filtering is based on the words colon, followed by two digits, followed by a word boundary in the links themselves. or nothing. In some embodiments, the profile generator is 0150. In FIG. 5, when the user causes the cursor to hover configured to check whether the “potential phone number as over a link, further information about the link is displayed in found in a message is part of a string that represents a date and a dynamic panel 421, as illustrated in FIG. 6; when the user time combination to avoid presenting date and time as a right clicks a link, a menu panel 423 is displayed to allow the phone number. user to select an operation, such as open the link, open the 0157. In one embodiment, the profile generates is config email that contains the link, copy the link, as illustrated in ured to find the right owner of the phone number. For FIG. 7. example, the profile generator may check the words preced ing the potential phone number and/or following the potential PhoneNumber Recognition phone number to determine whether these words indicate that 0151. In one embodiment, the profile generator has an the candidate is notaphone number, or notaphone number of improved capability to recognize phone numbers in the mes a person identified in the message (e.g., sender or recipient). sages and correctly associate the phone numbers with people For example, the profile generator may check the words to the identified for the person profiles. left and right of a phone number and look for words like 0152. In one embodiment, the profile generator uses first his/her/they/them/conference/dial-in/dialin/ipf's to deter regular expressions to identify candidates for phone numbers mine that the phone number most likely does not belong to the and then use second regular expressions to determine whether person who sent the email. This helps eliminate the problem these candidates are actually data other than phone numbers. of matching up contact persons with the wrong number. 0153. For example, the profile generator may use a regular 0158. In one embodiment, the profile presenter looks for expression to identify strings that are numbers separated by punctuation around phone numbers to find groupings of dots (e.g., 415.425.5555). The profile generator then deter words and numbers to determine the type of number (fax, cell, mines whether the candidate is more appropriately to be etc.) and the owner. recognized as an IP address (e.g., 127.0.1.214). 0159 For example, once the profile generator finds a 0154) In one embodiment, the profile generator is config potential phone number, the profile generator walk from the ured to recognize phone numbers that have predetermined beginning of the phone number left, using a regular expres characters that separate different parts of the telephone num sion to find words that are on the current line and/or a previous bers, such as dots, dashes, spaces, etc. For example, the pro line (e.g., separated by new line and/or carriage return), look file generatoris configured to find phone numbers with dots in ing for words that are ended in a colon (e.g., on the preceding them, like 415.218.2322 and configured to tell IP addresses, line). In one example, the message contains the following such as 207.104.128.4 and not to display an IP address as a strings of words. phone number. In one embodiment, after a string is identified (0160 “My phone number is: as a candidate for a recognized phone number (e.g., identified O161 415555 1212 via a first regular expression), the profile generator deter 0162 The profile generator detects the “colon' on the left mines whether the string is an IP address (e.g., via matching of the phone number and thus identifies these words on the against a second regular expression). For example, a regular left of the phone number (e.g., “My”“phone” “number”“is') expression can be used to check whether the string of a to check for indication of the owner of the phone number “potential phone number has the following pattern: 1 to 3 (and/or the type of the phone number). The profile generator digits, followed by a dot, followed by 1 to 3 digits, followed may check these words for bad matches. For example, if the by a dot, followed by 1 to 3 digits. In some embodiments, the profile generator see "his number is (e.g., by matching to the profile generator may be configured to check whether the predetermined word “his”) or “Bob’s number is (e.g., by string is further followed by a dot and 1-3 digits. In some matching to the occurrence of 's'), the profile generator may embodiments, the profile generator may further checks for discard the phone number, since the owner of the phone whether each of the parts separated by dots is an octet having number is not the sender of the message. In one embodiment, a value between 0 and 255. When the “potential phone num the profile generator marches a number of predetermined ber matches the pattern(s) for an IP address, the “potential words to the left of the “potential phone number in the phone number is not accepted as a phone number. message against a set of predetermine words, such as “he”. US 2011/01 19593 A1 May 19, 2011

“she”, “her”, “him”, “his”, “her”, “they”, “them”, “their”, invention to the precise terms set forth. Thus, while the inven “its”, “conference”, “pin”, “dial-in”, “dialin”, “s”, “version”, tion has been described in detail with reference to the “ip', etc. When one of the words preceding the “potential examples set forth above, those of ordinary skill in the art may phone number marches to one of the predetermined words, effect alterations, modifications and variations to the the “potential phone number is not taken as a phone number examples without departing from the scope of the invention. of the sender of the message. 0169. In the foregoing specification, the disclosure has 0163. In one embodiment, the profile generator also been described with reference to specific exemplary embodi checks the words to the left and/or right of the “potential ments thereof. It will be evident that various modifications phone number for indication of the type of the phone num may be made thereto without departing from the broader ber. For example, the profile generator may check for words spirit and scope as set forth in the following claims. The like “f”, “fax”, “efax', “c”, “cell, “cellular”, “home, specification and drawings are, accordingly, to be regarded in “office', etc. to determine the type of the phone number (e.g., an illustrative sense rather than a restrictive sense. cell, fax, home, office, or main). In one embodiment, the What is claimed is: profile generator is configured to give the “main category a 1. A computer-implemented method for presenting infor low priority. That is, if the profile generator sees a word mation to a user of a user device, the method comprising: matching “main' type and another word matching “home’ collecting, via a computing device, data relating to a plu type, the profile generator will mark the phone as “home'. rality of communications sent to or from the user, the 0164. In one example, the message contains a fragment of plurality of communications including a first person and “425-555-1212 (office), 425-555-5656 (cel'. When checking a second person, and each respective communication the second number (425-555-5656), the profile generator including a respective link of a plurality of links; detects the comma (punctuation) on the left, and thus stop generating, via the computing device, a plurality of per checking more words on the left, and continues to check the sonal profiles from the collected data, the profiles com words on the right to find the “type of the phone number prising a first personal profile of the first person includ (home, office, main, cell, etc.) In one embodiment, the profile ing a first link of the plurality of links; and generator is configured to test the words on the left first, and presenting the first personal profile to the user, comprising then test the words on the right to determine the type and to displaying the first link in a user interface on the user determine whether the phone number should be discarded. device. 2. The method of claim 1, wherein the plurality of commu Contact Network nications is a plurality of emails, the respective communica 0.165. In one embodiment, the profile generator identifies tion is a respective email, and the respective link for each of the persons associated with a sender (or a recipient) of a the plurality of emails is collected from a body or a subject of message not only based on the headers (e.g., To, CC, BCC the respective email. fields of an email), but also the message bodies which may 3. The method of claim 1, wherein the respective link is a contain identifications of the associated persons, such as uniform resource locator. names, email addresses, etc. The persons referred to in the 4. The method of claim 1, wherein the generating com header and/or the body of the messages are considered the prises storing a date, a time, and at least one recipient for each contact network of the sender (or recipient). The contact respective communication. network can be presented as part of the profile of the sender 5. The method of claim 1, wherein the user interface is for (or recipient), as illustrated in FIG. 1B, panel 154. The person an email program running on the user device, and the present in the contact network can be sorted according to the fre ing is in response to the user selecting an email being dis quency that these people (and their associated email played in the user interface. addresses) appeared in messages common to one another. 6. The method of claim 1, wherein the presenting further 0166 For example, the profile generator can Scan message comprises presenting a list of links, including the first link, bodies to find email addresses. So if someone forwards an that the user has exchanged with the first person, the list of email to the user with the list of email addresses in the body of links ordered by date. the forwarded message, those email addresses can be recog 7. The method of claim 1, further comprising receiving a nized as a part of the sender's network in the user's view of search query from the user, presenting a second personal sender's profile. profile of the plurality of profiles for the second person in 0167. The apparatus, methods, flow diagrams, and struc response to the search query, and displaying a list of links ture block diagrams described in this patent document may be associated with the second personal profile, wherein the list of implemented in computer processing systems including pro links has been exchanged by the user with the second person. gram code comprising program instructions that are execut 8. The method of claim 1, wherein the plurality of personal able by the computer processing system. Some implementa profiles is stored in a repository, the method further compris tions may also be used. Additionally, the flow diagrams and ing receiving a search query comprising a keyword from the structure block diagrams described in this patent document, user, finding emails in the repository that are associated with which describe particular methods and/or corresponding acts the keyword, and displaying in the user interface links in Support of steps and corresponding functions in Support of included in the emails associated with the keyword. disclosed structural means, may also be utilized to implement 9. The method of claim 8, wherein the keyword is text, and corresponding Software structures and algorithms, and the text does not match any text of the links displayed in the equivalents thereof. user interface. 0.168. This written description sets forth the best mode of 10. The method of claim 1, further comprising: the invention and provides examples to describe the invention collecting data about the second person from the plurality and to enable a person of ordinary skill in the art to make and of communications in order to create a second personal use the invention. This written description does not limit the profile for the second person, comprising: US 2011/01 19593 A1 May 19, 2011

identifying a first string in one of the plurality of com plurality of emails, and the plurality of personal profiles munications as a candidate for a phone number, and including a first profile for a first sender of one of the determining whether the first string is an IP address; and plurality of emails; displaying, in the user interface, the phone number as being storing the plurality of personal profiles in a repository including an association between each of the collected associated with the second personal profile. links and a respective email of the plurality of emails; 11. The method of claim 10, wherein the collecting data to storing, in the repository, a date, a time, and at least one create the second personal profile further comprises identify sender or recipient for each of the plurality of emails; ing a second string as a candidate for a phone number, and and determining whether the second string is a combination of displaying, associated with the first profile for the first date and time. sender, a list of links from the collected links that have 12. The method of claim 10, wherein the collecting data to been exchanged between the first sender and the user. create the second personal profile further comprises identify 17. The storage medium of claim 16, further comprising ing a third string as a candidate for a phone number, and receiving from the user a search query with a keyword, and determining whether words preceding the third string contain displaying an email of the plurality of emails that is associated one or more words indicating that the third string is not a with the keyword. phone number. 18. The storage medium of claim 16, wherein the list of links is ordered by date. 13. The method of claim 10, wherein the collecting data 19. A system, comprising: comprises collecting data about a third person from a plural memory storing a plurality of personal profiles; ity of emails to or from the third person, and the plurality of a computing device coupled to access the memory, the personal profiles includes a third personal profile created computing device configured to perform a method com using the collected data about the third person, the method prising: further comprising: collecting a plurality of links from bodies or Subjects in identifying a set of persons related to the third person from a plurality of emails sent to or from a user; bodies of the plurality of emails; and generating the plurality of personal profiles using data, displaying, in the user interface, the set of persons as being including and in addition to the plurality of links, associated with the third personal profile. collected from the plurality of emails; 14. The method of claim 13, wherein the identifying associating, in a repository, each of the plurality of links includes identifying email addresses inside the bodies. with a respective email of the plurality of emails and further with a respective personal profile of the plu 15. The method of claim 1, wherein the communications rality of profiles; and are emails. displaying a personal profile of a sender or a recipient of 16. A non-transitory computer-readable storage medium one of the plurality of emails, comprising displaying a for tangibly storing thereon computer readable instructions, subset of the plurality of links associated with the the instructions causing a computer to perform a method, the personal profile. method comprising: 20. The system of claim 19, further comprising receiving a collecting links from bodies or subjects of a plurality of selection by the user of a selected link of the subset of links, emails sent to or from the user; and displaying to the user at least one of the plurality of emails creating a plurality of personal profiles including the col containing the selected link. lected links, each of the plurality of personal profiles corresponding to a sender or recipient of one of the c c c c c