U.S. patent number 7,702,315 [Application Number 10/687,524] was granted by the patent office on 2010-04-20 for unified communication thread for wireless mobile communication devices.
This patent grant is currently assigned to Varia Holdings LLC. Invention is credited to G. Eric Engstrom, Tyrol R. Graham, Eric J. Hull, Jonathan O. Nelson.
United States Patent |
7,702,315 |
Engstrom , et al. |
April 20, 2010 |
**Please see images for:
( Certificate of Correction ) ** |
Unified communication thread for wireless mobile communication
devices
Abstract
A mobile communication device, such as a wireless mobile phone,
is provided with a unified message function equipped to facilitate
a user in interacting with a communication partner including
messages of different message types supported by the mobile
communication device via a unified thread.
Inventors: |
Engstrom; G. Eric (Kirkland,
WA), Graham; Tyrol R. (Seattle, WA), Nelson; Jonathan
O. (Kirkland, WA), Hull; Eric J. (Seattle, WA) |
Assignee: |
Varia Holdings LLC (Brooklyn,
NY)
|
Family
ID: |
32719098 |
Appl.
No.: |
10/687,524 |
Filed: |
October 15, 2003 |
Prior Publication Data
|
|
|
|
Document
Identifier |
Publication Date |
|
US 20040137884 A1 |
Jul 15, 2004 |
|
Related U.S. Patent Documents
|
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
Issue Date |
|
|
60418764 |
Oct 15, 2002 |
|
|
|
|
60418924 |
Oct 15, 2002 |
|
|
|
|
Current U.S.
Class: |
455/412.1;
455/466 |
Current CPC
Class: |
H04M
1/7243 (20210101); H04L 51/16 (20130101); H04W
88/02 (20130101); H04L 51/36 (20130101); H04L
51/38 (20130101) |
Current International
Class: |
H04M
1/725 (20060101) |
Field of
Search: |
;455/550.1,412,567,556,412.1-414.4,466,458,415
;379/67.1,88.12,88.13,88.22 |
References Cited
[Referenced By]
U.S. Patent Documents
Primary Examiner: Dean; Raymond S
Attorney, Agent or Firm: Schwabe, Williamson & Wyatt
P.C.
Parent Case Text
RELATED APPLICATIONS
The present application claims priority to provisional applications
No. 60/418,764, and 60/418,924, both filed Oct. 15, 2002, entitled
"Single Stack for Calls and Messages for Wireless Mobile Devices"
and "Single Threaded Conversation for Wireless Mobile Devices". The
specifications of which are hereby fully incorporated by reference.
Claims
What is claimed:
1. A method comprising: receiving, by a wireless mobile
communication device, a first user request from an input key of the
wireless mobile communication device; in response to the first user
request, displaying, by the wireless mobile communication device,
on a display of the wireless mobile communication device, a list of
communication messages to and from a plurality of communication
partners of at least two message types selected from a message tyre
group comprising of an email message type, a text message type, a
voice message type, and a call message type, the displaying
including displaying representations of the communication messages
of the list; receiving after said displaying, by the wireless
mobile communication device, a second user request from the same or
another input key of the wireless mobile communication device; and
in response to the second user request, particularizing the list of
communication messages to include only messages to and from a
single communication partner, the particularized list being a
thread of communication with the communication partner, wherein
said receiving of the first user request comprises receiving the
first user request while in an operational state configured to
facilitate a user in composing an email, a text message, or a voice
message, and the method further comprises switching, by the
wireless mobile device, from the operational state configured to
facilitate the user in composing to an operational state configured
for said displaying in response to said first user request.
2. The method of claim 1, wherein the method of operation, further
comprising receiving a third user request from the same or another
input key of the wireless mobile communication device; and in
response, expanding the display of a selected one of the displayed
communication messages from the communication partner.
3. The method of claim 1, wherein said displaying comprises
displaying the list of communication messages with at least three
message types selected from the message type group comprising of
the email message type, the text message type, the voice message
type, and the call message type.
4. The method of claim 1, wherein said displaying comprises
displaying icons representing the identities of communication
partners of the group, each communication partner of the group
being represented by an icon unique to that communication
partner.
5. The method of claim 1, wherein said displaying comprises
displaying text messages across different chat sessions.
6. A wireless mobile communication device comprising: a transceiver
to facilitate sending and receiving communication messages of a
plurality of message types to and from a communication partner; a
display; an input device; a storage device; and a unified message
function configured to store the messages as message objects and
additionally unified message objects in the storage, the unified
message objects for facilitating unified viewing of the messages of
different message types, each including a pointer pointing to a
corresponding one of the messages of different message types;
render on the display or play, in response to a first input
inputted using the input device while the wireless mobile
communication device is in an operational state configured to
facilitate a user in composing an email, a text message, or a voice
message, a list of communication messages to and from one or more
communication partners of a plurality of message types selected
from a message type group comprising of an email message type, a
text message type, a voice message type, and a call message type,
the displaying including displaying representations of the
communication messages of the list, and particularize, in response
to a second input inputted using the input device, the list of
communication messages to include only messages to and from a
single communication partner, wherein the single communication
partner is a group of communication partners who are members of a
group identity, the particularized list being a thread of
communication with the group, wherein the wireless mobile
communication device is configured to switch, in response to said
first user input, from said operational state configured to
facilitate the user in composing to an operational state configured
to render on the display or play said list of communication
messages.
7. The wireless mobile communication device of claim 6, wherein the
unified message function is designed to display for a communication
message, as part of said displaying, a pictorial icon depicting the
communication partner.
8. The wireless mobile communication device of claim 6, wherein the
unified message function is further designed to expand the display
of a selected one of the displayed communication messages, in
response to a third input inputted from the input device.
9. The wireless mobile communication device of claim 6, wherein the
unified message function is further configured to automatically
determine a message type when facilitating a user in responding to
a received message.
10. The wireless mobile communication device of claim 6, wherein
each message object includes information selected from the group
consisting of an identifier of the type of message, an identifier
of the sender, an identifier of the time sent, an identifier of the
date sent, an identifier of the time received, an identifier of the
date received, an indication of message urgency, or an indication
that a response is requested by a sender.
11. The wireless mobile communication device of claim 6, wherein
said displaying comprises displaying text messages across different
chat sessions.
12. The wireless mobile communication device of claim 6, wherein
the wireless mobile communication device comprises a wireless
mobile phone.
13. The method of claim 1, further comprising; receiving, by the
wireless mobile communication device, a third user request from the
same or another input key of the wireless mobile communication
device selecting a representation of one of the communication
messages of the list; and in response to said receiving the third
request, displaying, by the wireless mobile communication device, a
list of selectable entries associated with multiple communication
protocols to facilitate the user in selecting a communication
protocol, and facilitating, by the wireless mobile communication
device, reply to the communication message in the selected
communication protocol.
14. The method of claim 1, wherein the wireless mobile
communication device has multiple threads with multiple
communication partners.
15. The method of claim 1, wherein the particularizing is based at
least in part on an identifier associated with the communication
partner.
16. The wireless mobile communication device of claim 6, wherein
the unified message function is further configured to: receive a
third user request inputted using the same or another input device
selecting a representation of one of the communication messages of
the list, and in response to said receiving the third user request,
render on the display a list of selectable entries associated with
multiple communication protocols to facilitate the user in
selecting a communication protocol, and facilitate reply to the
communication message in the selected communication protocol.
17. The wireless mobile communication device of claim 6, wherein
the wireless mobile communication device has multiple threads with
multiple communication partners.
18. The wireless mobile communication device of claim 6, wherein
the unified message function is further configured to particularize
the list based at least in part on an identifier associated with
the communication partner.
19. A wireless mobile communication device comprising: a
transceiver to facilitate sending and receiving communication
messages of a plurality of message types to and from a
communication partner; a display; an input device; a memory to
store a message, and a unified message function, said unified
message function having a user interface configured to facilitate
unified viewing, in response to a user input received while the
wireless mobile communication device is in a first operating state,
of a list of communication messages to and from a plurality of
communication partners, the list of communication messages
comprising messages of a plurality of message types, including an
email message type, a text message type, and a voice message type,
wherein the first operating state is configured to facilitate a
user in composing an email, a text message, or a voice message;
wherein the user interface is configured to be directly accessible
from the first operating state, wherein the unified message
function is further configured to maintain email messages as email
message objects, text message as text message objects, voice
message as voice message objects, and additionally, to maintain
unified message objects, each including a pointer pointing to the
corresponding email, text or voice message object for facilitating
unified viewing of the message, and wherein the mobile
communication device is configured to switch, in response to the
user input, from the first operating state to an operating state
configured for said viewing of the list of communication
messages.
20. The wireless mobile communication device of claim 19, wherein
each email, text or voice message object further includes
information selected from the group consisting of an identifier of
a message type, an identifier of a sender, an identifier of a time
sent, an identifier of a date sent, an identifier of a time
received, an identifier of a date received, an indication of
message urgency, or an indication that a response is requested by a
sender.
21. The wireless mobile communication device of claim 19, wherein
the identification of a sender further includes a pictorial icon
associated with the sender.
22. A method comprising: receiving, by a wireless mobile
communication device, a plurality of messages of a plurality of
message types, including messages of an email message type,
messages of a text message type, and messages of a voice message
type; sending, by a wireless mobile communication device, a
plurality of messages of a plurality of message types, including
messages of an email message type, messages of a text message type,
and messages of a voice message type; maintaining by the wireless
mobile communication device, the email messages, text messages and
voice messages received, and the email messages, text messages and
voice messages sent, as email message objects, text message objects
and voice message objects respectively; maintaining by the wireless
mobile communication device, additional unified message objects,
each including a pointer pointing to a corresponding one of the
email text or voice message object received or to a corresponding
one of the email, text or voice message object sent, for
facilitating unified viewing of the message; facilitating a user,
by the wireless mobile communication device, in composing an email
message, a text message or a voice message; and in response to a
user request while facilitating the user in said composing of an
email message, a text message or a voice message, switching by the
wireless mobile communication device to facilitating the user in
unified viewing of the received messages and the sent messages
using the unified message objects.
23. The method of 22, further comprising receiving by the wireless
mobile communication device, a user selection to view one of the
email, text or voice messages being viewed in a unified manner,
wherein the messages being viewed in a unified manner include
messages received by the wireless communication device and messages
sent by the wireless communication device; retrieving by the
wireless mobile communication device from the unified message
object of the selected message, the pointer pointing to the
selected message; retrieving the selected message by the wireless
mobile communication device using the retrieved pointer; and
displaying or playing by the wireless mobile communication device,
the retrieved message.
Description
FIELD OF THE INVENTION
The present invention pertains to the field of wireless mobile
communication. More particularly, the present invention relates to
a unified thread of communication with a communication partner or a
group of communication partners for wireless mobile communication
devices.
BACKGROUND OF THE INVENTION
Since their introduction, the capabilities and the number of
services and features for wireless mobile phones (also referred to
as cellular telephones) have steadily increased while the cost of
ownership and operation has decreased. At first, these wireless
mobile phones (WMP) operated on analog wireless networks that
enabled voice communication and simple paging features. Later,
digital wireless networks were introduced for WMP to provide more
advanced features for voice and data communication, such as
encryption, caller identification, and transmitting and receiving
email and short message service (SMS) text messages.
Some WMP also incorporate many of the features originally provided
for in handheld electronic devices, such as personal digital
assistants (PDAs). Relatively simple PDA features such as keeping a
list of contacts, a calendar, appointments, and the like have been
generally integrated into recent cellular telephone models,
blurring the distinction between WMP and PDAs.
User interfaces for wireless mobile devices are inherently limited
by the size of the devices, often times using a standard 12-key
keypad and/or a touch pad in conjunction with a fairly small
display. These interfaces are often menu driven. Typical top menu
items include "messages", "call log", "profile", "setting", and so
forth. Each of the top menu items may include one or more layers of
sub-menu items. For example, sub-menu items under "messages" may
include "voice mails", "text messages", "emails," and so forth.
Sub-menus under "text messages" or "email" may include an "inbox"
and an "outbox." At each menu level, menu items are often navigated
in a predetermined round robin order. From a sub-menu level, a user
often has to back track one or more levels before being able to
navigate into another sub-menu.
With these kinds of typical interfaces, a user typically has to
navigate in and out, and back and forth among many menus and
sub-menus, due to the variety of communication services available,
and the different formats the various come in, to locate the
various communications a user had with another party.
BRIEF DESCRIPTION OF THE DRAWINGS
Examples of the present invention are illustrated in the
accompanying drawings. The accompanying drawings, however, do not
limit the scope of the present invention. Similar references in the
drawings indicate similar elements.
FIG. 1 illustrates an example communication environment suitable
for practicing the present invention, in accordance with one
embodiment.
FIG. 2 illustrates one embodiment of a hardware system to implement
embodiments of the present invention.
FIG. 3a illustrates one embodiment of a user interface for
embodiments of the present invention.
FIG. 3b illustrates one embodiment of a user interface for
embodiments of the present invention.
FIG. 4 illustrates one embodiment of a data structure for
embodiments of the present invention.
FIG. 5 illustrates one embodiment of an operational flow of an
unified message function for embodiments of the present
invention.
DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS
In the following detailed description, numerous specific details
are set forth in order to provide a thorough understanding of the
embodiments of the present invention. However, those skilled in the
art will understand that other embodiments may be practiced without
these specific details, and that the present invention is not
limited to the depicted embodiments. In other instances, well known
methods, procedures, components, and circuits have not been
described in detail.
Parts of the description will be presented using terminology
commonly employed by those skilled in the art to convey the
substance of their work to others skilled in the art. Also, parts
of the description will be presented in terms of operations
performed through the execution of programming instructions. As
well understood by those skilled in the art, these operations often
take the form of electrical, magnetic, or optical signals capable
of being stored, transferred, combined, and otherwise manipulated
through, for instance, electrical components.
Various operations will be described as multiple discrete steps
performed in turn in a manner that is helpful for understanding the
illustrative embodiments. However, the order of description should
not be construed as to imply that these operations are necessarily
performed in the order they are presented, nor even order
dependent. Lastly, repeated usage of the phrase "in one embodiment"
does not necessarily refer to the same embodiment, although it
may.
FIG. 1 illustrates an example communication environment suitable
for practicing the present invention, in accordance with one
embodiment. As illustrated, a user of a wireless mobile phone (WMP)
102 in environment 100 may place and/or receive calls (and/or voice
mails) to and from another WMP user, such as user of WMP 104, or
another line based handset user, such as user of handset 106, via
wireless networks 108, PSTN 110, and/or Internet 112, through which
WMP 102 and 104 and handset 106 are communicatively coupled. User
of WMP 102 may also send and receive text and/or email messages to
and from another WMP user, such as user of WMP 104, or another line
based computer user, such as users of computers 122-124, via the
same wireless networks 108, PSTN 110, Internet 112, and/or LAN 116.
LAN 116 may include server 120 providing various services, such as
email services.
Resultantly, WMP 102/104 may receive messages of different message
formats, including but are not limited to voice mails, missed call
notifications, emails, text messages and so forth from different
communication partners. Embodiments of the present invention
provide a single stack or message box for messages in multiple
message formats. For instance, rather than having one inbox for
calls received, another inbox for voice mail, another inbox for
email, and yet another inbox for text messages, embodiments of the
present invention list two or more types (e.g. all types) of
incoming messages in a single inbox. Other embodiments can
similarly list two or more types (e.g. all types) of outgoing
messages in a single outbox. Yet other embodiments may list two or
more types (e.g. all types) of incoming/outgoing messages in a
single message box.
Embodiments of the present invention also provide a unified
threaded of communication including messages of different message
formats with a communication partner or a group of communication
partners. For instance, the earlier described unified message box
may be particularized for a single communication partner or a group
of communication partners, effectively transforming the unified
message box into a unified thread of communication with the
communication partner or group of communication partners. As with
the unified message box, the unified thread may comprise of
messages from the particular communication partner or group of
communication partners of various message types, voice messages,
emails, text messages, and so forth.
Before describing embodiments of the present invention further, it
should be noted that the present invention is not limited to call,
voice mail, email, and text messaging, but may instead be applied
to virtually any messaging format currently available or introduced
in the future. Further, for ease of understanding, both a
communication partner and a group of communication partners, will
simply be refer to as "a communication partner". In other words,
the phrase "a communication partner", including its usage in the
claims, includes the plural form "a group of communication
partners".
Still referring to FIG. 1, wireless networks 108 refer to the
wireless service networks of wireless telephone service providers,
such as the wireless service networks offered by companies like
AT&T Wireless of Redmond, Wash., Sprint of Overland Park,
Kans., and so forth. Wireless networks 108 include base stations,
such as base station 114, switches/routers (not shown), and so
forth. PSTN 110 refers to the traditional circuit switched network
of line based telephone services, such as the line circuits
operated by Qwest of Denver, Colo., Bell South of Atlanta, Ga., and
so forth. Internet 112 refers to the famous packet based networking
backbone inter-networking private and public networks, such as
intranet 116 of wireless service provider 130.
FIG. 2 illustrates one embodiment of a hardware system suitable for
use to implement WMP 102/104, in accordance with one embodiment. In
the illustrated embodiment, the hardware system includes processor
210 coupled to high speed bus 205, which is coupled to input/output
(I/O) bus 215 through bus bridge 230. Temporary memory 220 is
coupled to bus 205. Permanent memory 240 is coupled to bus 215. I/O
device(s) 250 is also coupled to bus 215.
Temporary memory 220 and permanent memory 240 include in particular
a transient copy and a persistent copy of unified message function
260 respectively, to be described more fully below. For the
embodiment, temporary memory 220 and permanent memory 240 further
include a transient copy and a persistent copy of system services
262 respectively. System services 262 represent a broad range of
system services, including but are not limited to memory
management, task management, interrupt/exception processing,
graphics services, device services, and so forth.
I/O device(s) 250 may include a display device 270, a keypad 272
(including alphanumeric keys, and e.g. a scroll key), an antenna
274, radio frequency transponder or transceiver 276, and so forth.
Transceiver 276 together with its device services may be equipped
enable access to several types of communication services including
global system for mobile (GSM) voice communications, short message
service (SMS) text messaging, simple mail transfer protocol (SMTP)
email, and the like. Each type of service may use its own
communications format, storage format, user presentation format, as
well as response format.
In various embodiments, WMP 102/104 may also include one or more
external accessory interfaces, to facilitate coupling of an
intelligent accessory, e.g. an intelligent interchangeable
accessory cover, to enhance or customize the functions of WMP
102/104. Customizing or further enriching the functionalities of a
mobile communication device is the subject matter of co-pending
U.S. patent application Ser. No. 10/087,098, filed on Mar. 1, 2002,
and entitled "PERSONALIZING ELECTRONIC DEVICES AND SMART COVERING",
which specification is hereby incorporated by reference (for U.S.
version of the present application).
Certain embodiments may include additional components, may not
require all of the above components, or may combine one or more
components. For instance, temporary memory 220 may be on-chip with
processor 210. Alternately, permanent memory 240 may be eliminated
and temporary memory 220 may be replaced with an electrically
erasable programmable read only memory (EEPROM), wherein software
routines are executed in place from the EEPROM. Some
implementations may employ a single bus, to which all of the
components are coupled, or one or more additional buses and bus
bridges to which various additional components can be coupled.
Those skilled in the art will be familiar with a variety of
alternate internal networks including, for instance, an internal
network based on a high speed system bus with a memory controller
hub and an I/O controller hub. Additional components may include
additional processors, digital signal processors (DSPs), additional
memories, and other peripheral components known in the art.
FIG. 3a illustrates an end user interface of unified message
function 260 suitable for use to implement WMP 102/104, in
accordance to one embodiment. As alluded to earlier, the user
interface provides a unified message box for messages of multiple
formats, e.g. all message formats, to enable a user of WMP 102/104
not having to go through separate inboxes for voice mail notices,
missed calls identifiers, email messages, and text messages. In
other words, voice mail notifications, text messages, and/or
emails, etc., may all be listed together in the unified message
box. Accordingly, a user remembering receiving a message from a
particular person, need not remembers if the message was voice
mail, email, a text message, etc, nor having to go through multiple
stacks/boxes to look for the message.
For the embodiment, the unified message stack or box is displayed
on a screen 270. For instance, the screen 270 may be a liquid
crystal display (LCD) on a WMP. Any number of other display devices
may be used.
Column 320 identifies the sender/caller using an icon or a digital
image. The icon or digital image may be retrieved from e.g. a
contact record. Messages associated with a particular contact may
be marked with the corresponding icon to conveniently recognize the
contact. Messages 310 and 312 are from the same contact, as
indicated by the same icon used for both messages. Near the bottom
of the screen 270, two unknown senders/callers are listed with a
question mark icon.
Column 322 identifies the message type. Going down the column, the
messages are an email, a text message, a voice mail, another text
message, and two missed calls.
Column 324 is the subject column. Depending on the type of message,
different information is added to the subject column. For emails,
the subject line of the email header is displayed up to a certain
number of characters. For text messages, the messages are usually
short, so the message itself is displayed up to a certain number of
characters. For text message 312, the message is too long to
display on one line, as indicated by the training periods. Text
message 314 is also too long to fit on one line. However, in the
illustrated embodiment, when a text message is highlighted, the
subject line is automatically extended up to a certain number of
lines. If the entire text of the message is still too long, a
command can be used to open the message in the same fashion that an
email message can be opened.
Column 326 is the date received and column 328 is the time
received. Emails and text messages may not be received at the time
and day as they are sent. In which case, other embodiments may
display the date and time sent for emails and/or text messages.
In the illustrated embodiment, there may be additional messages
listed above and below the messages currently shown on screen 270.
A user may scroll to the additional message using e.g. a scroll key
of the WMP.
As discussed above, a unified interface may be used for all of the
messages. For instance, open, delete, and reply commands can be
used for any of the messages by highlighting a particular message
and enter the appropriate command.
FIG. 3b illustrates another end user interface of unified message
function 260 suitable for use to implement WMP 102/104, in
accordance with another embodiment. As alluded to earlier, the user
interface provides a unified thread of communication including
messages of different message formats with a particularized
communication partner (e.g. a group of communication partners who
are members of a group id).
In various embodiments, the interface of FIG. 3b may be presented
e.g. in response to a user input to particularize the unified
message box of FIG. 3a to a particular communication partner. In
other embodiments, the interface of FIG. 3b may be entered directly
via another user input from other operating states, e.g. an email
composition state, a text message composition state, and so
forth.
Embodiments of the present invention provide a single threaded
message history for a particular "conversation" across multiple
messaging sessions and multiple messaging formats. "Conversation,"
as used herein, refers to an exchange of electronic messages
between a user and a contact, or among a user and a group of
contacts. Rather than using a separate menu for each type of
electronic message, such as email and text messages, embodiments of
the present invention provides a single interface to all of the
messages that are part of the conversation. Rather than using a
separate inbox and outbox for messages to and from a particular
conversation participant, embodiments of the present invention list
all of the messages together so that the message list progresses
like a verbal conversation between or among participants, rather
like a transcript. Unlike an chat session, such as an Instant
Messenger.RTM. chat session, embodiments of the present invention
persistently maintain a conversation until the conversation, or
particular messages within the conversation are deleted by a
user.
In one embodiment, each conversation is based on a contact record,
history, or profile. Contact records are sometimes referred to as a
"pal" list. A for a particular contact, a record is created listing
information such as the contact name, email address(es), phone
number(s), text messaging identifiers, and the like, and stored on
the user's communication device. Many different message protocols,
services, or formats use a variety of different ways to identify
the sender, and contact records can include any and all of them. As
services and contacts change and come available, contact records
can be added, deleted, and modified.
When a message arrives, be it an email message, a text message, a
voice mail notification, or the like, identifying information can
be taken from the message and compared to the contact records. For
instance, an email address of the sender can be compared to the
email addresses listed among the contact records. Similarly, if
caller ID is available, a caller's name or telephone number can be
compared to the contact records. If a match is found, the message
is added to a conversation thread for that particular contact.
Similarly, for outgoing messages, identifying information from the
message can be compared to contact records and, if a match is
found, added to the appropriate conversation. In a alternate
embodiment, a user can generate a message by selecting a contact
from a contact list. In which case, the outgoing message can also
be added to the conversation thread for that contact.
If a message is received from an unknown or unrecognized source,
any number of actions can be taken. One embodiment places the
message in an general inbox for incoming messages. Another
embodiment maintains a general conversation thread for messages to
and from unknown sources.
In one embodiment, multiple conversations can be tracked on a
device, and a user can switch among the conversations. In another
embodiment, multiple contacts can be added to a single conversation
thread. In yet another embodiment, conversations with a particular
contact can be separated into multiple conversation. For instance,
private and business conversations could be segregated by directing
messages from a personal email address, text message service,
and/or telephone number to a private conversation, and messages
from a work email address, text message service, and/or telephone
number to a work conversation.
As illustrated, for the embodiment, the unified message function
listed messages of all message types with a communication partner
in chronological order. In various embodiments, chat messages
include messages across multiple chat sessions. Each list message
may include an image icon 322 or 324 depicting the communication
partner or the user himself/herself. Further, each message may
include an icon depicting the message type. For a voice message
342, the displayed message may include the communication partner's
phone number. For a text message (such as a SMS message), the
display message may include some or all of the message text. For an
email message 344, the displayed message may include e.g. the
subject line. Thus, a user of WMP 102/104 may be able to follow a
thread of conversation with a communication partner with greater
ease.
FIGS. 3a-3b illustrate a number of implementation specific details.
Other embodiments may not include all of the illustrated fields,
may arrange the fields differently, may include additional fields,
may provide for different types of interaction with messages, may
provide for interaction with messages in different ways, etc.
For example, in one embodiment, messages within the unified message
box (particularized to a communication partner or not) may simply
listed in the chronological order in which they were received. In
other embodiments, unified message function 260 may include support
for the user to change the order in which all of the messages are
listed within the unified message box. For instance, a user may be
able to list messages in reverse chronological order, as well as
based on whether or not the messages have been read, who the sender
is, the type of messaging service used (voicemail, email, SMS
message, etc.), and the like.
In one embodiment, WMP 102/104 may also be equipped to maintain
contact records. Each contact record may include identifying
information for a particular contact, or group of contacts,
including, for instance, phone number(s), email address(es),
Internet Protocol (IP) addresses, and the like. When a message is
received, regardless of the messaging protocol used, information is
filtered from the message to identify the sender, if possible. For
instance, an email will include the email address of the sender. A
text message may include an IP address. If caller ID is available,
a voice mail notification or a missed call notification may include
the name and/or telephone number of the caller. The identifying
information is compared to the contact records. If a match is
found, the message is associated with that contact. So, for
instance, all messages from a particular contact can be listed in
the unified stack has having been sent from that contact, whether
the messages are voice mail notifications, emails, text messages,
etc.
In one embodiment, the messages in the unified message stack or box
may be physically stored together in a storage device of WMP
102/104. In other embodiments, the physical location of the
messages is irrelevant.
For instance, in one embodiment, pointers are be used to keep track
of the actual messages in memory. Messages are received and stored
in physical memory in any of a number of ways. For each message,
regardless of protocol, an indication of the message is written to
the unified message stack/box. Each indication includes a pointer
to the message in memory. Each indication may also include other
information about the message including an identifier of the type
of message (email, text, voice, etc.), an identifier of the sender,
the time and date sent and/or received, etc.
In one embodiment, icons may also be used to represent certain
types of information in the unified stack, in addition to the
earlier described identification of the senders/callers. For
instance, an entry in the unified stack may include an icon for the
type of message (email, text, etc.).
In one embodiment, support is also provided for a user to reply to
any message in the unified stack/box by selecting a message and
pressing a particular number on the cell phone key pay. For text
messages, pressing the reply command may open a new text message
addressed to the sender of the selected message. Similarly,
selecting an email message and pressing the reply command may open
a new email message addressed to the sender of the selected
message. For a voice message, pressing reply may dial the callers
phone number. In each case, the unified message function is
equipped to be able to discern the appropriate communication
protocol, e.g. by way of the message type. The same interface
command applies for any message in the unified stack/box using any
available message protocol.
In an alternative embodiment, replying to a selected message does
not have to use the same message protocol as the selected message.
That is, rather than automatically replying to an email with an
email, the device (e.g. by way of the unified message function) may
give the user the opportunity to reply with a phone call or text
message. For instance, if a contact record is associated with a
selected message, the contact record may list multiple
communications services for that sender and give the user the
opportunity to select any one of the available services with which
to reply. Then, based on the service type selected, the device
(e.g. by way of the unified message function) can automatically
initial a message that is appropriately addressed. If a contact
record is not available, but a return address or phone number is
available for the selected message, the device (e.g. by way of the
unified message function) may only be able to automatically initial
a reply message using the same type of messaging service. But, the
device (e.g. by way of the unified message function) may still give
the user an opportunity to select other service types and then, if
a different service type is selected, prompt the user for the
appropriate address or phone number.
Uniform message interfaces could also include many other commands
and features. For instance, there could be a command to delete a
selected message. A delete command could be designed to merely
delete an indication from the unified stack, or the command could
delete both the indication of the message from the unified
stack/box and the actual message itself. Another command could
forward a message. In which case, a user would likely be prompted
for a destination address or number. Other commands could be used
to change the order of the stack based on, for instance,
read/unread, chronological order, reverse chronological order,
sender identification, service-type, etc. Another command to be
used to open a message, or display more detailed information about
a message.
FIG. 4 illustrates an exemplary data structure suitable for use to
practice embodiments of the invention. For the embodiment, data
structure 400 includes a number of email message objects 422, text
message objects 442, voice message objects 462, and call message
objects 482 for storing email messages, text messages, voice
messages and call messages respectively.
Each email message object 422 may include e.g. message identifier
424, message header fields 426 and message body 428. Message header
fields 426 may include sender identifiers, dates, times, and so
forth. Each email message object 422 may also include send/receive
method 430 for sending and receiving an email message, an
open/close method 432 for opening and closing an email, a
forward/delete method 434 for forwarding or deleting an email, and
a get/put method 436 for retrieving and storing an email
object.
Each text message object 442 may include e.g. message identifier
444, message header fields 446 and message body 448. Message header
fields 446 may include sender identifiers, dates, times, and so
forth. Each text message object 442 may also include send/receive
method 450 for sending and receiving a text message, an open/close
method 452 for opening and closing a text message, a forward/delete
method 454 for forwarding or deleting a text message, and a get/put
method 456 for retrieving and storing a text message object.
Each voice message object 462 may include e.g. message identifier
464, message header fields 466 and message body 468. Message header
fields 466 may include sender identifiers, dates, times, and so
forth. Each voice message object 462 may also include play/stop
method 470 for playing and stop playing of a voice message, a fast
forward and reverse method 472 for opening and closing a voice
message, a forward/delete method 474 for forwarding or deleting a
voice message, and a get/put method 476 for retrieving and storing
a voice message object.
Each call message object 482 may include e.g. message identifier
484, message header fields 486 and message body 488. Message header
fields 486 may include sender identifiers, dates, times, and so
forth. Each call message object 482 may also include dial/re-dial
method 490 for dial/re-dialing a prior call, a delete method 492
for deleting a call message, and a get/put method 494 for
retrieving and storing a call message object.
In each case, alternate embodiments may have more or less fields,
and/or more or less methods for the various email, text, voice and
call messages.
Still referring to FIG. 4, data structure 400 also includes contact
objects 502 and unified message box objects 402. Each contact
object 502 may include e.g. contact identifier 504, a name and an
icon of the contact 506 and addresses of the contact 508, such as
phone numbers, email user identifier, IP addresses, and so forth.
Each contact object 502 may also include open/close method 510 for
opening or closing a contact, an edit/delete method 512 for editing
and/or deleting a contact, and a get/put method 514 for retrieving
and storing a contact object.
Each unified message box object 402 may include e.g. message
identifier 404, a message type 406 and a pointer to the message
408, that is an email message, a text message, a voice message and
a call message. Each unified message box object 402 may also
include open/close method 410 for opening or closing an unified
message box object, a get/put method 512 for retrieving and storing
a unified message box object 412, and other methods 414.
FIG. 5 illustrates an example operation flow of the unified message
function of FIG. 2, in accordance with one embodiment. The
embodiment assumes a WMP 102/104 sends and receives a plurality of
messages in a plurality of message formats, e.g. email, text,
voice, call and so forth. Further, the messages are stored in
message objects of corresponding object types, and an indication of
each of the plurality of messages is stored in e.g. a unified
message box object of FIG. 4. As descried earlier, the unified
message box object may include information such as the service
type, and a pointer to the message itself. The embodiment is
suitable to implement the unified message box, whether it is
particularized to a communication partner or not.
Thus, during operation, in response to a user request, e.g.
inputted using the input key pad, the unified message function may
list a list of the messages of the various message types 502. For
the embodiment, the unified message function traverses the unified
message box objects, retrieving their pointers, and in turn, using
the retrieved pointers to retrieve the messages. Further, if the
sender is a contact, the unified message function may also retrieve
additional information about the sender from the corresponding
contact object, including e.g. as described earlier, an image or
icon depicting the sender. As also described earlier, if the sender
is unknown, an unknown icon, such as a "?" may be displayed
instead.
Upon displaying the list, the unified message box function waits
for user inputs, 504. On receipt, the nature of the user input is
determined, and responded to accordingly.
As illustrated, if the user input is to open a message, the message
is "open" by the unified message function, providing the user with
additional message details 506, as described earlier.
If the user input is to "reply", a pop up may be presented by the
unified message function to facilitate the user to reply in like
communication protocol (email to email, text to text and so forth)
may be provided, 508, as described earlier. As described earlier,
the unified message function may be equipped to ascertain the
appropriate communication type, e.g. by way of the message type.
Likewise, as described earlier, a pop up may be presented by the
unified message function to facilitate the user to reply in another
communication protocol (if supported by the sender, as determined
e.g. based on the contact information) may be provided instead.
If the user input is to close a message, the message is "closed"
510 by the unified message function, accordingly
Of course, these are just a few of the user inputs that may be
supported. Alternate embodiments may support a broad range of other
user manipulation of the message objects in the unified message
box.
Software implementations of the embodiments of the present
invention may be implemented in a wide range of machine executable
instructions, including but are not limited to C. In alternate
embodiments, the present invention may be implemented in discrete
hardware or firmware. For example, one or more application specific
integrated circuits (ASICs) could be programmed with one or more of
the above described functions of the present invention. In another
example, one or more functions of the present invention could be
implemented in one or more ASICs on additional circuit boards and
the circuit boards could be inserted into the hardware system
described above. In another example, field programmable gate arrays
(FPGAs) or static programmable gate arrays (SPGA) could be used to
implement one or more functions of the present invention. In yet
another example, a combination of hardware and software could be
used to implement one or more functions of the present
invention.
Thus, a unified stack/box for calls and messages, particularized
for a communication partner for wireless mobile devices has been
described. Whereas many alterations and modifications of the
present invention will be comprehended by a person skilled in the
art after having read the foregoing description, it is to be
understood that the particular embodiments shown and described by
way of illustration are in no way intended to be considered
limiting. Therefore, references to details of particular
embodiments are not intended to limit the scope of the claims.
* * * * *