Imagine this situation: A company has hundreds (maybe thousands) of employees. All of them have their own skills and areas of expertise. There is probably lots of overlap, however any one person will not know everyone in the larger group who has particular skill sets. It someone is working on a project and needs assistance to overcome some technical hurdle, it could be very helpful, if they could communicate with those people who also have experience in that area. Those people might be located in entirely different parts of the company.
Email addresses are a means to an end. The goal is usually not to send an email to a particular address, but to a particular person. You want to say hello to your friend Steve or send a message to the VP of marketing at Microsoft or to the head caterer for your wedding. Ideally, you could send a message to a person just by entering his or her name, position, or some other descriptive attribute. If a person’s email address changes, the email system should send to the new address automatically. If the person matching a description differs over time, the email system should send to the person currently matching that description.
In the given example, the user would be able to get answers to his or her questions by reaching out to the people with the fitting skill sets without previously having known those people: The email system can decide, who the most appropriate receivers of the messages are.
I cannot help thinking that Aardvark was at least a little inspired by the ideas behind semantic email addressing. Their process is simple: Users send in questions (using email, twitter, IM, etc.), Aarvark routes the question to another user is (hopefully) qualified to answer it and the user will eventually receive a response, often just a few minutes later. In this social search approach, Aardvark accomplishes the job of finding information by finding the right people who can provide it. The service has received very good press and was recently acquired by google.
Twitter seems like it might be a good platform for this problem area. If someone has a public twitter feed, they are essentially broadcasting their updates to the open stream and anyone can see them. It is probably safe to assume, they are at least open to the idea of talking to strangers/responding to messages from people they do not already know.
How could one go about finding the best people to message though? One method is certainly to search the message stream for specific keywords and basically manually look for people who might be active in areas of interest. You can also search in and add yourself to oneofthemanydirectories that are being developed.
But, if I simply need to talk to someone and ask them “May I ask you a question about XYZ?” then clearly, a) broadcasting my question hoping that someone will answer could be very inefficient and b) first researching who the best person might be for my question(s) puts all the burden on me.
What if the user could simply send out the question and the system would ensure that the most appropriate people see it?
The basic idea here is this: The user submits the question (along with a set of keywords) to his or her software. The software has analyzed other users’ message streams, extracted keywords, etc. and generated a knowledge base. If the query can be confidently matched to another user, a message is generated and send to that user. The message will be visible to that user as a regular name mention and they can choose whether to engage in that conversation.
Some of the obvious challenges:
Generating of meaningful keywords/subject areas based on a person’s message stream.
Successful matching of queries with users.
Establishing an effective communication protocol that does not easily lend itself to abuse, i.e. spam.
A lot of web-based social networks are great at helping you connect with people you already know. Twitter makes it easy to connect with new people. The outlined approach (or a variation thereof) might be a good way of further supporting creation of those new connections, based on areas of interest.
In sci-fi films, when anyone gives a computer emotions, it all goes horribly wrong. The computer becomes vain, doubtful and irrational and Armageddon by wayward technology is only narrowly avoided.
This is not surprising – science fiction has been informing us and becoming part of our culture for a while. It is increasingly really all around us: We Are Living in a Sci-Fi World.
Imagine educational software that modifies its teaching style depending on the user’s mood. Cars that communicate with other drivers, if its driver is angry, intoxicated or talking on the phone. Music players could adjust their playlist based on the listener frowning, smiling or similarly expressing themselves. Email clients could disable the send button, if the user is clearly upset and about to send out an email he or she may regret later.
A lot of different uses are conceivable here and this could contribute to much more personalized computing experiences.
Modern laptops and desktop computers are typically already equipped with microphones and cameras. Future operating systems may well feature a mood evaluation component and search engines may take information from that component as part of the search query. Similar scenarios are conceivable for other types of web-enabled applications.
Imagine logging in to Facebook some evening and finding a notification “John has been having a bad day. Check in with him to make sure he’s okay.” Intriguing.
I found particularly interesting the discussion around talking to develop understanding:
Around 1980, as computer science undergraduate students at the University of Cambridge, my friends and I noticed a strange phenomenon that we called expert programmer theory. When one of us had trouble getting our programs to work, we’d describe the nonfunctioning state of our code to each other over coffee. Quite often, we’d realize in a flash what was wrong and how to solve it. These epiphanies were quite independent of the other person having any real understanding of our problems—the listener often seemed little wiser about the subject.
I have experienced similar scenarios and this can be both relieving (finally solved the problem!) and frustrating (why didn’t I think of this a few minutes ago?).
Explaining something to another person or even an object can help the person’s own understanding. Wray points out that it is helpful, if we can talk to an expert, even if that expertise is large based on perception. The main reason seems to be that that person would be more likely to ask us deep questions that we can ponder or that may influence our thinking.
The ability to ask questions that are most appropriate for the given situation seems most valuable: Questions that don’t require too large a leap, but rather motivate the person to advance just a little further – questions that stimulate thinking.
What if software that we use daily asked us questions?
Lots of scenarios are conceivable, but here is one example. Imagine a news website that attaches to each article a module that contains at least one interesting question, such as “Do you think this policy change will effectively solve problem XYZ?”, “What do you think of senator X’s position on Y?”, “What if the economic situation in Y would change in Z way?” and so forth. These would be meaningful questions, based on the content of the article and meant to stimulate intelligent discourse (readers could leave responses and discuss amongst themselves). These questions would also ideally be automatically generated.
If we can accept that good questions at the right time can help our understanding and that deeper understanding is generally a good thing, then I think we will benefit from giving software more of an ability to ask questions – for our own benefit.
Peter Norvig gave this presentation at Citris on September 2. He emphasizes (with several recent examples), how the usage and availability of large data models and increased computing power improves problem solving approaches.
A lot of interesting subjects are covered in the presentation. Here are references to projects or papers that are mentioned: