The various aspects of the subject matter described herein are now described with reference to the annexed drawings, wherein like numerals refer to like or corresponding elements throughout. It should be understood, however, that the drawings and detailed description relating thereto are not intended to limit the claimed subject matter to the particular form disclosed. Rather, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the claimed subject matter.
As used herein, the terms “component,” “system” and the like are intended to refer to a computer-related entity, either hardware, a combination of hardware and software, software, or software in execution. Examples of a component include a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer. By way of illustration, both an application running on computer and the computer can be a component. One or more components may reside within a process and/or thread of execution and a component may be localized on one computer and/or distributed between two or more computers.
Furthermore, the disclosed subject matter may be implemented as a system, method, apparatus, or article of manufacture using standard programming and/or engineering techniques to produce software, firmware, hardware, or any combination thereof to control a computer or processor based device to implement aspects detailed herein. The term “article of manufacture” (or alternatively, “computer program product”) as used herein is intended to encompass a computer program accessible from any computer-readable device, carrier, or media. Examples of computer readable media include magnetic storage devices (e.g., hard disk, floppy disk, magnetic strips . . . ), optical disks (e.g. compact disk (CD), digital versatile disk (DVD) . . . ), smart cards, and flash memory devices (e.g., card, stick). Additionally it should be appreciated that a carrier wave can be employed to carry computer-readable electronic data such as those used in transmitting and receiving electronic mail or in accessing a network such as the Internet or a local area network (LAN). Of course, those skilled in the art will recognize many modifications may be made to this configuration without departing from the scope or spirit of the claimed subject matter.
The data repository 102 includes a plurality of contacts, such as a contact 108. The contact 108 (and other contacts residing within the data repository 102) includes a display name format 110, a display name 112, and a display name reading 114. The display name format 110 determines content and content order of the display name 112 and the display name reading 114 (e.g., whether to display last names (family names) or first names first, whether to display an entity associated with an individual, . . . ). The display name 112 includes at least one of a family name 116, a given name 118, and an entity name 120 according to the display name format 110. Display names are illustrated by way of examples below. The display name reading 114 is a pronunciation of the display name, and includes at least one of a family name reading 122, a given name reading 124, and an entity name reading 126 (that correspond to the family name 116, the given name 118, and/or the entity name 120) according to the display name format 110. Since the name readings 122, 124, 126 contain characters, letters, symbols, numbers, and/or phonetic symbols that indicate pronunciation of the names 116, 118, 120, the display name reading 114 indicates pronunciation of the display name 112. The sort component 104 can sort the two or more contacts 108 by arranging the display name readings 114, thereby providing an intuitive contact order based on the pronunciation of the display name 112.
More particularly, the sort component 104 can sort the two or more contacts 108 first by arranging the display name readings 114 and then by arranging the display names 112. First, the two or more contacts 108 can be sorted by arranging the display name readings 114 in an alphabetical order. Second, the two or more contacts 108 may be sorted by arranging the display names 112 in an alphabetical order. In an example, when two or more contacts include similar display name readings 114, the sort component 104 can sort the two or more contacts 108 by arranging the display names 112. In another example, when two or more contacts contain no letters, characters, and/or phonetic symbols (e.g. no values), the sort component 104 can sort the two or more contacts by arranging the display names 112. The display component 106 can then display the display names 112 of the sorted contacts. For instance, the display component 106 can be associated with cathode-ray tubes (CRT), liquid crystal displays (LCD), and the like.
As stated above, the contact 108 can include the display name format 110, the display name 112, the display name reading 114, the names 116, 118, 120, and/or the name readings 122, 124, 126 in corresponding fields, respectively. For example, the contact 108 can contain the display name format 110 in a display name format field, the display name 112 in a display name field, and the display name reading 114 in a display name reading field. The contact 108 can also include the family name 116 in a family name field, the given name 118 in a given name field, and the entity name 120 in an entity name field. The contact 108 can additionally include the family name reading 122 in a family name reading field, the given name reading 124 in a given name reading field, and the entity name reading 126 in an entity name reading field.
The system 100 can employ substantially any language letters, characters, numbers, or symbols, and/or substantially any phonetic symbols (e.g. phonetic alphabets and pronunciation symbols). For instance, the system 100 can employ substantially any letters, characters, symbols, numbers, and phonetic symbols as long as the computer device on which the system operates can recognize the letters, characters, symbols, numbers, and phonetic symbols.
Examples of languages that can be utilized in connection with the system 100 include Afrikaans, Albanian, Algerian Dardja, Amharic, Anishinaabe, Arabic, Armenian, Avestan, Azerbaijani, Balinese, Bashkir, Basque, Belarusan, Bengali, Bisayan, Brahui, Breton, Buhi Bicol, Bulgarian, Burmese, Catalan, Cebuano, Chechen, Cherokee-Tsalagi, Cheyenne, Chinese, Czech, Danish, Dutch, English, Esperanto, Estonian, Etruscan, Farsi, Finnish, French, Frisian, Gaelic, Galician, German, Gilbertese, Greek, Guarani, Hakka, Hawaiian, Hebrew, Hindi, Hmong, Hungarian, Icelandic, Igbo, Indonesian, Ingush, Inuktitut, Italian, Japanese, Kamilaroi, Kapampangan, Kendo, Khowar, Korean, Kurdish, Kyrgyz, Lakhota, Latin, Latvian, Lithuanian, Malay, Maltese, Maori, Mapudungun, Marathi, Mayan, Mayangna, Miskitu, Mohawk, Mongolian, Nauruan, Norwegian, Occitan, Ojibwe, Oriya, Pahlavi, Pali, Panamahka, Pashto, Passamaquoddy-Maliseet, Piraha, Polish, Portuguese, Potawatomi, Prussian, Punjabi, Rasta Patois, Romanian, Romany, Russian, Sami, Sanskrit, Sardinian, Serbo-Croatian, Sioux, Slovak, Slovene, Somali, Sorbian, Spanish, Sranan, Sudovian, Sumerian, Swabian, Swahili, Swedish, Tagalog, Taino, Taiwanese, Tamil, Tarahumara, Tatar, Thai, Tibetan, Tok Pisin, Tongan, Tsalagi, Turkish, Turkmen, Ukrainian, Ulwa, Urdu, Uyghur, Uzbek, Vietnamese, Visayan, Votic, Warlpiri, Welsh, Wolof, Xhosa, Yiddish, Yotvingian, amongst others.
A phonetic symbol is a type of phonetic notation used for transcribing the sounds of human speech into writing. Examples of the phonetic symbol include Americanist phonetic notation such as Americanist Phonetic Alphabet, American Phonetic Alphabet, North American Phonetic Alphabet; the International Phonetic Alphabet (IPA) such as the Speech Assessment Methods Phonetic Alphabet (SAMPA), the Extended SAM Phonetic Alphabet (X-SAMPA), and Kirshenbaum, sometimes called ASCII-IPA, and the like.
The names 116, 118, 120 and the name readings 122, 124, 126 can include substantially any language letters, characters, numbers, or symbols, and/or substantially any phonetic symbols, as described above. In an example, at least one of the family name 116, the given name 118, and the entity name 120 can include an ideographic character. Examples of the ideographic character comprise a Japanese ideographic character (e.g., kanji), a Chinese ideographic character (e.g., hanzi), and a Korean ideographic character (e.g., hanja). For example, the contact 108 may comprise a Japanese kanji family name 116, a Japanese kanji given name 118, and a Japanese kanji entity name 120 (where kanji is a Japanese ideographic character). In another example, the name readings 122, 124, 126 can include at least one of katakana, hiragana, and the Latin alphabet.
The entity name 120 can include a company name, wherein such name can refer to any single individual or group of individuals whether formal or informal. For example, the entity name 120 can include a natural person name, corporation name, association name, firm name, government name, group name, organization name, and the like.
The name readings 122, 124, 126 can include characters, letters, symbols, numbers, and/or phonetic symbol to indicate pronunciation of the names 116, 118, and/or 120. In an example, when the names 116, 118, 120 contain a Japanese character, letter, number, and/or symbol including kana and/or kanji, the name readings 122, 124, 126 may include kana such as katakana and hiragana (sometimes called a Japanese phonetic alphabet) to indicate pronunciation of the names 116, 118, and/or 120. In another example, when the names 116, 118, and/or 120 contain a Korean character, letter, number, and/or symbol (including hanja), the name readings 122, 124, and/or 126 may comprise hangul (sometimes called a Korean alphabet) to indicate pronunciation of the names 116, 118, and/or 120. In yet another example, when the names 116, 118, 120 contain a Chinese character, letter, number, and/or symbol, the name readings 122, 124, 126 may include Chinese pinyin (a system of romanization (phonemic notation and transcription to Roman script) for Standard Mandarin) to indicate pronunciation of the names 116, 118, 120. In still yet another example, when the names 116, 118, 120 include a Russian character, letter, number, and/or symbol, the name readings 122, 124, 126 may comprise Latin alphabet and/or SAMPA to indicate pronunciation of the names 116, 118, 120. Names containing other language characters, letters, numbers, and/or symbols are not described in order to avoid prolixity.
The contact 108 may include substantially any suitable information associated with the person and/or entity of the contact 108. For example, the contact 108 may include a name prefix (Mr., Dr., and the like), name suffix (Jr., Sr., II, and the like), and the like. The contact 108 may also include a department, a job title, an entity's phone number, an entity's FAX number, an entity's address, an IM address, an E-mail address, a mobile phone number, setting of ring alert, a memo, etc. The contact 108 may further contain a person's phone number, a person's FAX number, a person's address, current and/or previous employment data such as current employer name, title, responsibilities, employer's address, employer's phone number, employer's email address, employer's Web site URL, educational data such as degrees, schools, concentration, graduation date; accreditation such as CPA, RN, LCSW, entity description such as entity subsidiaries, entity partners, entity competitors, number of employees, etc.
Additionally, the contact 108 may include contact information in a corresponding field. For example, the contact 108 contains the phone number in a phone number field, the FAX number in a FAX number field, the email address in an email address field, the address in an address field, and the like.
The display name format 110 determines content and content order of the display name 112. Since the display name 112 contains at least one of the family name 116, the given name 118, and the entity name 120, the display name format 110 determines which names the display name 112 includes and in what order the display name 112 includes the names. For example, the display name format 110 can determine the content and content order of the display name 112 in the following manner:
an entity name;
a given name;
a family name;
a given name and a family name (in this order);
a family name and a given name (in this order);
a given name, a family name, and an entity name (in this order);
a family name, a given name, and an entity name (in this order);
an entity name, a given name, and a family name (in this order);
an entity name, a family name, and a given name in this order; etc. The display name format 110 also determines content and content order of the display name reading 114 in a manner similar to that discussed below.
The display name format 110 can include a delimiter. Examples of the delimiter comprise a bracket, parenthesis, comma, semi-colon, and blank space. For example, the display name format 110 can include the following format that comprises at least one delimiter:
[GivenName]<space>[FamilyName];
[GivenName],<space>[FamilyName];
[FamilyName]<space>[GivenName];
[GivenName]<space>[FamilyName]<space>([EntityName]);
[GivenName],<space>[FamilyName]<space>([EntityName]);
[FamilyName]<space>[GivenName]<space>([EntityName]);
[EntityName]<space>([GivenName]<space>[FamilyName]);
[EntityName]<space>([GivenName],<space>[FamilyName]);
[EntityName]<space>([FamilyName]<space>[GivenName]);
[GivenName][FamilyName]<space>([EntityName]);
[FamilyName][GivenName]<space>([EntityName]);
[EntityName]<space>([GivenName][FamilyName]);
[EntityName]<space>([FamilyName][GivenName]); and the like.
The display name 112 can indicate the subject of the contact 108 since the display name 112 includes at least one of the family name 116, the given name 118, and the entity name 120. In an example, the display name 112 contains one text string containing at least one of the family name 116, the given name 118, and the entity name 120.
The display name reading 114 can indicate pronunciation of the display name 112 since the display name reading 114 includes at least one of the family name reading 122, the given name reading 124, and the entity name reading 126. In an example, the display name reading 114 comprises one text string including at least one of the family name reading 122, the given name reading 124, and the entity name reading 126. The name readings 122, 124, 126 can include substantially any language letters, characters, numbers, or symbols, and/or substantially any phonetic symbols as described above to indicate pronunciation of the names 116, 118, 120.
The display name 112 includes at least one of the family name 116, the given name 118, and the entity name 120 according to the display name format 110. The display name reading 114 includes at least one of the family name reading 122, the given name reading 124, and the entity name reading 126 according to the display name format 110. That is, the display name format 110 determines content and content order of the display name 112 as well as the display name reading 114. Table 1 illustrates that example display name formats 110 specify the content and content order of the display name 112 as well as the display name reading 114.
In an example, the display name format 110 is common to all of the contacts 108 in the data repository 102. In other words, all of the display names 112 and the display name readings 114 in the data repository 102 include a substantially similar display name format 110. In another example, the display name format 110 is common to two or more contacts, and other contacts can have different display name formats 110. In yet another example, the display name format 110 is independently defined with respect to each contact.
The content of the contacts such as names 116, 118, 120 and name readings 122, 124, 126 can be provided to the data repository 102 using substantially any suitable methods or tools. In an example, users can provide the content of the contacts by importing the content from a memory of other system or computer into the contacts. In another example, users can provide the content of the contacts by providing characters, letters, numbers, and/or symbols using substantially any suitable input component (not shown). Examples of the input component include a voice command, screen tap, mouse click, keyboard stroke, keypad, joystick, and the like.
The input component may be associated with a commercially available software program product or operating system component such as an Input Method Editor or system (“IME”) for example to facilitate providing contact information such as names 116, 118, 120 and name readings 122, 124, 126. Examples of software programs or operating system components for facilitating providing contact information include a Front End Processor (“FEP”), an Input Method, XIM, and the like. In an example, when providing an ideographic character to the contact 108, the input component typically contains the IME to facilitate Latin alphabet-ideographic character conversion. For example, when providing an ideographic character such as a Japanese character, the input component typically contains a Japanese IME to facilitate kana and/or kanji-kana conversion using, for example, a standard English or Japanese language keyboard. Since Japanese names typically contain kanji, users may enter Latin alphabets, and then the input component may convert the Latin alphabets to kana and/or kanji using the Japanese IME.
In another example, the names 116, 118, 120 and the name readings 122, 124, 126 are provided independently. For instance, users provide the names 116, 118, 120 and the name readings 122, 124, 126 separately. In still another example, the user input of the names 116, 118, 120 can be utilized to provide the name readings 122, 124, 126. For example, when users enter Japanese kana of the family name 116, the kana of family name 116 is utilized to provide the family name reading 122. In yet another example, the name readings 122, 124, 126 can be edited by deleting, adding, and/or changing the content of the name readings 122, 124, 126.
The display name reading 114 can be created and/or updated at substantially any suitable time. For instance, a conversion component 128 can be configured to periodically create and/or update the display name reading at predetermined time intervals. In another embodiment, the conversion component 128 can create and/or update the display name reading 114 upon user request. In yet another example, the display name reading 114 can be created and/or updated by the conversion component 128 when at least one of the family name reading 122, the given name reading 124, and the entity name reading 126 is entered, changed, or deleted. In still yet another example, the display name reading 114 can be updated by the conversion component 128 when the display name format 110 is changed.
As described above, the sort component 104 can sort the two or more contacts 108 by arranging the display name readings 114 and then subsequently arranging the display names 112 (e.g., in alphabetical order). The alphabet may be a standardized set of characters, letters, symbols, and numbers of a certain language, or a standardized set of phonetic symbols (phonetic alphabet). The alphabet can be utilized to determine an order of the characters, letters, symbols, numbers, or phonetic symbols.
In another example, when display name readings 114 include Japanese kana such as katakana and hiragana, two or more contacts are sorted by arranging the display name readings 114 and then by arranging the display names 112 in an alphabetical order of kana (e.g., Japanese kana syllabary). In another example, when display name readings 114 include Japanese kana such as katakana and hiragana and Latin alphabet, the two or more contacts are sorted by arranging the display name readings 114 then by arranging the display names 112 in an order of Japanese kana syllabary and Latin alphabet. The Japanese kana syllabary typically contains 46 syllables, including 45 combinations of five vowels (“A,” “I,” “U,” “E,” and “O”) and nine consonants (“K,” “S,” “T,” “N,” “H,” “M,” “Y” “R,” and “W”) and one independent character (“N”). The Japanese syllabary typically contains “A,” “I,” “U,” “E,” “O,” “KA,” “KI,” “KU,” “KE,” “KO,” “SA,” “SHI,” “SU,” “SE,” “SO,” “TA,” “CHI,” “TSU,” “TE” “TO,” “NA,” “NI,” “NU,” “NE,” “NO,” “HA,” “HI,” “FU,” “HE,” “HO,” “MA,” “MI,” “MU,” “ME,” “MO,” “YA,” “YU,” “YO,” “RA,” “RI,” “RU,” “RE,” “RO,” “WA,” “WI,” “WE,” “WO,” and “N” in this order. A contact containing a display name reading 114 beginning with letter “A” is typically placed on the top of a contact list. A contact containing a display name reading 114 beginning with letter “N” is typically placed on the bottom of the contact list.
In an example, the sort component 104 can employ substantially any suitable encoding system or tool to sort the display name readings 114. For example, when the display name reading 114 contains Japanese characters, letters, numbers, and/or symbols, the encoding system or tool may include Unicode, Japanese Industrial Standards (JIS) code, and the like. Characters of readings can be encoded using Unicode. For example, Unicode values U+3040 through U+309F can be assigned to “A” through “N” in hiragana. Unicode values U+30A0 through U+30FF can be assigned to “A” through “N” in katakana. The display name readings 114 can be sorted in an order of the Unicode values of the display name readings 114.
In still another example, when display name readings 114 include Korean hangul, two or more contacts can be sorted by arranging the display name readings 114 then by arranging the display names 112 in an alphabetical order of Korean hangul. In yet another example, when display name readings 114 include Chinese pinyin, the two or more contacts can be sorted by arranging the display name readings 114 and subsequently arranging the display names 112 in a Latin alphabetical order. In still yet another example, when display name readings 114 contain Latin alphabet and/or SAMPA, two or more contacts can be sorted by arranging the display name readings 114 then by arranging the display names 112 in a Latin alphabetical order and/or SAMPA. Sorting two or more contacts in which the display name readings 114 contains other letters, characters, numbers, symbols, and/or phonetic symbols is not described in order to avoid prolixity.
In this example, the names contain Japanese names, which are typically written in kanji. Because there are many possible readings for kanji names, including special name-only readings called nanori, readings in kana such as katakana and hiragana can be utilized to give the pronunciation of names. The name reading may include at least one of katakana, hiragana, and Latin alphabet.
[FamilyName]<space>[GivenName];
[FamilyName]<space>[GivenName]<space>([EntityName]);
[EntityName]<space>([FamilyName]<space>[GivenName]);
[FamilyName][GivenName];
[FamilyName][GivenName]<space>([EntityName]);
[EntityName]<space>([GivenName][FamilyName]); and
[EntityName].
a further illustrates that users select a display name format of [FamilyName]<space>[GivenName] by highlighting that format 262. A display name contains at least one of a family name, a given name, and an entity name according to the display name format. As a result, when the display name format of [FamilyName]<space>[GivenName] is selected, the display name 246 contains [FamilyName]<space>[GivenName] according to a selected display name format 262.
b and 7c illustrate employing other display name format options. In
The contact 200 includes a display name reading (not shown). The display name reading contains at least one of the family name reading 236, the given name reading 242, and the entity name reading 252 according to the display name format. As a result, in
The sort component 104 can sort the five contacts 200, 300, 400, 500, 600 by arranging the display name readings and thereafter by arranging the display names in a Japanese syllabary order (not shown).
The sort component 104 can sort several contacts in a logical and intuitive manner by arranging the display name readings and then by arranging the display names in an order of a Latin alphabet (not shown).
b illustrates the display names of the sorted contacts in the list view 1100 after changing the display name format in the contact 1000. The list view 1100 shows the display names from the top to the bottom; 1102, 1104, 1108, 1106, 1110. In this example, the list view 1100 also shows phone numbers of the contacts from the top to the bottom; 1112, 1114, 1118, 1116, 1120. The display names of the sorted contacts reflect update of the display name readings compared to the display names of the previous list view 1100 in
b illustrates the list view 1100 that shows the display names of the sorted contacts after the display name format in the contact 1400 in
At 1904, a determination is made regarding whether a contact is associated with a given name reading. If the contact is associated with a given name reading, at 1906 a determination is made regarding whether the contact is associated with a family name reading. If the contact is associated with a given name reading and a family name reading, then at 1908 a determination is made regarding whether the contact is associated with an entity name reading. If yes, then a display name reading of [GivenNameReading]<space>[FamilyNameReading]<space>([EntityNameReading]) is provided at 1910. If the contact is associated with a given name reading and a family name reading but not an entity name reading, (e.g., the determination at 1908 is “no”), then at 1912 a display name reading of [GivenNameReading]<space>[FamilyNameReading] is provided at 1912.
If it is determined at 1906 that the contact is not associated with a family name reading, at 1914 a determination is made regarding whether the contact is associated with an entity name reading. If it is determined that the contact is associated with an entity name reading, then at 1916 a display name reading of [GivenNameReading]<space>([EntityNameReading]) is provided. If it is determined at 1914 that the contact is not associated with an entity name reading, then a display name reading of [GivenNameReading] can be provided at 1918.
If at 1904 it is determined that the contact is not associated with a given name reading, then at 1920 a determination is made regarding whether the contact is associated with a family name reading. If it is determined that the contact is associated with a family name reading, then at 1922 a determination is made regarding whether the contact is associated with an entity name reading. If the contact is associated with an entity name reading, at 1924 a display name reading of [FamilyNameReading]<space>([EntityNameReading]) can be provided. If it is determined that the contact is not associated with an entity name reading, then at 1926 a display name reading of [FamilyNameReading] can be provided.
If it is determined at 1920 that the contact is not associated with a family name reading, then at 1928 a determination is made regarding whether the contact is associated with an entity name reading. If it is determined that the contact is associated with an entity name reading, then at 1930 a display name reading of ([EntityNameReading]) can be provided at 1930. If at 1928 a determination is made that there is no entity name associated with the contact, then a display name reading of “Unnamed” (or other suitable language) can be provided at 1932. The methodology 1900 then completes at 1934.
It is understood that unnecessary spaces in the display name reading can be removed automatically. For example, if the contact is associated only an entity name reading, a display name reading of ([EntityNameReading]) can be provided by removing spaces from <space><space>([EntityNameReading]). A method for providing or updating a display name in a contact according to a display name format can be performed in a similar manner as described in
In order to provide a context for the various aspects of the disclosed subject matter,
With reference again to
The system memory 2006 includes read-only memory (ROM) 2010 and random access memory (RAM) 2012. A basic input/output system (BIOS) is stored in a non-volatile memory 2010 such as ROM, EPROM, EEPROM, which BIOS contains the basic routines that help to transfer information between elements within the computer 2002, such as during start-up. The RAM 2012 can also include a high-speed RAM such as static RAM for caching data.
The computer or mobile device 2002 further includes an internal hard disk drive (HDD) 2014 (e.g., EIDE, SATA), which internal hard disk drive 2014 may also be configured for external use in a suitable chassis (not shown), a magnetic floppy disk drive (FDD) 2016, (e.g., to read from or write to a removable diskette 2018) and an optical disk drive 2020, (e.g., reading a CD-ROM disk 2022 or, to read from or write to other high capacity optical media such as the DVD). The hard disk drive 2014, magnetic disk drive 2016 and optical disk drive 2020 can be connected to the system bus 2008 by a hard disk drive interface 2024, a magnetic disk drive interface 2026 and an optical drive interface 2028, respectively. The interface 2024 for external drive implementations includes at least one or both of Universal Serial Bus (USB) and IEEE 1394 interface technologies. Other external drive connection technologies are within contemplation of the subject systems and methods.
The drives and their associated computer-readable media provide nonvolatile storage of data, data structures, computer-executable instructions, and so forth. Consequently, the contact sorting instructions can be stored using the drives and their associated computer-readable media. For the computer 2002, the drives and media accommodate the storage of any data in a suitable digital format. Although the description of computer-readable media above refers to a HDD, a removable magnetic diskette, and a removable optical media such as a CD or DVD, it should be appreciated by those skilled in the art that other types of media which are readable by a computer, such as zip drives, magnetic cassettes, flash memory cards, cartridges, and the like, may also be used in the exemplary operating environment, and further, that any such media may contain computer-executable instructions for performing the methods for the embodiments of the contact management system described herein.
A number of program modules can be stored in the drives and RAM 2012, including an operating system 2030, one or more application programs 2032, other program modules 2034 and program data 2036. The application programs 2032 can provide content for the data repository. All or portions of the operating system, applications, modules, and/or data can also be cached in the RAM 2012. It is appreciated that the systems and methods can be implemented with various commercially available operating systems or combinations of operating systems.
A user can enter commands and information into the computer 2002 through one or more wired/wireless input devices, e.g. a keyboard 2038 and a pointing device, such as a mouse 2040. Other input devices (not shown) may include a microphone, an IR remote control, a joystick, a game pad, a stylus pen, touch screen, or the like. These and other input devices are often connected to the processing unit 2004 through an input device interface 2042 that is coupled to the system bus 2008, but can be connected by other interfaces, such as a parallel port, an IEEE 1394 serial port, a game port, a USB port, an IR interface, etc. A display device 2044 can be used to provide a set of sorted contacts to a user. The display devices can be connected to the system bus 2008 via an interface, such as a video adapter 2046.
The mobile device or computer 2002 may operate in a networked environment using logical connections via wired and/or wireless communications to one or more remote computers, such as a remote computer(s) 2048. For example, the contact sorting instructions can be local to the computer 2002 and software applications can be located remotely on a remote computer 2048. The remote computer(s) 2048 can be a workstation, a server computer, a router, a personal computer, portable computer, microprocessor-based entertainment appliance, a peer device or other common network node, and typically includes many or all of the elements described relative to the computer 2002, although, for purposes of brevity, only a memory/storage device 2050 is illustrated. The logical connections depicted include wired/wireless connectivity to a local area network (LAN) 2052 and/or larger networks, e.g. a wide area network (WAN) 2054. Such LAN and WAN networking environments are commonplace in offices and companies, and facilitate enterprise-wide computer networks, such as intranets, all of which may connect to a global communications network, e.g., the Internet.
When used in a LAN networking environment, the computer 2002 is connected to the local network 2052 through a wired and/or wireless communication network interface or adapter 2056. The adaptor 2056 may facilitate wired or wireless communication to the LAN 2052, which may also include a wireless access point disposed thereon for communicating with the wireless adaptor 2056.
When used in a WAN networking environment, the computer 2002 can include a modem 2058, or is connected to a communications server on the WAN 2054, or has other means for establishing communications over the WAN 2054, such as by way of the Internet. The modem 2058, which can be internal or external and a wired or wireless device, is connected to the system bus 2008 via the serial port interface 2042. In a networked environment, program modules depicted relative to the computer 2002, or portions thereof, can be stored in the remote memory/storage device 2050. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers can be used.
The computer 2002 is operable to communicate with any wireless devices or entities operatively disposed in wireless communication, e.g., a printer, scanner, desktop and/or portable computer, PDA, communications satellite, any piece of equipment or location associated with a wirelessly detectable tag (e.g. a kiosk, news stand, restroom), and telephone. The wireless devices or entities include at least Wi-Fi and Bluetooth™ wireless technologies. Thus, the communication can be a predefined structure as with a conventional network or simply an ad hoc communication between at least two devices.
Wi-Fi or Wireless Fidelity allows connection to the Internet from a couch at home, a bed in a hotel room, or a conference room at work, without wires. Wi-Fi is a wireless technology similar to that used in a cell phone that enables such devices, e.g., computers, to send and receive data indoors and out; anywhere within the range of a base station. Wi-Fi networks use radio technologies called IEEE 802.11 (a, b, g, etc.) to provide secure, reliable, fast wireless connectivity. A Wi-Fi network can be used to connect computers to each other, to the Internet, and to wired networks (which use IEEE 802.3 or Ethernet). Wi-Fi networks operate in the unlicensed 2.4 and 5 GHz radio bands, at an 11 Mbps (802.11a) or 54 Mbps (802.11b) data rate, for example, or with products that contain both bands (dual band), so the networks can provide real-world performance similar to the basic 10BaseT wired Ethernet networks used in many offices.
What has been described above includes examples of aspects of the claimed subject matter. It is, of course, not possible to describe every conceivable combination of components or methodologies for purposes of describing the claimed subject matter, but one of ordinary skill in the art may recognize that many further combinations and permutations of the disclosed subject matter are possible. Accordingly, the disclosed subject matter is intended to embrace all such alterations, modifications and variations that fall within the spirit and scope of the appended claims. Furthermore, to the extent that the terms “includes,” “including,” “contains,” “containing,” “has,” or “having” are used in either the detailed description or the claims, such terms are intended to be inclusive in a manner similar to the term “comprising” as “comprising” is interpreted when employed as a transitional word in a claim.