Triggering actions with mobile messages

A mobile device may create a message rule to establish a causal relationship between a messaging activity and a device activity or vice versa. A message rule user interface displayed on the mobile device may receive from a user a message parameter, describing at least one of a message format and a message content of a hypothetical received mobile message. The message rule user interface also may receive a response action directive describing a device action to be performed by the mobile device in response to receiving an incoming mobile message corresponding to the message parameter. The mobile device may store a message target rule associating the message parameter with the response action directive. The mobile device may receive the incoming mobile message corresponding to the message parameter and execute the device action according to the response action directive.

BACKGROUND

A user may send a text or multimedia message to another user using a variety of messaging formats. For example, a user may send a message using a mobile message, referring to a short message usually sent from a mobile telephone, a smart phone, or a tablet. The mobile message may be formatted for transmission over a mobile telephone network or an internet connection, as opposed to email which is strictly formatted for transmission over an internet connection. The mobile message may send text, such as in a short message service (SMS); other types of media, such as in a multimedia message service (MMS); or some combination of the two. A user may use a mobile message for quick messages that are to be read immediately by the user.

SUMMARY

Examples discussed below relate to using a message rule to establish a causal relationship between a messaging activity and a device activity or vice versa. A mobile message device may present a message rule user interface to the user to establish a message rule. The message rule user interface may receive from the user a message parameter describing at least one of a message format and a message content of a hypothetical mobile message received in a mobile messaging module. The message rule user interface may receive a response action directive describing a device action to be performed by the mobile message device in response to receiving an incoming mobile message matching the message parameter. The mobile message device may store a message target rule associating the message parameter with the response action directive. The mobile message device may receive the incoming mobile message matching the message parameter. The mobile message device may execute the device action in response to the incoming mobile message according to the response action directive.

DETAILED DESCRIPTION

In one example, a mobile message device may create a message target rule to establish a causal relationship between a messaging activity and a device activity. A mobile message device may present a message rule user interface to the user to establish a message rule. The message rule user interface may receive from the user a message parameter describing at least one of a message format and a message content of a hypothetical mobile message received in a mobile messaging module. The message rule user interface may receive a response action directive describing a device action to be performed by the mobile message device in response to receiving an incoming mobile message matching the message parameter. The mobile message device may store a message target rule associating the message parameter with the response action directive. The mobile message device may receive the incoming mobile message matching the message parameter. The mobile message device may execute the device action in response to the incoming mobile message according to the response action directive.

Alternately, the mobile message device may create a message source rule to establish a causal relationship between a device activity and a messaging activity. The message rule user interface may receive a trigger parameter from a user describing a hypothetical meta device event occurring internal to the computing device. The message rule user interface may receive from the user a message directive describing an outgoing mobile message to be sent upon an occurrence of a meta device event matching the trigger parameter. The mobile message device may store a message source rule associating the trigger parameter with the message directive. The mobile message device may identify the occurrence of the meta device event matching the trigger parameter. The mobile message device may send the outgoing mobile message upon the occurrence of the meta device event according to the message directive.

A smart assistant module of a mobile message device may use a message rule to establish a causal relationship between a message activity performed by a mobile messaging module and subsequent activity of the mobile message device. A smart assistant module is an application module, such as Siri® or Cortana®, that coordinates other application modules on the mobile message device to improve user experience. A mobile messaging module describes an application module performing a core function of mobile message, such as sending and receiving mobile messages, displaying the message, or alerting the user to the message. The smart assistant module may also use a message rule to establish a causal relationship between a device activity occurring in other application modules of the mobile message device and a message activity. The message rule may have a parameter describing a hypothetical event to identify a future actual occurrence of that event. The message rule may have a directive proscribing an action for the mobile message device to execute. A message parameter may describe an incoming mobile message. A response action directive may proscribe a device action to execute based on the incoming mobile message. Conversely, a trigger parameter may describe a meta device event occurring in an application module external to mobile messaging. A message directive may proscribe a format for an outgoing mobile message to be sent in response to the meta device event.

By having the user control the exact form of the message activity that may trigger these actions, the user may be able to control who has access to the features of the mobile device. The user gets to set what key words, phrases, or data items are included in the incoming message so that just trusted confidants may cause the mobile message device to perform these actions. Similarly, by allowing the user to specifically tailor the trigger parameter to describe a specific set of events, the user may tailor the user's own experience using the mobile device.

FIG. 1illustrates, in a block diagram, one example of a mobile network100. A user mobile message device110may implement a mobile messaging module112to send a mobile message to a target mobile message device120via a data network connection130. The user mobile message device110may be a smart phone, a tablet, a game console, a smart watch, or other mobile device capable of sending mobile messages. The data network connection130may be a mobile telephone network, an Internet connection, a wide area network connection, a local area network connection, or other type of data network connection. Further, the user mobile message device110may implement the mobile messaging module112to receive a mobile message from a source mobile message device140via the data network connection130.

The user mobile message device110may implement a smart assistant module114, such as Siri® or Cortana®, to coordinate various modules to perform business and lifestyle functions. The smart assistant module114may provide both a graphic user interface and a verbal user interface to interact with a user. A user may use the smart assistant module114to compose or coordinate different types of mobile messages to be sent or received by the mobile messaging module112.

The target mobile message device120may be a simple mobile device that just implements a mobile messaging module122to send and receive mobile messages. Alternately, the target mobile message device120may range in complexity to even be a smart phone, having a smart assistant module124to compose or coordinate different types of mobile messages to be sent or received by the mobile messaging module122. The source mobile message device140may be a simple mobile device that just implements a mobile messaging module142to send and receive mobile messages. Alternately, the source mobile message device140may range in complexity to even be a smart phone, having a smart assistant module144to compose or coordinate different types of mobile messages to be sent or received by the mobile messaging module142.

FIG. 2illustrates a block diagram of an exemplary computing device200which may act as mobile message device. The computing device200may combine one or more of hardware, software, firmware, and system-on-a-chip technology to implement mobile message device. The computing device200may include a bus210, a processing core220, a memory230, a data storage240, an input device250, an output device260, and a communication interface270. The bus210, or other component interconnection, may permit communication among the components of the computing device200.

The processing core220may include at least one conventional processor or microprocessor that interprets and executes a set of instructions. The processing core220may be configured to implement a smart assistant module to present a message rule user interface. The processing core220may be further configured to identify a source that sent an incoming mobile message. The processing core220may be also configured to select an application module to execute a device action based on a response action directive. The processing core220may be additionally configured to execute a device action in response to the incoming mobile message according to the response action directive.

The processing core220may be configured to select an application module to identify the meta device event. The processing core220may be further configured to identify an occurrence of the meta device event. The processing core220may be also configured to identify a target address to receive the outgoing mobile message. The processing core220may be additionally configured to incorporate a data output from at least one of a clock module, a calendar module, a location service module, and an address book module into the outgoing mobile message.

The memory230may be a random access memory (RAM) or another type of dynamic data storage that stores information and instructions for execution by the processing core220. The memory230may also store temporary variables or other intermediate information used during execution of instructions by the processing core220. The memory230may store a series of instructions that are executed by at least one processor to implement a smart assistant module. The memory230may be configured to store a message target rule associating the message parameter with the response action directive. The memory230may be further configured to store a message source rule associating the trigger parameter with the message directive.

The data storage240may include a conventional ROM device or another type of static data storage that stores static information and instructions for the processing core220. The data storage240may include any type of tangible machine-readable medium, such as, for example, magnetic or optical recording media, such as a digital video disk, and its corresponding drive. A tangible machine-readable medium is a physical medium storing machine-readable code or instructions, as opposed to a signal. Having instructions stored on computer-readable media as described herein is distinguishable from having instructions propagated or transmitted, as the propagation transfers the instructions, versus stores the instructions such as can occur with a computer-readable medium having instructions stored thereon. Therefore, unless otherwise noted, references to computer-readable media/medium having instructions stored thereon, in this or an analogous form, references tangible media on which data may be stored or retained. The data storage240may store a set of instructions detailing a method that when executed by one or more processors cause the one or more processors to perform the method. The data storage240may also be a database or a database interface for storing user addresses, message target rules, and message source rules.

The input device250may include one or more conventional mechanisms that permit a user to input information to the computing device200, such as a keyboard, a mouse, a voice recognition device, a microphone, a headset, a touch screen252, a touch pad254, a gesture recognition device256, etc. The input device250may be configured to receive from a user via the message rule user interface a message parameter describing at least one of a message format and a message content of a hypothetical mobile message received in a mobile messaging module. The input device250may be further configured to receive from the user via the message rule user interface a response action directive describing a device action to be performed by the mobile message device in response to receiving an incoming mobile message matching the message parameter. The input device250may be also configured to receive from the user at least one of an active period parameter describing a time period when the message parameter is applied and an active location parameter describing a region where the message parameter is applied. The input device250may be additionally configured to receive a text string from the user describing at least one of a text and a text fragment of the incoming mobile message. The input device250may be further configured to receive an accompanying text to be sent in conjunction with the device action.

The input device250may be configured to receive from a user via a message rule user interface a trigger parameter describing a hypothetical meta device event occurring internal to the mobile message device. The input device250may be further configured to receive from a user via a message rule user interface a message directive describing an outgoing mobile message to be sent upon an occurrence of a meta device event matching the trigger parameter. The input device250may be also configured to receive from the user at least one of a time trigger parameter describing a time, a timer trigger parameter describing an expiration of a timer, a location trigger parameter describing a location, a proximity trigger parameter describing a proximity to a different mobile message device as the trigger parameter, and an extension trigger parameter describing a custom trigger event entered by the user.

The output device260may include one or more conventional mechanisms that output information to the user, including a display screen262, a printer, one or more speakers264, a headset, a vibrator, or a medium, such as a memory, or a magnetic or optical disk and a corresponding disk drive. The output device260may be configured to present a message rule user interface to the user to establish a message rule. The output device260may be further configured to present an address list to the user to allow selection of a source address or a target address. The output device260may be also configured to present a message parameter checklist to receive the message parameter. The output device260may be additionally configured to provide a text string to the user describing at least one of a text and a text fragment for selection as the message content. The output device260may be further configured to present an action directive checklist to receive the response action directive describing at least one of identifying a device location, causing the mobile message device to ring, forwarding the incoming mobile message, scheduling a meeting with the user, interacting with a smart assistant module, and activating an extension module added to the action directive checklist by the user. The output device260may be also configured to present a pre-populated accompanying text to be sent in conjunction with the device action to the user.

The output device260may be configured to present a trigger parameter checklist to receive the trigger parameter. The output device260may be further configured to provide a text string to the user describing at least one of a text and a text fragment for selection for inclusion in the outgoing message. The output device260may be also configured to present an output module checklist to identify an application module to provide a data output for inclusion with the outgoing mobile message.

The communication interface270may include any transceiver-like mechanism that enables computing device200to communicate with other devices or networks. The communication interface270may include a network interface or a transceiver interface. The communication interface270may be a wireless, wired, or optical interface. The communication interface270may be configured to receive an incoming mobile message matching a message parameter. The communication interface270may be configured to send an outgoing mobile message upon the occurrence of the meta device event according to the message directive.

The computing device200may perform such functions in response to processing core220executing sequences of instructions contained in a computer-readable medium, such as, for example, the memory230, a magnetic disk, or an optical disk. Such instructions may be read into the memory230from another computer-readable medium, such as the data storage240, or from a separate device via the communication interface260.

FIG. 3illustrates, in a block diagram, one example of a mobile device architecture300. The mobile message device may have a smart assistant module310to coordinate interactions between different modules in the mobile message device. A mobile messaging module320may exchange mobile messages with other mobile message devices. The smart assistant module310may use a set of message source rules to send a mobile message with the mobile messaging module320upon identifying the occurrence of a trigger event. Further, the smart assistant module320may use a set of message target rules to perform a device action upon receiving a specified mobile message with the mobile messaging module320. The smart assistant module320may identify a user from an address book330for the mobile message device to specify a message source rule or a message target rule.

The smart assistant module310may use different modules to determine whether to apply a message target rule or to identify a trigger event. The smart assistant module310may consult a location service module340to identify the location of the mobile message device. A location service module340may be a global positioning service module, a network triangulation module, or some other location service module. If the location is listed as a triggering location by the message source rule, the smart assistant module310may have the mobile messaging module320send a mobile message proscribed by the message source rule. Similarly, if the location is within a region listed by the message target rule as a constraint upon application of the message target rule, the smart assistant module310may initiate the proscribed device action upon receiving the proscribed mobile message in the message target rule.

Further, the smart assistant module310may consult a clock module350to determine the time at the location of the mobile message device. If the time is listed as a triggering time by the message source rule, the smart assistant module310may have the mobile messaging module320send a mobile message proscribed by the message source rule. Similarly, if the time is within a time period listed by the message target rule as a constraint upon application of the message target rule, the smart assistant module310may initiate the proscribed device action upon receiving the proscribed mobile message in the message target rule.

The smart assistant module310may use different modules to perform different device actions when receiving a mobile message proscribed by the user in the message target rule. The smart assistant module310may use the location service module340to determine a location to return in response to a query proscribed by the user. The smart assistant module310may access a calendar module360to access the schedule of the user. The smart assistant module310may return a response to an availability query when posed in a query format proscribed by the user.

The mobile message device may have a browser module370to access data on a web server over a data network. The browser module370may manage data from multiple pages at once. Another user with a simple mobile message device without a data plan providing internet access or a data plan providing limited internet access may access data available on the web by texting a query to the smart assistant module310on a smart phone. The smart assistant module310may then have the browser module370access the data on the web server. The mobile messaging module310may return the accessed data to the other user.

The smart assistant module may present a message rule user interface to the user to allow the user to construct a message rule pairing a messaging event with a non-messaging event. The mobile message rule may describe either an outgoing mobile message triggered by a meta device event or a device action in response to an incoming mobile message.FIG. 4illustrates, in a block diagram, one example of a message rule user interface400. The message rule user interface400may present an address book page410to the user. The address book page410may present one or more mobile message addresses412for a messaging partner selected from an address book of the user. The address book page410may allow the user to select multiple mobile message addresses412to create a partner group414, with the resulting message rule applying to each member of the partner group414. The address book page410may have a “select all” button416to allow the user to select each mobile message address412in the address book, with the resulting message rule applying to each member of the address book.

The message rule user interface400may present a device role page420to the user. The device role page420may allow the user to select between the message target rule422and the message source rule424. The message target rule422applies when the mobile message device receives an incoming mobile message. The message source rule424applies when a triggering event causes the mobile message device to send an outgoing mobile message.

FIG. 5illustrates, in a flowchart, one example of a method500for establishing a message settings using a smart assistant module. The mobile message device may execute a smart assistant module to present a message rule user interface (Block502). The mobile message device may present a message rule user interface to the user to establish a message rule, such as a message target rule or a message source rule, associating a parameter, such as a message parameter or a trigger parameter, with a directive, such as a response action directive or a message directive (Block504). The message rule user interface may present an address list to the user to allow selection of a source address or a target address (Block506). The message rule user interface may receive an address selection on the address list from the user (Block508).

If the user has selected a target rule for the message rule (Block510), the message rule user interface may receive from a user a message parameter describing at least one of a message format and a message content of a hypothetical mobile message received in a mobile messaging module (Block512). The message rule user interface may receive from the user a response action directive describing a device action to be performed by the mobile message device in response to receiving an incoming mobile message matching the message parameter (Block514). The message rule user interface may store a message target rule associating the message parameter with the response action directive (Block516).

If the user has selected a source rule for the message rule (Block510), the message rule user interface may receive from a user a trigger parameter describing a hypothetical meta device event occurring internal to the mobile message device (Block518). The message rule user interface may receive from the user a message directive describing an outgoing mobile message to be sent upon an occurrence of a meta device event matching the trigger parameter (Block520). The message rule user interface may store a message source rule associating the trigger parameter with the message directive (Block516).

If the user selects a message target rule, the smart assistant module may present a message target user interface.FIG. 6illustrates, in a block diagram, one example of a message target user interface600. The message target user interface600may present one or more message parameter checklists to receive from the user a message parameter describing a hypothetical mobile message received in a mobile messaging module. The message target user interface600may present a format checklist610to the user to receive from the user a message format description of the hypothetical mobile message. The format checklist610may list one or more multimedia service formats, such as a video format612, an audio format614, and an image format616. The format checklist610may list a short message service format, such as a text format618.

The message target user interface600may present a content checklist620to the user to receive from the user a message content description of the hypothetical mobile message. The content checklist620may suggest a symbol622found in a video message, an image message, or a text message. The content checklist620may suggest a phonem624, or verbal fragment, found in a video message or an audio message. The content checklist620may suggest a text string626describing a text message or a text fragment string628describing part of a text message. By presenting a suggested content checklist620, various users may be guided towards including specific items in incoming mobile messages. Alternately, the content checklist620may receive a custom symbol622, a custom phonem624, a custom text string626, or a custom text fragment string628input by the user.

The message target user interface600may present a constraint page630to the user to receive a constraint limiting the circumstances under which the incoming mobile message may result in a response action. The constraint page630may receive from the user an active period constraint632describing a time period when the message parameter is applied or not applied to an incoming mobile message. The constraint page630may receive from the user an active location constraint634describing a region where the message parameter is applied or not applied to an incoming mobile message.

The message target user interface600may present an action directive checklist640to receive a response action directive describing a device action to be performed by the mobile message device in response to receiving an incoming mobile message matching the message parameter. The action directive checklist640may have a location listing641indicating identifying a device location. The action directive checklist640may have a ring listing642indicating causing the mobile message device to ring. The action directive checklist640may have a forwarding listing643indicating forwarding an incoming mobile message. The action directive checklist640may have a schedule listing644indicating scheduling a meeting with the user. The action directive checklist640may have an interaction listing645indicating interacting with a smart assistant module. The action directive checklist640may have an extension listing646allowing the user to select an extension module to perform a device action additional to those currently provided by the action directive checklist640. The action directive checklist640may open a search tree for the user to find the extension module in the mobile message device. The extension module may be developed by a publisher external to the publisher of the mobile messaging module or the smart assistant module.

The message target user interface600may present an accompanying text page650to receive an accompanying text to be sent in conjunction with the device action. The accompanying text page650may present a set of pre-populated accompanying texts652for selection by the user. The accompanying text page650may have a text input654to receive an accompanying text to be sent in conjunction with the device action.

The message target user interface600may present a summary page660to the user. The summary page660may show the message parameter and the response action directive to the user. The summary page600may have a virtual on/off switch662allowing the user to activate or deactivate the message target rule.

FIG. 7illustrates, in a block diagram, one example of a message target rule700. The message target rule700may have a source identifier710indicating a source user sending an incoming mobile message. The source identifier710may be associated with one or more source addresses712for different devices associated with the source user.

The message target rule700may have a response action directive field740describing a device action to be performed by the mobile message device in response to receiving an incoming mobile message matching the message parameter. The response action directive field740may have an action sub-field742describing the device action. The response action directive field740may have a module field744identifying the application module to perform the device action. The smart assistant module may select the application module optimally suited for performing the device action or the user may select the application module. The response action directive field740may have an accompanying text field746listing any accompanying texts to be sent in conjunction with the device action.

FIG. 8illustrates, in a flowchart, one example of a method800for establishing a message target rule using a smart assistant module. The smart assistant module may present a constraint list describing one or more limitations on the application of the message parameter (Block802). The smart assistant module may receive a constraint from the user, such as an active period constraint describing a time period when the message parameter is applied or an active location constraint describing a region where the message parameter is applied (Block804).

The smart assistant module may present an action directive checklist to receive the response action directive describing at least one of identifying a device location, causing the mobile message device to ring, forwarding the incoming mobile message, scheduling a meeting with the user, interacting with a smart assistant module, and activating an extension module added to the action directive checklist by the user (Block818). The smart assistant module may receive a response action directive selection from the user (Block820). The smart assistant module may provide a pre-populated accompanying text to be sent in conjunction with the device action to the user for selection (Block822). If the user opts to enter a custom accompanying text (Block824), the smart assistant module may receive an accompanying text to be sent in conjunction with the device action (Block826). The smart assistant module may store the accompanying text in the response action directive (Block828). The smart assistant module may store the message target rule (Block830).

FIG. 9illustrates, in a flowchart, one example of a method900for executing a device action using a smart assistant module. A mobile messaging module may receive an incoming mobile message matching the message parameter (Block902). If the message is received within an active period (Block904), and the mobile message device is at an active location (Block906), the smart assistant module may identify a source that sent an incoming mobile message (Block908). The smart assistant module may review the message format of the incoming mobile message in comparison to the message parameter (Block910). The smart assistant module may review the message content of the incoming mobile message in comparison to the message parameter (Block912). The smart assistant module may select a device action based on a response action directive associated with the message parameter (Block914). The smart assistant module may select an application module to execute the device action based on response action directive (Block916). The selected application module may execute the device action in response to the incoming mobile message according to the response action directive (Block918).

If the response action directive indicates an accompanying text is to be sent (Block920), the smart assistant module may generate an accompanying text based on the response action directive (Block922). The smart assistant module may select a target for the accompanying text based on the response action directive (Block924). The mobile messaging module may send the accompanying text to the target (Block926)

If the user selects a message source rule, the smart assistant module may present a message source user interface.FIG. 10illustrates, in a block diagram, one example of a message source user interface1000. The message source user interface1000may present a trigger parameter checklist1010to the user to receive a trigger parameter. The trigger parameter checklist1010may list a time trigger parameter1012describing a specific time, a timer trigger parameter1014describing the expiration of a timer, a location trigger parameter1016describing a location, and a proximity trigger parameter1018describing the proximity of the mobile message device to a different mobile message device.

The message source user interface1000may present a trigger module checklist1020to allow a user to select an application module to identify a meta device event. The trigger module checklist1020may identify recommended application modules based on the selected trigger parameter. The trigger module checklist1020may present a clock module1021for selection to identify a time or the expiration of a timer, so that a reminder message for an event may be sent at a given time. The trigger module checklist1020may present a calendar module1022to identify a time and date, so that a reminder message may be triggered by an upcoming meeting. The trigger module checklist1020may present a location service module1023to identify a location, so that an information message may be sent to a spouse upon leaving one location and heading to another. The trigger module checklist1020may present an address book module1024, for use in determining an associate for purposes of sending a meetup inquiry. The trigger module checklist1020may present an extension module1025to select an application module not currently presented by the trigger module checklist1020. The trigger module checklist1020may open a search tree for the user to find the extension module in the mobile message device. The extension module may be developed by a publisher external to the publisher of the mobile messaging module or the smart assistant module.

The message source interface1000may present to the user a content page1030describing content for inclusion in the outgoing mobile message. The content page1030may provide a text string1032describing a text or text fragment for selection for inclusion in the outgoing message. The content page1030may provide a media thumbnail1034describing a media item for selection for inclusion in the outgoing message. The content page1030may have an input form1036to receive a media item identifier or a text string from the user describing a text or a text fragment to include in the outgoing mobile message. The content page1030may have a data output checkbox1038indicating data output from an application module is to be included in the outgoing mobile message.

The message source user interface1000may present an output module checklist1040to identify for selection by a user an application module to provide a data output for inclusion with the outgoing mobile message. The output module checklist1040may present a clock module1041to produce a time of the message. The output module checklist1040may present a calendar module1042to upcoming meeting data. The output module checklist1040may present a location service module1043to present a location of the mobile message device to a message recipient. The output module checklist1040may present an address book module1044to identify meeting participant contact information or to calculate proximity in conjunction with the locations service module1026. The output module checklist1040may present an extension module1045to select an application module not currently presented by the output module checklist1040. The output module checklist1040may open a search tree for the user to find the extension module in the mobile message device. The extension module may be developed by a publisher external to the publisher of the mobile messaging module or the smart assistant module.

The message source user interface1000may present a summary page1050to the user. The summary page1050may show the trigger parameter and the message directive to the user. The summary page1050may have a virtual on/off switch1052allowing the user to activate or deactivate the message source rule.

FIG. 11illustrates, in a block diagram, one example of a message source rule1100. The message source rule1100may have a trigger parameter1110describing a hypothetical meta device event occurring internal to the mobile message device. The trigger parameter1110may have a trigger event field1112describing the hypothetical meta device event. The trigger parameter1110may have a trigger module identifier1114indicating an application module to identify that a meta device event matching the trigger parameter event has occurred.

The message source rule1100may have a message directive1120describing an outgoing mobile message to be sent upon occurrence of the meta device event matching the trigger parameter. The message directive1120may have a target address1122identifying the user receiving the outgoing mobile message. The message directive1120may have a text field1124describing a text or a text fragment to include in the outgoing mobile message. The message directive1120may have a media field1126identifying a media item to embed in the outgoing mobile message. The message directive11120may have an output module identifier1128indicating an application module to produce a data output for inclusion in the outgoing mobile message.

FIG. 12illustrates, in a flowchart, one example of a method1200for establishing a message source rule using a smart assistant module. The smart assistant module may present a trigger parameter checklist to receive a trigger parameter describing a hypothetical meta device event occurring internal to the mobile message device (Block1202). The smart assistant module may receive from the user at least one of a time trigger parameter describing a time, a timer trigger parameter describing an expiration of a timer, a location trigger parameter describing a location, a proximity trigger parameter describing a proximity to a different mobile message device as the trigger parameter, and an extension trigger parameter describing a custom trigger event entered by the user (Block1204). The smart assistant module may present a trigger module checklist providing a set of application module options to identify the meta device event (Block1206). The smart assistant module may select an application module from the trigger module checklist based on user input to identify the meta device event (Block1208).

The smart assistant module may provide a text string to the user describing at least one of a text and a text fragment for selection for inclusion in the outgoing message (Block1210). If the user opts to enter a custom text string (Block1212), the smart assistant module may receive a text string from the user describing a text or a text fragment to include in the outgoing mobile message (Block1214). The smart assistant module may store the text string with in the message directive (Block1216). The smart assistant module may identify a media item selected by the user for embedding in the outgoing mobile message (Block1218).

If the user opts to include a data output in the outgoing mobile message (Block1220), the smart assistant module may present an output module checklist to identify an application module to provide a data output for inclusion with the outgoing mobile message (Block1222). The smart assistant module may receive an output module selection from the user indicating the application module to provide the data output (Block1224). The smart assistant module may store the message source rule (Block1226).

FIG. 13illustrates, in a flowchart, one example of a method1300for executing a triggered mobile message using a smart assistant module. An application module may identify an occurrence of a meta device event matching a trigger parameter (Block1302). The smart assistant module may identify a target address to receive the outgoing mobile message (Block1304). The smart assistant module may generate an outgoing mobile message based on the message directive associated with the trigger parameter (Block1306). If the user opted to include a data output in the outgoing mobile message (Block1308), the smart assistant module may receive a data output from at least one of a clock module, a calendar module, a location service module, an address book module, and an extension module for inclusion with the outgoing mobile message (Block1310). The smart assistant module may incorporate the data output into the outgoing mobile message (Block1312). The selected application module may send the outgoing mobile message to the identified target upon the occurrence of the meta device event according to the message directive (Block1314).

Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms for implementing the claims.

Examples within the scope of the present invention may also include computer-readable storage media for carrying or having computer-executable instructions or data structures stored thereon. Such computer-readable storage media may be any available media that can be accessed by a general purpose or special purpose computer. By way of example, and not limitation, such computer-readable storage media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic data storages, or any other medium which can be used to store desired program code means in the form of computer-executable instructions or data structures, as opposed to propagating media such as a signal or carrier wave. Computer-readable storage media explicitly does not refer to such propagating media. Combinations of the above should also be included within the scope of the computer-readable storage media.

Examples may also be practiced in distributed computing environments where tasks are performed by local and remote processing devices that are linked (either by hardwired links, wireless links, or by a combination thereof) through a communications network.

Although the above description may contain specific details, they should not be construed as limiting the claims in any way. Other configurations of the described examples are part of the scope of the disclosure. For example, the principles of the disclosure may be applied to each individual user where each user may individually deploy such a system. This enables each user to utilize the benefits of the disclosure even if any one of a large number of possible applications do not use the functionality described herein. Multiple instances of electronic devices each may process the content in various possible ways. Implementations are not necessarily in one system used by all end users. Accordingly, the appended claims and their legal equivalents should only define the invention, rather than any specific examples given.