Experiments with RESTing

Wow. I have totally missed the REST bus. I finally took the time to experiment with REST, an architectural style to integrate systems, and my eyebulbs are exploding with neat uses now. This first idea below is the most immediate idea and is a bit rough but I want it documented.

The thought that has been buzzing in my brain is the idea of the universal context that can be selectively searched to provide timely context information. Big words, here's the simple idea.
We send a lot of information to Person A (usually email, but could be other forms now (IM, SMS, Twitter, blog comments, calendar appointments, address book, etc). Repeat this process with lots of other People. There is a lot of data in there about, well, everything. This is the universal context - it is the data about everyone you interact with but it is usually weakly correlated.

Where am I going with this?

Well, imagine if you could create a REST interface/app for each person you interact with. I would be //universal/context/person/Evan Wise and I am talking with "Random Friend" //universal/context/Random Friend. If I had a URI for each of the conversation methods I have used with Random Friend: IM (..../Random Friend/IM), Twitter (..../Random Friend/Twitter), email (..../Random Friend/email, etc, etc, etc. I could query each of those individual data sources for information that is happening right now.
An example, while using IM to chat with Random Friend I mention Mutual Buddy in reference to a conversation I had with them. Now, using existing semantic search methods I query all the existing data stores I have on Mutual Buddy and display them in a search results window next to my conversation with Random Friend. I can now reference previous conversations - or previous/future meetings I have scheduled or previous emails etc - and be more quickly able to relate info to Random Friend.

The real power in this is that you have distinct applications with user interfaces that are purpose designed for their task (email, IM, etc) but they have access to all the information in all your other applications/data stores in a simple common form. The key would to have standards around the query/results interface and the data structure that each of those interfaces returns.

Being able to transparently, and simply, query existing data stores using a simple URI provides a great potential to integrate disparate information systems while not requiring each application to implement the universal context individually.

I think this would be great for people like me that always forget stuff and don't like searching for it all the time.

Back to top