U.S. patent application number 12/354184 was filed with the patent office on 2009-05-21 for automatic user availability status determination for a handheld communication device.
This patent application is currently assigned to Research In Motion Limited. Invention is credited to Gerhard D. KLASSEN, Shaul S. Wisebourt.
Application Number | 20090131034 12/354184 |
Document ID | / |
Family ID | 36036038 |
Filed Date | 2009-05-21 |
United States Patent
Application |
20090131034 |
Kind Code |
A1 |
KLASSEN; Gerhard D. ; et
al. |
May 21, 2009 |
AUTOMATIC USER AVAILABILITY STATUS DETERMINATION FOR A HANDHELD
COMMUNICATION DEVICE
Abstract
To automatically determine the availability status of the user
of a handheld communication device, various selected conditions of
the device may be checked, which imply whether or not the user is
likely Available, or Unavailable or the equivalent. Normally, the
selected conditions are checked only if the user has not explicitly
or semi-explicitly set his or her status to Unavailable. The
conditions to be checked can vary widely, but generally include
anything from which it might be inferred or implied that the user
is likely either Available or Unavailable or the equivalent. Such
conditions can include, for example, whether or not a specified
timeout for use of a keypad, trackwheel or other mechanical feature
of the device has elapsed yet; whether or not a real-time
application is in use; and preferably any one or more of a variety
of other conditions, one further example being whether or not there
are any unattended-to notifications such as an unanswered phone
call, or a missed e-mail, SMS or other message.
Inventors: |
KLASSEN; Gerhard D.;
(Waterloo, CA) ; Wisebourt; Shaul S.; (Waterloo,
CA) |
Correspondence
Address: |
BORDEN LADNER GERVAIS LLP;Anne Kinsman
WORLD EXCHANGE PLAZA, 100 QUEEN STREET SUITE 1100
OTTAWA
ON
K1P 1J9
CA
|
Assignee: |
Research In Motion Limited
Waterloo
CA
|
Family ID: |
36036038 |
Appl. No.: |
12/354184 |
Filed: |
January 15, 2009 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
11048716 |
Feb 3, 2005 |
|
|
|
12354184 |
|
|
|
|
60607758 |
Sep 8, 2004 |
|
|
|
Current U.S.
Class: |
455/418 |
Current CPC
Class: |
H04L 51/04 20130101;
H04L 51/38 20130101; H04M 1/7243 20210101; H04W 8/22 20130101; H04M
1/72451 20210101; H04L 67/24 20130101 |
Class at
Publication: |
455/418 |
International
Class: |
H04M 3/00 20060101
H04M003/00 |
Claims
1. A method for determining the availability status of a user of a
handheld communication device, the method comprising: checking if
an interval between when the handheld device is removed from a
holster and returned to the holster is less than a predetermined
threshold; and if the interval is less than the threshold,
determining the availability status as Unavailable.
2. A method as in claim 1, further comprising checking whether or
not the availability status has been explicitly or semi-explicitly
set to Unavailable, and if so, bypassing the checking if the
interval is less than the predetermined threshold.
3. A method as in claim 2, wherein, after bypassing, there is no
further checking until when and if the availability status is set
to Available.
4. A method as in claim 2, wherein, after bypassing, there is no
further checking until a second predetermined time interval has
passed.
5. A handheld communication device provided with a
computer-readable medium containing instructions, which, when
executed by the handheld communication device, cause the handheld
communication device to perform a method for determining the
availability status of a user of the device, the method comprising:
checking if an interval between when the handheld device is removed
from a holster and returned to the holster is less than a
predetermined threshold; and if the interval is less than the
threshold, determining the availability status as Unavailable.
6. A handheld communication device as in claim 5, wherein the
method further comprises checking whether or not the availability
status has been explicitly or semi-explicitly set to Unavailable,
and if so, bypassing the checking if the interval is less than the
predetermined threshold.
7. A handheld communication device as in claim 6, wherein. after
bypassing, there is no further checking of availability status
until when and if the availability status is set to Available.
8. A handheld communication device as in claim 6, wherein after
bypassing, there is no further checking of availability status
until a second predetermined time interval has passed.
9. A method for determining the availability status of a user of a
handheld communication device, the method comprising: checking if
an interval between when the handheld device is removed from a
holster and returned to the holster is less than a predetermined
threshold; if the interval is less than the threshold, determining
the availability status as Unavailable; and communicating the
availability status via a network with which the handheld
communication device is in communication.
Description
REFERENCE TO RELATED APPLICATIONS
[0001] This is a divisional of U.S. patent application Ser. No.
11/048,716, filed Feb. 3, 2005, which claims the benefit of
Provisional Application No. 60/607,758, filed Sep. 8, 2004, the
contents of all of which are expressly incorporated herein by
reference.
FIELD
[0002] This application relates to handheld communication devices,
and in particular to a method for automatically determining the
availability status of a user of a handheld communication
device.
BACKGROUND
[0003] There are handheld communication device applications in
which updated user availability status information is important.
Instant messaging is a good example of such an application. A user
expects answers mostly in real time (unlike SMS, for example), so
it is critical to know other party's availability status at the
time when the user sends his or her instant message. Most instant
messaging allow the user to explicitly set his or her availability
status. Most such applications also provide an implicit way for the
client application to say whether the user is available or not.
Usually the user availability status is changed by a desktop
application based on whether the keyboard has remained idle for a
certain period of time. However, this approach is not relevant for
some handheld communication devices, such as when the device is in
its holster, for example. The user may be actually available for
responses, and just in a waiting mode, with the device idle. The
implicit or automatic approach that is used by a desktop client is
therefore not applicable to such devices.
SUMMARY
[0004] In view of the above, it is an object of embodiments herein
to provide an improved method for determining the availability
status of a user of a handheld communication device.
[0005] Thus according to an aspect herein, a method is provided for
automatically determining user availability status. Various
selected conditions of the device may be checked, which imply
whether or not the user is likely Available, or else
Unavailable.
[0006] According to a further aspect, preferably the selected
conditions are checked only if the user has not explicitly or
semi-explicitly set his or her status to Unavailable. In such a
case, checking would be clearly redundant, since the user has
clearly indicated a desire to override any automatic
determination.
[0007] The conditions to be checked can vary widely, but generally
include anything from which it might be inferred or implied that
the user is likely either Available or Unavailable. Such conditions
can include, for example, whether or not a specified timeout for
use of a keypad, trackwheel or other mechanical feature of the
device has elapsed yet; whether or not a real-time application is
in use (a phone or games application, for example); and preferably
any one or more of a variety of other conditions, one further
example being whether or not there are any unattended-to
notifications such as an unanswered phone call, or a missed e-mail,
SMS or other message.
[0008] Further aspects will be described or will become apparent in
the course of the following detailed description.
[0009] Throughout this specification, the terms Available and
Unavailable are used for convenience. Of course it should be
clearly understood that the terms used may vary among devices and
from company to company within the industry, and the embodiments
herein apply regardless of what actual terms are used to describe
the states herein designated as Available and Unavailable. Without
limiting the generality of the foregoing, alternative expressions
such as "busy" or "unreachable" or "inaccessible" could be used,
for example.
BRIEF DESCRIPTION OF THE DRAWINGS
[0010] Aspects and embodiments will now be described with reference
to the accompanying drawings, in which:
[0011] FIG. 1 is a block diagram showing an example flow of a
method for checking user availability status;
[0012] FIG. 2 is a block diagram showing an alternative example of
the method; and
[0013] FIG. 3 is a block diagram showing a more specific example of
the method.
DETAILED DESCRIPTION
[0014] FIG. 1 shows a block diagram illustrating the principle of
embodiments herein. From an entry point 1, the method checks at box
2 for any one or more of a number of possible conditions which
might reasonably imply that the user is Unavailable. If one of
those conditions applies, then the user availability status is set
to Unavailable at box 3 and there is a Check Later at box 4 to see
if that is still the case. Otherwise, the user availability status
is set to Available at box 5, and there is a check again later at
box 4, or instead via box 4' if a different time interval was
desired than the time interval of box 4.
[0015] In the FIG. 1 example, the method is invoked only if the
user has not explicitly set his or her status to Unavailable (via a
Do Not Disturb option or setting or button, for example).
Similarly, if the user has "semi-explicitly" set his or her status
to Unavailable, for example by selecting a "Quiet" or other profile
which implies Unavailable or which has Unavailable associated with
it by default or by user selection, then the method is not invoked,
i.e. there is no path to entry point 1. The check for this explicit
or semi-explicit setting takes place outside the example.
[0016] In FIG. 2, an alternative is shown, in which checking for an
explicit or semi-explicit Unavailable setting takes place within
the example. From the entry point 1, that is the first condition
which is checked, at box 6. If there is an explicit or
semi-explicit Unavailable setting, then there is just a Check Later
at box 4 or box 4'', to see if that is still the case. Otherwise,
the rest of the method proceeds as in FIG. 1.
[0017] FIG. 3 shows a particular example of the method. This
example follows the model of FIG. 2, but could also follow the
model of FIG. 1, i.e. with respect to whether or not the check for
explicit or semi-explicit Unavailable status takes place within the
method or elsewhere. In FIG. 3, boxes 21, 22 and 23 correspond to
box 2 in FIGS. 1 and 2, and provide specific examples of conditions
which could be checked in making an automatic user status
determination.
[0018] Preferably the method first checks at box 21 to see if the
elapsed time from last use of a keyboard or trackwheel or possibly
some other mechanical feature of the device is greater than some
defined timeout, 15 to 30 minutes for example. If not, then the
user availability status is set to or left at Available, i.e. he or
she is considered to be Available in view of current or recent use
of the device.
[0019] If the timeout has elapsed, then preferably the method next
checks at box 22 to see if a real-time application such as a phone
or game is in use. If so, the user availability status is set to or
left at Available, i.e. he or she is considered to be likely
Available, just temporarily occupied.
[0020] If there is no real-time application in use, then preferably
the method next checks at box 23 for any one of a number of
possible additional conditions which might indicate or imply that
the user is Unavailable. For example, the method could check for
any of the following: [0021] a. Unattended-to notifications: if
there are notifications, for example an unanswered phone call, or a
missed e-mail, SMS or other message, which the user has not
responded to; [0022] b. A Calendar event, indicating a
contemporaneous appointment; [0023] c. An event which the device
recognizes as the user indicating temporary unavailability. For
example, in some devices, the action of removing the device from a
holster and immediately replacing it ("click-click") may be deemed
to be a signal that the user doesn't want to accept any
notifications; [0024] d. The device being locked; [0025] e. The
time being within the user's indicated normal sleep or off-duty
hours; [0026] f. The battery being low, in which case the user may
wish to be considered Unavailable, to preserve the battery for
other uses; [0027] g. The user being out of the coverage area; and
[0028] h. Anything else relevant to the particular device, that
might logically indicate Unavailable.
[0029] It should be clearly understood that the above is a list of
examples only, and the manner in which the method is applied may
vary considerably. For some devices, some of the above options may
not be applicable, or there may be some options available which are
not listed. And for some devices, even if the options are
available, a decision may be made that only one or a few options
will be checked. For example, it may be decided just to check
whether the timeout has elapsed, if so check whether a real-time
application is in use, and if not check for any unattended-to
notifications.
[0030] If one of the conditions checked for does indeed apply, then
the user availability status is set to Unavailable at box 3.
Otherwise, it is set to Available at box 5. In either event, the
method then routes to the Check Later box 4.
[0031] Especially if it is decided that the system will be set up
to check a number of conditions, it makes sense to first check if a
real-time application is in use, as in the preceding. However, that
is not strictly a requirement herein. It is merely preferable,
before using resources to check for other conditions. In general,
it makes sense, where there are multiple conditions to be checked,
to check them in the order of highest probability, though not
mandatory.
[0032] The consequences of the device being deemed Available or
Unavailable depend on specific applications and specific
implementations, and can vary. That is outside the scope of the
application itself. The consequences can be established by either
the user's device, or a peer device, or both of them. For example,
the user might not be able to send a message to someone who is
Unavailable, or, as another example, the user may still be able to
send the message, but the peer device will not notify the user if
the peer device is Unavailable. The behavior may be fixed, or
preferably can be defined through user options.
[0033] Those who are knowledgeable in the field will appreciate
that there may be obvious variations to the preceding. Accordingly,
the invention is defined not by the above specific examples, but by
the claims which follow.
* * * * *