8. Detailed information of actions
Before using CUTE
, a user needs to have some
basic understanding of telecommunication services. A telecommunication
service can change the default bahavior of phones to provide
convenience to users. In common, when an incoming call arrives
at a user's phone, the phone rings until the user picks it up.
Telecommucation services can change this behavior. For example,
if the user is in a meeting and does not want to be disturbed,
she can enable the "Do Not Distrub (DND)" service. The DND service
can automatically reject calls so the user will not hear the ring tone
during the meeting. The user may further customize the DND service, for
example, by checking the name of the caller, she can allow only her
boss to call her during the meeting.
The task of CUTE
is to help users to create
and customize their telecommunication services.
In CUTE
, a telecommunication service is viewed as
how a user makes her decisions on a telecommunication event,
such as an incoming call. CUTE
can guide users to
make their decisions based on certain conditions, e.g., checking
whether a call is from a specific people or not. Users' decisions
usually involve one or several actions, such as rejecting a call, to
handle the telecommunication event. The figure below shows a fragment of
CUTE
's drawing board with a service that automatically
rejects calls from Bob Smith.
To start CUTE
, a user can simply run 'cute.exe'
on a Windows machine, or 'cute' on Unix/Linux. The first dialog
the user will see is as below.
The dialog shows three tasks the user can work on. The user can
also choose not to use this dialog now or in the future for service
creation. The name of the tasks self-explains their meanings. The user
can choose one task, for example, 'Handle incoming calls', to start her
service creation process, and an 'incoming call' icon
()
will appear on CUTE
's drawing board.
The incoming icon links to a list of available operations that
the user can select to handle incoming calls. The user can choose
to check the conditions of the call, or to perform some actions
for handling the call.
When the user chooses a condition to check, e.g.,
'check the caller/callee', an addressbook icon
()
appears with a small dialog asking for detailed
information of the checking.
For example, if the user wants to check whether a call is from
Bob Smith or not, she can specify the field to check as the
"name" of the "caller", and input the value "Bob Smith".
She can then click the "Ok" button and see the addressbook icon
()
with a description beside it, as well as two branches for additional
processing. One branch handles the situation for calls from Bob Smith,
and the other handles calls from others. The user can use the
same way described in this section to do further checking, or
use the way described in the next section to perform actions.
The more detailed information about each condition checking can be
found in the Detailed information of conditions
section of this manual.
Condition checking itself cannot provide any convenience to users. The
most important thing of call handling is to perform actions to deal
with calls.
CUTE
allows users to specify a number of
actions, such as automatically accepting, rejecting, and forwardng calls.
A user can also choose "Default call handling" so
her phone will behave in normal as what described in the section
Basic knowledge of telecommunication services.
If the user chooses an action, e.g., "Reject the call" action,
the rejecting call icon ()
will appear with a small dialog for
configuring the action. The user can specify the reason for rejecting
a call. The more detailed information about each action can be
found in the Detailed information of actions
section of this manual.
One action can be followed by further actions or condition checkings
based on the result of the action. For example, a user would like to
have a service to automatically "call 12129397000" at a specific time.
If the call fails, the user wants to send an email to "bob@example.com".
In CUTE
, after the user adds the "call" action, the
user will see a dialog asking for further processing options, as shown
in the figure below.
For example, the user may choose to handle the busy status of the call.
After the user clicking the 'Handle selected options' button, the user will
see a branch with available operations for further processing as shown
in the figure below. The more detailed information about the further
processing options of actions can be found in the
Detailed information of actions
section of this manual.
For an incoming call, a user can check seven different conditions, namely
"Check the caller/callee", "Check the call time", "Check the subject of
the call", "Check the priority of the call", "Check the language of the
call", "Check location", and "Check status".
A user can check who makes a call, and who should accept the call.
For example, the user can create a service to automatically reject
calls from Bob Smith by checking the name of the caller.
When the user chooses this operation, she will see an address checking
icon () with a configuration
dialog. On the dialog, she can choose whom to check (caller/callee),
and what to check (address/name/phone#). The address can be
an email address or a SIP address. (If the user does not know what
is a SIP address, it does not matter. In many cases, putting "sip:"
before a person's email address will be the person's SIP address.
For example, sip:bob@example.com is a SIP address).
A user can check when a call arrives for call handling. For example,
the user can automatically reject all Sunday morning calls.
When the user chooses this operation, she will see a time checking icon
() with a configuration dialog.
The checking can be recurred. For example, if the user wants to
do the checking every Sunday, she can set the recurrrence as "weekly".
A user can check the subject of a call for call handling. For example,
the user can automatically reject calls if their subject is "Advertisement".
When the user chooses this operation, she will see a string checking
icon () with a configuration dialog.
The user can input the subject to check.
A user can check the priority of a call for call handling. For example,
the user can automatically accept emergency calls.
When the user chooses this operation, she will see a priority checking
icon () with a configuration dialog.
There are four different priorities, namely "emergency", "urgent",
"normal", and "non-urgent". The user can choose to check whether the
priority of a call is "equal-to", "greater than", or "less than" a
specific priority value.
A user can check the language of a call for call handling. For example,
the user can automatically reject non-English speaking calls.
When the user chooses this operation, she will see a language checking
icon () with a list of languages.
The user can choose one or more languages to check against.
A user can check her own status for call handling. For example,
she can automatically reject calls when she is busy.
When the user chooses this operation, she will see a status checking
icon (). She can make call decisions
based on her presence, activity, mood, placetype, privacy, and idle
status. Different status have different set of values. For example,
the available values for presence status are "online" and "offline",
while the available values for privacy status are "private" and "public".
A user can check her own physical location for call handling.
For example, she can automatically accept calls when she is in home.
When the user chooses this operation, she will see a location checking
icon (). She can configure her
civic location information and make call decisions based on the location.
CUTE
provides several actions for users to handle calls.
In addition, CUTE
also allows users to perform non-call
related actions, such as sending emails, and controlling networked
appliances.
When a user chooses this action, she will see the accept icon
() with a label "accept the call".
The action will automatically accept incoming calls.
When a user chooses this action, she will see the reject icon
() with a configuration box asking
her for the reason to reject the call. The action will automatically
reject incoming calls, and tell the caller about the reason.
When a user chooses this action, she will see the call forwarding icon
() with a configuration box asking
for where to forward the call. The action will automatically forward
incoming calls to the configured address.
When a user chooses this action, she will see the alerting action icon
() with a configuration box asking for
the ring style. For customized ring style, the configuration box will
also ask the audio file to play. The action will automatically play
the user configured ring tone.
When a user chooses this action, she will see the calling action icon
() with a configuration box asking for
the target of the call. The action will automatically place an outgoing
call.
When a user chooses this action, she will see the instant messaging
action icon () with a configuration box
asking for the target, and the content of the message. The
action will automatically send an instant message to the target
address.
When a user chooses this action, she will see the disconnecting call
action icon (). The action will
automatically disconnect ongoing calls.
When a user chooses this action, she will see the transferring call
action icon () with a configuration
box asking for the target address to transfer calls. The action will
automatically transfer ongoing calls to the target address.
When a user chooses this action, she will see the email
action icon () with a configuration
asking for the target address, subject, and content of the email.
The action will automatically send an email to the target address.
When a user chooses this action, she will see the control
action icon () with a configuration
for the address of the networked appliance that need to be controlled.
A networked appliance can be a lamp, a microwave, a stereo, and etc.
The action can automatically send a control command to the networked
appliance.
When a user chooses this action, she will see the wait
action icon () with a configuration
box asking for how long to wait. The action can cause the user's phone
to wait for a period of time before executing subsequent actions.