Wednesday, January 12, 2011

pill.cat communication theoretical discussion.


For the social search service pill.cat is implementing the AskNext protocol top of the well known e-mail system. It  means that if a user ask a question, the agent of the user will first look for answers in the local knowledge base, than it asks the contacts of the user/agent. If a contact is not able to answer, it can ask a contact of his. This way a question can be asked from the contact of a contact of a contact ….etc.

The evaluation of who should be asked is not done yet, but it is intended to use a trust model which is aware of domains. It means that a user can be trusted in one topic while disregarded in another.
In reality the agents asks each contacts without any decision making, but this is the very first approach only.

Originally AskNext  is a peer 2 peer protocol, but in practice we use a central server in order to provide a yellow pages service to find contacts.

Since we need to have a central registry of all users the question emerges: Why do we need to get connected with others via a series of contacts when we already have a registry containing everyone?
The very first answer is because you trust your contacts more and this way it is a more social and human like way to get information.

It sounds reasonable, but think it over a little bit. Let’s suppose you want to get your washing machine fixed.
  1. First if you had a contact of professional handy-man who fixes these things and you trust him, you will make your call.
  2. At the second place you may ask your friends to offer someone and than you will make a direct call, maybe you will refer to your friend. Also if your friends’ friends’ know someone who could help you is always great especially if it is not in 2 weeks delay.
  3. Finally you will get a yellow pages or google and find a service.


If you adopt this idea and apply it on QA systems with agents you realize that it is actually a good idea.

Conclusion
The original AskNext protocol is a wonderful idea with all it’s bottlenecks and advantages. But since in the real implementation we do need to know at least the address of others and therefore we need a central yellow pages service we should take advantage of this architecture.
In other words, besides we could ask our friends and the can ask friends of their friends etc, we can find and get contacted with agents and users in a direct fashion based on yellow pages with profiles and global reputation. After all these temporally connections could become permanent aka the newly contacted users could add each others to their contact lists.




In the next post, I will give a detailed description how do I envision this new idea. How to realize it quickly with existing tools and services and how can the new chat system make the e-mail solution more complete and more intuitive to use.

Tuesday, January 11, 2011

automatic comments

Apart from being able to publish posts with the pill.cat personal agent application on your blogs,now you are able to write comments as well.

Current (initial version)

  1. User is able to write comments automatically on any of his blogs simultaneously. 
  2. The process is scheduled and repeated using an interval timer. (Although first execution is instant.)
  3. It is possible to stop the automated process any time.
  4. User has implicit control over which posts should be commented by defining rules like post must be newer than, or the last comment must be not mine...
  5. User has no explicit control over which posts should be commented. So user can not say, that blog X post number Y.
  6. The comments are results of automatic searches on the local knowledge base where the query is generated from the original post. If there are no results found, pill.cat generates stitched content using web mining based on a seed which comes from the original post and/or the latest comment.
The screen-shot has 3 main sections to explain usage:
  1. First user needs to click on the publisher tab, in order to get the interface.
  2. Than it is needed to select the blogs we want to publish comments. (If the list is empty, user must go back to the social tab (little blue bird icon) and add a few sites).
  3. Set the parameters for the process:
    1. Posts must be newer than
    2. Choose posts randomly
    3. Comment on posts where the last comment is not the user's. (In other words the comment will be an answer/reaction to the last comment)
    4. Use local knowledge. It means that pill.cat tries to search on local data first and in case of failure generates new content. Otherwise it goes with content generation immediately. 
    5. Interval in minutes between 2 publishing event.
Future version:
  1. We need to fix spelling problems on the interface
  2. More options to select appropriate posts
  3. Advanced ways to create search queries and seeds for content generation in order to be able to write comments which has more sense in the given context.
  4. Connecting social search, although SS is an asynchronous process and may return with results only after a long period of time if there are any results at all. But we will investigate, how could we connect SS with automatic publishing.
  5. Explicit control on which posts should be commented.
  6. Possibility to review comments manually before publishing.
We are looking forward your opinion, so feel free to write comments.



Monday, January 10, 2011

pill.cat gets live chat

So far agents could communicate via e-mails with each other.
It was nice to start with, but it was slow and quite unreliable since we were rely on mail servers of others.

Now we have XMPP instant messaging, which is lot faster, full with cool features like live presence status feedback, possibility of voice, video transfer cetera. Not to mention that apart from agents, users can immediately contact with each other directly.

In this early stage we are using the gtalk infrastructure, so we still rely on google, but I have successfully installed a very impressive open-source XMPP server called Openfire which could be solve our dependency problem.

We are using a nice Java library Spark to unleash the possibilities of this technology in our client side.

What we have so far up and running:

  • Connection to gtalk service
  • live presence status feedback (who is online)
  • contact requests
  • chat with multiple users
  • new message notifications
Further plans:

  • Integrate chat with the agent-communication platform (substitute e-mail system)
  • Integrate gtalk buddy lists with the current contact management system
  • Develop an elegant method for agent 2 human communication

What is pill.cat?

In nutshell:
pill.cat is a tool so called personal agent which helps you find information, get your questions answered by your close friends and help you self-promote on the Internet.


In a more technical point:
pill.cat is a complex software system which consist of a bunch of servers providing web services and client applications which are running on the users' machines.


Basically the clients indexes any information the user provides and gives access to. This processed information will form the personal knowledge base.


Agents:
This knowledge is maintained by the user on one hand and on the other hand the client application is a kind of intelligent agent, which is able to help the user to use this knowledge.


In other words each user has a client which is an agent in fact and these agents are able to represent their owners in many situations like answering e-mails automatically.


Social search:
The agents of different users can be connected thus forming a social network where users and agents can communicate with each others. Simply a user can add his friends to his agent's contact list and from that time live chat and agent 2 agent communication can be established.


But what is it good for? First of all it allows users to communicate as they do in other communication systems such as ICQ or messenger, but in addition if a user has a question he can use his agent to find a relevant answer automatically by asking his friends agents which is eventually a new way of search in a more social way. This is what we call agent guided social search. It can be automated, because under certain circumstances the agents may have access to the users personal knowledge base according to pre-defined security settings and they are able to evaluate on a level that an answer is relevant or not. To do so pill.cat is using advanced Natural Language processing technologies.


Self promotion:
Apart from social search, personal knowledge base and agents pill.cat has another aspect which is worth to mention (self promotion).


With pill.cat a user can connect to all his social networks  using a single application. So you can connect your blogs, your Facebook or your twitter accounts. You can post simultaneously by using your agent. 
This is not that new itself indeed. But if you add the facts to the picture that you can generate any kind of content out of a single sentence automatically using your local knowledge and web mining techniques and post the resulting content after review or even automatically. Than you will get a new unique tool which could potentially help you out of the burden of every day social expectations.
It sounds crazy we know, but we will clarify this part more in details in further posts.