Divided call history user interface

A computing device displays a call history graphical user interface (GUI). The call history GUI includes a new list and an old list. The new list may include new missed call elements and missed call elements associated with new unopened voicemails. The old list may include other call history GUI elements, such as old missed call elements and missed call elements associated with opened voicemails.

BACKGROUND

Typically, mobile telephony devices have a call history user interface and a separate voicemail user interface. The call history user interface includes a list of elements that identify incoming calls, outgoing calls, and missed calls. The voicemail user interface includes a list of elements that identify voicemails received at a voicemail account of a user.

The call history user interface and the voicemail user interface are typically separated because if the two lists were combined, voicemail elements may be pushed so far down on the merged list that the user would not see the voicemail elements and consequently may not review the voicemail elements. It may be more important for users to be able to review voicemail elements than incoming, outgoing, or missed call elements. At the same time, users logically associate voicemails with missed calls. Thus, it may be non-intuitive to separate missed call elements from the voicemails associated with the missed calls.

SUMMARY

This disclosure describes a call history graphical user interface (GUI) displayed on a display device. The call history GUI concurrently displays a new list and an old list. GUI elements in the call history GUI are divided among the new list and the old list. The GUI elements include missed call elements. Each of the missed call elements corresponds to one or more missed calls. Furthermore, if a missed call corresponds to a voicemail, the missed call element that corresponds to the missed call indicates the existence of the voicemail. The new list includes GUI elements that correspond to new missed calls and to missed calls associated with unopened voicemails. The new missed calls are calls occurring after a most recent previous time that the display device displayed the call history GUI. The old list includes GUI elements that correspond to old missed calls and to opened voicemails. The old missed calls are calls occurring before the most recent previous time that the display device displayed the call history GUI. By presenting the new list and the old list in the same GUI, the GUI may group together missed call elements with corresponding voicemails while at the same time prominently showing the user items that are likely to require the user's attention.

In one example, this disclosure describes a method comprising determining, by a computing device, that a voicemail account has received a voicemail, the voicemail account being associated with a user. The method also comprises determining, by the computing device, whether the voicemail corresponds to a given missed call in a plurality of missed calls to the user. In addition, the method comprises displaying a user interface on a display device. The user interface comprises a plurality of GUI elements. The GUI elements include a plurality of missed call elements that correspond to the missed calls. The missed call elements include a given missed call element that corresponds to the given missed call. The GUI elements are divided among a new list and an old list. The new list includes ones of the GUI elements that correspond to new missed calls and missed calls associated with unopened voicemails. The new missed calls are ones of the missed calls occurring after a most recent previous time that the computing device displayed the user interface. The old list including ones of the GUI elements that correspond to old missed calls. The old missed calls are ones of the missed calls occurring before the most recent previous time that the computing device displayed the user interface on the display device. After determining that the voicemail corresponds to the given missed call, the given missed call element indicates existence of the voicemail.

In another example, this disclosure describes a computing device comprising a storage system that stores instructions. The computing device also comprises a processing system coupled to the storage system. The processing system is configured to read the instructions from the storage system and execute the instructions. Execution of the instructions causes the computing device to determine that a voicemail account has received a voicemail, the voicemail account being associated with a user. Execution of the instructions also causes the computing device to determine whether the voicemail corresponds to a given missed call in a plurality of missed calls to the user. In addition, execution of the instructions causes the computing device to display a user interface on a display device. The user interface comprises a plurality of GUI elements. The GUI elements include a plurality of missed call elements that correspond to the missed calls. The missed call elements include a given missed call element that corresponds to the given missed call. The GUI elements are divided among a new list and an old list. The new list includes ones of the GUI elements that correspond to new missed calls and missed calls associated with unopened voicemails. The new missed calls are ones of the missed calls occurring after a most recent previous time that the computing device displayed the user interface. The old list including ones of the GUI elements that correspond to old missed calls. The old missed calls are ones of the missed calls occurring before the most recent previous time that the computing device displayed the user interface on the display device. After determining that the voicemail corresponds to the given missed call, the given missed call element indicates existence of the voicemail.

In another example, this disclosure describes a computer storage medium that stores instructions for causing a processing system of a computing device to perform operations comprising determining that a voicemail account has received a voicemail, the voicemail account being associated with a user. The operations also include determining whether the voicemail corresponds to a given missed call in a plurality of missed calls to the user. In addition, the operations include displaying a user interface on a display device. The user interface comprises a plurality of GUI elements. The GUI elements include a plurality of missed call elements that correspond to the missed calls. The missed call elements include a given missed call element that corresponds to the given missed call. The GUI elements are divided among a new list and an old list. The new list includes ones of the GUI elements that correspond to new missed calls and missed calls associated with unopened voicemails. The new missed calls are ones of the missed calls occurring after a most recent previous time that the computing device displayed the user interface. The old list including ones of the GUI elements that correspond to old missed calls. The old missed calls are ones of the missed calls occurring before the most recent previous time that the computing device displayed the user interface on the display device. After determining that the voicemail corresponds to the given missed call, the given missed call element indicates existence of the voicemail.

DETAILED DESCRIPTION

The attached drawings illustrate examples. Elements indicated by reference numbers in the attached drawings correspond to elements indicated by like reference numbers in the following description. In the attached drawings, stacked elements indicate the presence of one or more similar elements. Alphabetical suffixes on reference numbers for similar elements are not intended to indicate the presence of particular numbers of the elements. In this disclosure, elements having names that start with ordinal words (e.g., “first,” “second,” “third,” and so) do not necessarily imply that the elements have a particular order. Rather, such ordinal words may merely be used to refer to different elements of the same or similar kind.

FIG. 1is a block diagram illustrating an example communication system10. Communication system10includes a computing device12, a voicemail system14, and a network16. A user18uses computing device12. Although the example ofFIG. 1shows computing device12as a tablet computer, computing device12may include various types of computing devices. For example, computing device12may include a mobile telephone, a tablet computer, a laptop computer, a netbook computer, a desktop computer, an in-car computer, a computing device integrated into an appliance, a television, a television set-top box, or another type of computing device. As used in this disclosure, a computing device may be a physical device that processes information.

Voicemail system14comprises one or more computing devices. Although the example ofFIG. 1shows voicemail system14as a group of standalone server devices, voicemail system14may be implemented using one or more other types of computing devices. For example, voicemail system14may be implemented using one or more blade server devices, mainframe computers, desktop computers, or other types of computing devices.

Network16facilitates communication between computing device12and voicemail system14. In various examples, network16may be implemented in various ways. For example, network16may comprise a plurality of intermediate network devices and communication links. Example intermediate network devices include routers, switches, hubs, firewall devices, wireless access points, bridges, gateways, and other types of computing devices. Example types of communication links include wired and wireless communication links. In some examples, network16includes the Internet, a public-switched telephone network, and/or another type of communication network.

User18may use computing device12to engage in voice telephony sessions with other users. For instance, user18may use computing device12to initiate voice telephony sessions with other users. In other words, user18may use computing device12to “call” other users. In addition, computing device12may receive invitations from other users. The invitations invite user18to join voice telephony sessions with the other users. In other words, computing device12receives “calls” to user18.

For various reasons, user18may not accept an invitation to join a voice telephony session. That is, user18may not answer a call received by computing device12. When user18does not answer a call received by computing device12, such a call may be referred to as a “missed call.” When user18does not answer a call received by computing device12, the call may be handled by voicemail system14. When the call is handled by voicemail system14, the caller may be prompted to record a voicemail for user18. A voicemail may comprise an audio and/or video message recorded by one person to be played back by another user. If the caller records the voicemail, the voicemail corresponds to the call. As used in this disclosure, a caller is a person who invited another user to join a call. In some instances, a person may record a voicemail for user18or send a voicemail to user18without first calling user18.

Voicemail system14hosts a voicemail account associated with user18. The voicemail account stores voicemails for user18. Computing device12may communicate over network16to determine that the voicemail account stores voicemails for the user. Furthermore, computing device12may communicate over network16to retrieve voicemails for playback to user18. Computing device12and voicemail system14may communicate over network16by sending radio and/or electronic signals to one another over network16.

As described in detail below, computing device12displays a call history graphical user interface (GUI) on a display device. The call history GUI concurrently displays a new list and an old list. GUI elements of the call history GUI are divided among the new list and the old list. In other words, the new list and the old list contain different subsets of the GUI elements. The GUI elements include missed call elements. Each of the missed call elements corresponds to one or more missed calls. Furthermore, if a missed call corresponds to a voicemail, the missed call element corresponding to the missed call indicates the existence of the voicemail. The new list includes GUI elements that correspond to new missed calls and missed call elements associated with unopened voicemails. The new missed calls are missed calls occurring after a most recent previous time that the display device displayed the call history GUI. The old list includes GUI elements that correspond to old missed calls and to opened voicemails. The old missed calls are missed calls occurring before the most recent previous time that computing device12displayed the call history GUI on the display device. In other words, new missed calls are calls for which a corresponding missed call element is being displayed for the first time and old missed calls are calls for which a corresponding missed call element has previously been displayed at least one time.

In various examples, user18may open a voicemail in various ways. For example, opening a voicemail may include playing back the voicemail. In other examples, opening a voicemail may include displaying summary information that describes the voicemail, such as a transcript.

FIG. 2is a conceptual block diagram that illustrates an example configuration of computing device12. As illustrated in the example ofFIG. 2, computing device12comprises a storage system50, a processing system52, a network interface54, and a display device56. Readers will understand that computing device12may include additional components.

Storage system50comprises one or more computer storage media57that store instructions58. As used in this disclosure, a computer-readable medium is a medium from which a computer can read data. The term computer-readable media can refer to computer storage media and communications media. Computer storage media57include physical devices that store data for subsequent retrieval. Computer storage media57are not transitory. For instance, computer storage media57do not exclusively comprise propagated signals. Computer storage media57include volatile storage media and non-volatile storage media. Example types of computer storage media57include random-access memory (RAM) units, read-only memory (ROM) devices, solid state memory devices, optical discs (e.g., compact discs, DVDs, BluRay discs, etc.), magnetic disk drives, magnetic tape drives, and other types of devices that store data for subsequent retrieval. Communication media include media over which one device can communicate data to another device. Example types of communication media include communication networks, communications cables, wireless communication links, communication buses, and other media over which one device is able to communicate data to another device. Network interface54enables computing device12to communicate with voicemail system14over network16.

Processing system52is coupled to storage system50such that processing system52is able to read instructions58from storage system50and execute instructions58. Processing system52comprises one or more processing units. The processing units comprise physical devices that execute instructions58. The processing units can comprise various types of physical devices that execute instructions58. For example, one or more of the processing units can comprise a microprocessor, a processing core within a microprocessor, a digital signal processor, a graphics processing unit, a general-purpose graphics processing unit, or another type of physical device that capable of execution instructions58.

Execution of instructions58by processing system52may cause computing device12to perform various operations, such as those ascribed in this document to computing device12and components of computing device12. For example, execution of instructions58by processing system52may cause computing device12to display and update the call history GUI in accordance with the techniques of this disclosure.

Display device56displays graphical data, such as GUIs. In some examples, display device56may be a touchscreen that enables computing device12to receive input data that indicate inputs from user18. Although not illustrated in the example ofFIG. 2, computing device12may include or be communicatively coupled to one or more other types of input devices, such as keypads, keyboards, microphones, cameras, accelerometers, mice, trackballs, and other types of devices that receive input from users.

Display device56may be physically coupled to computing device12. For instance, in the example ofFIG. 2, display device56is shown as being within a housing60of computing device12. In other examples, display device56may be outside housing60. In some examples, display device56may be entirely separate from computing device. In such instances, computing device12may display GUIs and other graphical data on display device56by communicating with one or more other computing devices. In such examples, computing device12may communicate with the other computing devices over a network, such as network16. For instance, in such examples, computing device12may display the call history GUI on display device56at least in part by generating and sending hypertext markup language (HTML) data to a computing device that is physically coupled to display device56. In such an instance, the other computing device may render the HTML data to display the call history GUI on display device56.

FIG. 3is a conceptual diagram of an example call history GUI100. Call history GUI100includes GUI elements102A-102D (collectively, “GUI elements102”). Call history GUI100may include GUI elements in addition to GUI elements102. However, due to size constrains on display device56, display device56may not be able to display all GUI elements of call history GUI100concurrently. User18may view the additional GUI elements of call history GUI100by, for example, scrolling call history GUI100. In some examples, user18may scroll call history GUI100by making an upward or downward swiping gesture over call history GUI100.

Each of the GUI elements of call history GUI100corresponds to a call, a voicemail, or a call and a voicemail. For instance, the GUI elements of call history GUI100may include incoming call elements and outgoing call elements. Each of the incoming call elements corresponds to a call accepted by user18. Each of the outgoing call elements corresponds to a call initiated by user18.

In addition, the GUI elements of call history GUI100may include missed call elements. Each of the missed call elements corresponds to one or more missed calls. In some examples, if computing device12received multiple missed calls from a single caller, call history GUI may only include a single missed call element corresponding to the multiple missed calls. In other examples, if computing device12received multiple missed calls from a single caller, call history GUI100may include separate missed call elements for each of the missed calls from the single caller.

If a missed call corresponds to a voicemail, the missed call element corresponding to the missed call indicates the existence of the voicemail. In various examples a missed call element can indicate the existence of a voicemail in various ways. In the example ofFIG. 3, GUI element102B is a missed call element whose missed call corresponds to a voicemail. GUI element102B uses the text “missed call+voicemail” to indicate the existence of the voicemail. In other examples, missed call elements can indicate the existence of voicemails in other ways. For example, a missed call element can include an icon, such as a stylized audio tape or an icon in the form of a playback control, to indicate the existence of a voicemail.

Furthermore, the GUI elements of call history GUI100may include voicemail elements. Each of the voicemail elements corresponds to a voicemail that is not associated with a missed call. In the example ofFIG. 3, GUI element102D is a voicemail element.

User18may interact with GUI elements102in call history GUI100to call people associated with GUI elements102. In the example ofFIG. 3, each of GUI elements102includes a phone control112. User18may initiate calls to people associated with GUI elements102by making tapping gestures on phone controls112. Different types of people are associated with different types of GUI elements. For instance, the initiator of an incoming call may be the person associated with an incoming call element. A recipient of an outgoing call may be the person associated with an outgoing call element. The initiator of a missed call may be the person associated with a missed call element. A person who sent a voicemail to user18may be the person associated with a voicemail element.

Call history GUI100concurrently includes a new list104and an old list106. New list104and old list106include different subsets of GUI elements102. In other words, GUI elements102are divided among new list104and old list106. In the example ofFIG. 3, new list104includes GUI elements102A and102B. Old list106includes GUI elements102C and102D. In some examples, the GUI elements within new list104are listed in chronological order and the GUI elements within old list106are listed in a separate chronological order. Old list106may include GUI elements associated with calls or voicemails occurring after one or more calls or voicemails that correspond to GUI elements in new list104.

The GUI elements in new list104may be more likely to be of interest to user18than the GUI elements in old list106. For example, new list104may include voicemail elements that correspond to unopened voicemails. Voicemail elements that correspond to unopened voicemails may be of interest to user18.

Furthermore, the GUI elements in new list104may include new non-voicemail missed call elements. The new non-voicemail missed call elements are missed call elements that do not correspond to voicemails and that have not previously been displayed to user18. In other words, the GUI elements in new list104may include missed call elements that correspond to missed calls that are not associated with voicemails and that occur after a most recent previous time that display device56displayed call history GUI100. Such new missed call elements are displayed in new list104because it may be likely that user18would want to know who has tried to call user18since the previous time computing device12displayed call history GUI100on display device56.

For example, when display device56displays call history GUI100for a first time, new list104may include one or more missed call elements that do not correspond to voicemails. After display device56displays call history GUI100for the first time, computing device12may display call history GUI100for a second time. When display device56displays call history GUI100for the second time, old list106includes the missed call elements that were in new list104when computing device12displayed call history GUI100for the first time. Thus, old list106may include missed call elements that correspond to missed calls occurring before the most recent previous time that display device56displayed call history GUI100.

New list104may also include missed call elements that correspond to unopened voicemails, even if such missed call elements correspond to missed calls occurring before the most recent previous time that display device56displayed call history GUI100. For example, a given missed call element may correspond to a voicemail. In this example, display device56may display the given missed call elements, but user18may not want to open the voicemail at that time. However, the voicemail is still likely to be of interest to user18. Accordingly, computing device12may continue to display the given missed call element in new list104. In some examples, previously-displayed missed call elements that are in new list104because they are associated with unopened voicemails may appear different than new missed call elements that correspond to unopened voicemails. For example, new missed call elements that correspond to unopened voicemails may include a different icon, different text, a different text style, or another feature that distinguishes them from missed call elements that are present in new list104because of unopened voicemails.

User18may interact with voicemail elements and missed call elements to open corresponding voicemails. For example, user18may make a tapping gesture on a portion of the voicemail element or missed call element or a swiping gesture over the voicemail element or missed call element to open the voicemail. In the example ofFIG. 3, GUI element102D is a voicemail element. As illustrated in the example ofFIG. 3, GUI element102D comprises an arrow control108. User18may open the voicemail corresponding to GUI element102D by making a tapping gesture on arrow control108. When user18interacts with the voicemail element to open the voicemail, computing device12may receive input data indicating an input on call history GUI100to open the voicemail. Furthermore, in the example ofFIG. 3, GUI element102B is a missed call element that has a corresponding voicemail. User18may open the voicemail corresponding to GUI element102B by making a tapping gesture on arrow control110.

In response to user18opening a voicemail corresponding to a given GUI element in new list104, computing device12may move the given GUI element from new list104to old list106. In other words, computing device12removes the given GUI element from new list104and adds the given GUI element at a chronologically appropriate place in old list106. In some examples, computing device12moves the given GUI element from new list104to old list106immediately after user18opens the voicemail. In other examples, computing device12moves the given GUI element from new list104to old list106when display device56displays call history GUI100at a later time.

It may be less likely that a missed call requires the attention of user18if user18has spoken with the person who initiated the missed call after the missed call occurred. Hence, computing device12may determine whether user18has used computing device12to speak with the initiator of a given missed call after the given missed call occurred. For instance, computing device12may determine whether user18has initiated a call to the initiator of the given missed call after the given missed call occurred or determine whether user18has accepted a call from the initiator of the given missed call after the given missed call occurred. After computing device12determines that user18has used computing device12to speak with the initiator of the given missed call, computing device12may display a missed call element corresponding to the given missed call in old list106rather than new list104. In some instances, computing device12may display the missed call element corresponding to the given missed call in old list106regardless of whether user18has opened a voicemail corresponding to the given missed call. In this way, new list104does not include a GUI element that is less likely to require the attention of user18.

Similarly, it may be less likely that an unopened voicemail requires the attention of user18if user18has spoken with the person who recorded or sent the voicemail after the person recorded or sent the voicemail. Hence, computing device12may determine whether user18has used computing device12to speak with the sender or recorder of a given voicemail after the given voicemail was sent or recorded. After computing device12determines that user18has spoken with the sender or recorder of the given voicemail after the given voicemail was sent or recorded, computing device12may display a voicemail element or a missed call element associated with the given voicemail in old list106rather than new list104, regardless of whether user18has opened the given voicemail.

Call history GUI100may also include a clear control114. Computing device12may move each GUI element in new list104to old list106in response to receiving a tapping gesture on clear control114. Thus, computing device12may receive input data indicating an input on call history GUI100. In response to receiving the input data, computing device12may move all of the GUI elements in new list104to old list106.

Furthermore, new list104may include a given missed call element or a given voicemail element that corresponds to a voicemail. If user18chooses not open the voicemail for an extended period of time, it may become increasingly unlikely that the voicemail requires the attention of user18. Accordingly, computing device12may determine whether the difference between a current time and a time of the voicemail is greater than a given threshold. After computing device12determines that the difference between the current time and the time of the voicemail is greater than the given threshold, computing device12displays the given missed call element or the given voicemail element in old list106, regardless of whether the voicemail is opened.

In the example ofFIG. 3, computing device12displays a status indicator116in call history GUI100. Status indicator116indicates whether computing device12is able to access the voicemail account associated with user18. In the example ofFIG. 3, status indicator116indicates that computing device12is able to access the voicemail account. When computing device12is unable to access the voicemail account, computing device12might not be able to detect whether new voicemails have been received. In some instances, computing device12might not be able to retrieve voicemails from voicemail system14when computing device12is unable to access the voicemail account.

Computing device12may be unable to access the voicemail account for various reasons. For example, computing device12may be unable to access the voicemail account when computing device12is outside a wireless service area or when a network cable is disconnected from computing device12. In another example, computing device12may be unable to access the voicemail account when computing device12is roaming and is configured not to access the voicemail account while roaming.

Computing device12also displays a filter control118in call history GUI100. User18may select filter control118. When user18selects filter control118, computing device12receives input data indicating a filter input on call history GUI100. In response to receiving the input data, computing device12updates call history GUI100such that call history GUI100only displays GUI elements that correspond to voicemails, e.g., voicemail elements and missed call elements that are associated with voicemails. Thus, when user18selects filter control118, incoming call elements, outgoing call elements, non-voicemail missed call elements are not shown in call history GUI100. In this way, user18may easily review voicemails without reviewing the entire call history.

In some examples, old list106may include GUI elements that correspond to GUI elements in new list104. For example, new list104may include a given missed call element. In this example, old list106may include a second copy of the given missed call element. In another example, new list104may include a given voicemail element that corresponds to a given voicemail. In this example, old list106may also include a voicemail element that corresponds to the given voicemail. Thus, old list106may represent a complete missed call and voicemail history of computing device12over a given period of time.

Although not illustrated in the example ofFIG. 3, call history GUI100may include a new list collapse control. When computing device12receives input data that indicate user input on the new list collapse control, computing device12modifies call history GUI100such that the GUI elements in new list104are replaced by a single element. This element may indicate how many missed call elements and voicemail elements are in new list104. If computing device12subsequently receives input data indicating a user input on this element, computing device12may modify call history GUI100again to display each of the missed call elements and voicemail elements in new list104. In some examples, call history GUI100includes a similar control for old list106.

FIG. 4is a flowchart that illustrates an example process150performed by computing device12. Process150is a loop that computing device12may perform repeatedly during normal operation of computing device12. Readers will understand that in other examples, computing device12may perform different operations. For instance, computing device12may perform a process that includes more, fewer, or different steps than process150or performs the steps of process150in a different order.

After computing device12starts performing process150, computing device12determines whether an incoming call has occurred (152). If an incoming call has occurred (“YES” of152), computing device12determines whether user18accepted the incoming call (154). If user18accepted the incoming call (“YES” of154), computing device12generates an incoming call record (156). The incoming call record includes information about the incoming call. Such information may include a time and date at which computing device12received the incoming call, a phone number associated with a caller, a duration of the incoming call, and other information about the incoming call. Computing device12may store the incoming call record in storage system50. After generating the incoming call record, computing device12may loop back to the beginning of process150.

However, if user18does not accept the incoming call (“NO” of154), computing device12generates a missed call record (158). The missed call record includes information about the missed call. Such information may include a time and date at which computing device12received the missed call, a phone number associated with a caller, and other information about the missed call. Computing device12may store the missed call record in storage system50. After generating the missed call record, computing device12may loop back to the beginning of process150.

If computing device12determines that an incoming call has not occurred (“NO” of152), computing device12determines whether an outgoing call has occurred (160). If an outgoing call has occurred (“YES” of160), computing device12generates an outgoing call record (162). The outgoing call record includes information about the outgoing call. Such information may include a time and date at which the outgoing call occurred, a phone number associated with the called party, a duration of the outgoing call, and other information about the outgoing call. Computing device12may store the outgoing call record in storage system50. After generating the outgoing call record, computing device12may loop back to the beginning of process150.

If computing device12determines that an outgoing call has not occurred (“NO” of154), computing device12determines whether a voicemail account associated with user18has received a new voicemail (164). If the voicemail account has received a new voicemail (“YES” of164), computing device12may determine whether the new voicemail corresponds to a missed call (166). In various examples, computing device12may determine whether the new voicemail corresponds to a missed call in various ways. For example, computing device12may determine whether the new voicemail corresponds to a missed call at least in part determining whether the voicemail and the missed call are associated with the same phone number and a difference between a time at which the voicemail was recorded or sent and a time of the missed call is less than a given duration, e.g., less than thirty seconds, one minute, etc.

If the new voicemail corresponds to a missed call (“YES” of166), computing device12may update a missed call record for the missed call to indicate that the new voicemail is associated with the missed call (168). After updating the missed call record, computing device12may loop back to the beginning of process150.

On the other hand, if the new voicemail does not correspond to any missed call (“NO” of166), computing device12generates a voicemail record (170). The voicemail record includes information about the new voicemail. Such information may include a time and date at which the new voicemail was recorded or sent, a phone number associated with the new voicemail, a duration of the new voicemail, a text transcript of the new voicemail, and/or other information about the new voicemail. Computing device12may store the voicemail record in storage system50. After generating the voicemail record, computing device12may loop back to the beginning of process150.

If the voicemail account has not received a new voicemail (“NO” of164), computing device12determines whether computing device12has received input data indicating an input to view call history GUI100(172). If computing device12determines that computing device12has not received input data indicating an input to view call history GUI100(“NO” of172), computing device12may loop back to the beginning of process150.

If computing device12determines that computing device12has received input data indicating an input to view call history GUI100(“YES” of172), computing device12may use the missed call records to identify new missed calls (174). The new missed calls are missed calls that occurred after a most recent previous time that computing device12displayed call history GUI100. In some examples, the new missed calls may exclude a missed call if user18has used computing device12to speak with the caller after the missed call occurred.

In addition, computing device12may use the voicemail records and missed call records to identify new unopened voicemails (176). To identify the new unopened voicemails, computing device12may first identify voicemails that are unopened. Computing device12may then determine whether differences between a current time and times of the unopened voicemails are greater than a given threshold. If the difference between the current time and the time of an unopened voicemail is not greater than the given threshold, the unopened voicemail may be a new unopened voicemail. In various examples, the given threshold has various values. For example, the given threshold may be one day, one week, one month, or another period of time. Furthermore, in some examples, computing device12may not consider a voicemail to be an unopened voicemail if user18used computing device12to speak with a person who recorded or sent the voicemail after person recorded or sent the voicemail.

After identifying the new missed calls and the new unopened voicemails, computing device12displays call history GUI100(178). As discussed above, call history GUI100includes GUI elements such as incoming call elements, outgoing call elements, missed call elements, and voicemail elements. Computing device12may use the incoming call records to generate the incoming call elements, the outgoing call records to generate the outgoing call elements, the missed call records to generate the missed call records, and the voicemail records to generate the voicemail elements.

Furthermore, as discussed above, a subset of the GUI elements are in new list104and a different subset of the GUI elements are in old list106. When computing device12displays call history GUI100, computing device12displays the missed call elements associated with the new missed calls in new list104. In addition, computing device12displays the voicemail elements associated with new voicemails in new list104. Furthermore, computing device12displays the missed call elements associated with new unopened voicemails in new list104. Computing device12may display the remainder of the GUI elements in old list106.

The techniques described in this disclosure may also be embodied or encoded in a computer-readable medium, such as a computer-readable storage medium, containing instructions. Instructions embedded or encoded in a computer-readable medium, including a computer-readable storage medium, may cause one or more programmable processors, or other processors, to implement one or more of the techniques described herein, such as when instructions included or encoded in the computer-readable medium are executed by the one or more processors. Computer readable storage media may include random access memory (RAM), read only memory (ROM), programmable read only memory (PROM), erasable programmable read only memory (EPROM), electronically erasable programmable read only memory (EEPROM), flash memory, a hard disk, a compact disc ROM (CD-ROM), a floppy disk, a cassette, magnetic media, optical media, or other computer readable media. In some examples, an article of manufacture may comprise one or more computer-readable storage media.