SentientWeb – Microsoft Research Project

Year: Oct’13 – present
Role: Developer, Ideation
Team Member: Maria Paula Saba
Tools, Language or Script used: Heroku, Python, Flask, Javascript, HTML, CSS
Client: Microsoft Research

In today’s world we use a bunch of web services. All these services store certain part of you and have information which is valuable individually but also hold a lot of value when aggregated and abstracted.

This project looks into a few such services to create a “picture of you” on the web which helps you drive third party apps to better serve you.

SentientWeb is an API which helps third party services respond to users’ state making services more responsive and sensitive to the user and help target content in a more relevant manner.

For the prototype we used three different services: Google Calendar, Geoloqi (location service) and Fitbit data.

We ultimately abstracted the data down to a few data sets based on user testing, here is an example API call (while I was writing this article):

{
“activity”: “idle”,
“altitude”: “ground_level”,
“available”: true,
“current_location”: “school”,
“overall_activity_goals”: “working_towards_it”,
“sleep_activity”: “well_slept”
}

The service has two modes active and passive, the passive mode is used when the user himself goes to a service. For example, opening a news reader. Here, based on his state, the content delivered could be significantly changed. An example would be, he would prefer more focussed articles at work as compared to at home.

The other mode is passive where the service tries to contact the user first. This is where the service can really make a lot of difference, currently there is no way of making such communications sensitive to the user. Both the user and the service would tend to benefit a lot from this. Here, SentientWeb tries to communicate to the registered service when the user’s state is most favorable for consumption of their service. This can lead to buffering communications and relaying them when the user would like to consume it.

Here is a graph which shows the underlying backend architecture of the service.