Messaging Apps

Implementing IUM (Interaction using Messaging)

Interaction using Messaging is the concept to make user experience much better with help of messaging. I believe that, messaging is most easiest interaction among all interactions we do with our devices and with help of it we can make complex human-machine interactions to much simpler interactions. I have explained this concept with help of WhatsApp Messaging in my last article Can WhatsApp be more than a messaging platform ?

IUM involves 3 entities :

  • User, a person who will be sending message to perform a task
  • Messaging service (MS), A messaging application which is able to understand human message.
  • Application service (AS), External applications like News App, movies search application, restaurant applications, tools applications, metc.
IUM Entities

Implementation of IUM involves 4 steps :

  1. User sends a message for a task to MS.
  2. MS transforms that human message to technical information understood by application and send to AS.
  3. AS interprets technical information, takes corresponding action and returns the output results to MS.
  4. MS transforms technical results received from AS to human understandable message and sends back to user.
IUM Steps

Detailed explanation of the IUM System:

  1. User sends a message to MS in his native language(English, French, Arabic…).
  2. In a simpler view, MS has 2 components, Message Interpretation Componentand Message Formation Component.
  • Message Interpretation Component involves breaking down the user’s message to technical information JSON document using an Artificial Intelligence (AI) server. AI server uses predefined sets of messaging interpretation knowledge and information about user to get the most relevant information from user’s message.
  • Message Formation Component involves combining the technical results from different applications and transforming it into a language understood by the user.
  • When the MS receives message from user, Message Interpretation component builds up a standard technical information message understood by different applications.
/* JSON interpretation of technical message formed by Message Interpretation component of MS */

{
  id : "Unique Identification of the message",
  action: "major action to be performed by the application", 
  meta-information: "extra information present in message that
supports action to be performed"

location: "location of user"
  time : "time at which message was sent by user"
  user-information: "likes, dislikes, earlier orders, interests..
any information available with Messaging
service which could help Application to
take decision and send best results ",
  interpretation-factor: value between "0 - 1", which signifies
how well a message is interpreted
}
  • MS may send a single message to multiple Application services (AS) if multiple AS are registered for a particular action. Like, there can be multiple movies app registered for providing movies information to user.
Detailed Explanation of step 2

3. Application Service (AS) is the service registered by different applications with Messaging Service (MS) which enables 2-way technical interaction between both entities. This interaction is in the JSON protocol which contains technical information of action.

  • Application on receiving message performs a logic based on the information present in the message , builds the result document using its API services or internal services, depending on type of application.
  • The result document has complete set of results produced by Application which is sent back to MS with query identification information.
 /* Result document sent by Application service to Messaging Service in response to a query sent by MS to AS. */
{
 id:"unique id of message sent by particular application", 
 queryId:"Id of the query in which this response is being sent", 
 AppId : "Id of the application",
 time : "time at which results are being sent",
 results:[{
result 1,
result 2,
result 3,
. . .
}]
}
Detailed Explanation of step 3

4. Messaging Service (MS) gets results for a query from all applications and with the help of Artificial Intelligence server, transforms these results into language understood by the user.

This is how a user gets results in a simple message that he understand for any complex operation he wants to perform on any device.

An example for the IUM concept

A user sends a message to get afternoon shows of The Martian for 5 persons.

User message for getting movie results

Messaging service(MS) then forms the technical document of the query and sends to Application service(AS). Belowis the technical information message which is interpreted from the message sent by user.

/* JSON interpretation of technical message sent by Messaging service to different Application services*/

{
id : "query1",
action: "get movie shows",
meta-information: {
time-range-start: "12:00"
time-range-end: "17:00",
name: "The Martian",
persons:5
},
location: {
lat: 28.716136,
lng: 77.0997725
},
time : "Mon Nov 09 2015 18:55:30 GMT+0530 (IST)",
user-information: {
likes:{
movies:"Entertainment, Burnt, Paranormal Activity: The Ghost Dimension",
theatre:"PVR Cinemas, Fun Cinemas",
}
last-booked-shows:"Goosebumps, Steve Jobs "
age: 22,
gender: male
},
interpretation-factor:0.8
}
Technical Information message sent to movie apps

Movie App services then process the JSON message and sends back their results to Messaging service. Below s the results message sent by movie Apps to Messaging service

/* Results sent by Movie App 1 */
{
id:"message1",
queryId:"query1",
AppId : "App1",
time : "Mon Nov 09 2015 18:55:30 GMT+0530 (IST)",
results:[{
theatre: Fun cinemas,
time: 14:24,
location: {
lat: 28.69346,
lng: 77.15232
}
          },
        {
theatre: DT cinemas,
time: 15:30,
location: {
lat: 28.69376,
lng: 77.15252
}
         },
]
}
/* Results sent by Movie App 2*/
{
id:"message1",
queryId:"query1",
AppId : "App2",
time : "Mon Nov 09 2015 18:55:30 GMT+0530 (IST)",
results:[{
theatre: DT cinemas,
time: 15:30,
location: {
lat: 28.69376,
lng: 77.15252
}
        
}]
}
/* Results sent by Movie App 3*/
{
id:"message1",
queryId:"query1",
AppId : "App3",
time : "Mon Nov 09 2015 18:55:30 GMT+0530 (IST)",
results:[{
theatre: PVR cinemas,
time: 13:10,
location: {
lat: 28.69316,
lng: 77.15292
}
       },
        {
theatre: FUN cinemas,
time: 14:24,
location: {
lat: 28.69346,
lng: 77.15232
}
       },
]
}
Message Formation by MS

Messaging service sends curated list of all shows with a link to book movie show on specific application.

Final results sent to user

This is how Interaction using Message (IUM) can be implemented. Thanks for reading a long article , I hope, I am able to give easy overview of the concept. Do let me know about your ideas, queries or any mistakes in the article.

Author Info

Leave a Reply