Thursday, January 13, 2011

Contact management and chat

Thanks to the central pill.cat server it is possible to search for users since all their profiles are available there because it is a part of the registration process.

It is possible to search for contacts by name, e-mail address and agent e-mail address. This is not really advanced, but works great for now.
As the user is located using the directory service a contact request can be sent which can be accepted or ignored.

In the case when a contact request is confirmed, communication become possible. Also status updates can be seen only after the confirmation is done. In other words the user can not see who is online unless his request was not confirmed.

Chat
At the moment it looks like as any other simple chat system. If you click on a user who is online a new window pops up and you can start to type while on the other side a new window appears with your first message etc.
The trick
Until this point everything is implemented as written, but here comes the new stuff.
The trick here is that we want to use chat not just for Human to Human H2H communication but Human to Agent H2A and for Agent 2 Agent A2A communication at the same time.

H2H:
Ordinary chat between users.

H2A:
My agent need to take a decision, so ask me (the user) what to do. For example
-A: I have received a question about rocket science, but I have not found anything according to it, what should I do? ignore, ask someone else and mediate, or you can give me the answer right now....


A2A:
My agent ask my friend's agent according to a question and it answers automatically since this is the policy set by my friend. Than my Agent opens a chat window and shows me the answer which is H2A way.

The question how to distinguish these 3 types in a level of the user and in terms of message format.


H2H:
Nothing special, messages sent as plain text.
A2A:
If 2 agents communicates, the agents must know that these messages are intend for agent use therefore not to show to the user. Furthermore a couple of other parameters must be inside the message like deadline, priority, type of the message (Question, Answer...). To do this we should use some special marks in the messages.


H2A:
This is more like user interface issue than message format. If an agent asks something from the user like what should I do it is clear that the user answering to the agent. In fact it has nothing to do with the chat protocol, because not even use the chat system only the GUI is the same. The issue here is to develop a set of commands to be able to tell to the agent what to do.

To start a chat with your agent will be easy (in order to set special commands) because the agent will be among the contacts.
For example: I would like to ask my agent to do social search according to a question. I click on my agent icon and type my question...

On the other hand I may want to add commands to my agent during a chat with someone according to that particular chat session. In this case another tab should be provided for the chat window which would receive commands for my agent according to that chat.

1 comment:

  1. This "ignore, ask someone else and mediate, or you can give me the answer right now...." remembers my aardvark ;).
    I think that would be interesting, maybe it is currently working, that the agent can be set to be more proactive and him decide to ask to other agents or answer directly.

    Bests,

    Albert

    ReplyDelete