Methods, systems, and computer program products for tracking real-time
communication data within a single contact tracking application for
diverse communication providers and applications. A global data store is
synchronized with real-time communication data, such as presence, status,
unread messages, and unread notifications, from each
application/provider. Real-time communication data for contacts
dynamically determined to be recent contacts is retrieved from the data
store, based on properties such as a most recent communication time, a
communication count, and the like. Real-time communication data
corresponding to contacts identified as pinned contacts for which display
of real-time communication data is preferred, also may be retrieved. A
user interface is generated for displaying the one or more recent and/or
pinned contacts, which may vary in size based on the number of contacts
identified as pinned contacts, from which a contact may be selected for
real-time conversation or e-mail.