where yadis fits in

Grant Monroe grant at janrain.com
Thu Mar 2 23:23:51 UTC 2006

Hello all,

It seems to me that there is a bit of a disconnect on this list about
what problems Yadis is attempting to solve. I would like to first just
list a few of the terms people have been throwing around and then
explain how I think Yadis fits in.

One of the most talked about things on this list has been "profile
exchange". This is currently a fairly foggy notion and everyone seems
to have slightly different ideas of what profile exchange is. Given an
identifier (e.g. a url, i-name, ...) we are looking for ways to
exchange information associated with the entity that the identifier
identifies. Some examples of this information might be address, phone
number, credit card info, etc.

Another term that seems to be thrown around is "capabilities". I am
personally not a big fan of this term. I prefer to talk about
"services". A service is just a URL that provides some sort of
functionality in a well-known way. Some example services might be a
service that can verify that a web surfer is the owner of an
identifier, or a service that can send and/or receive user data, or
perhaps a service you could post a message to and it would be
delivered to the owner of the identifier.

Yadis is simply a way for a user to advertise their services through
their identifier. A reasonable thought to have is that you should only
have to discover one service that can tell you about all the other
services. In this view of the world, the other services associated
with an identifier are no different than the email address or credit
card info. This has some nice properties. The protocol for this master
service could let the owner of an identifier present a customized list
of services to the requesting entity. I think that this fits under the
description of directed identity (i.e. the user has control over what
claims are made to who). Having a master service like this begs the
question "Why do we need Yadis when we only need to be able to
discover this one master service?"

First of all, the protocol for this master service will be complicated
relative to the complexity of Yadis. This means that there is a good
chance that the master service protocol will need to be revised over
time or a competing protocol with different benefits and drawbacks
will pop up. At this point, the user will need to advertise their
MasterService1.0, MasterService2.0, and UberService 0.7 service
providers. Yadis provides a convenient way of doing this.

Yadis also provides an easy way to advertise services
omnidirectionally if there is no need for directionality or user
approval. This might be useful in the case that the identifier is not
associated with a human user. For example, a protocol might arise for
submitting resumes. Monster.com could discover where to locate
Yahoo!'s resume accepting service with the identifier
http://www.yahoo.com/ using Yadis.

Yadis is just a small piece in a big puzzle. It could provide a small
level of consistency and interoperability where adhoc solutions are
the norm.

Grant Monroe
JanRain, Inc.

More information about the yadis mailing list