Re: [apps-discuss] draft-wilde-profile-link-01 published

Erik Wilde <dret@berkeley.edu> Mon, 16 April 2012 07:10 UTC

Return-Path: <dret@berkeley.edu>
X-Original-To: apps-discuss@ietfa.amsl.com
Delivered-To: apps-discuss@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 351FE21F872B for <apps-discuss@ietfa.amsl.com>; Mon, 16 Apr 2012 00:10:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.999
X-Spam-Level:
X-Spam-Status: No, score=-5.999 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, J_CHICKENPOX_42=0.6, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Si03JNoWR6QM for <apps-discuss@ietfa.amsl.com>; Mon, 16 Apr 2012 00:10:55 -0700 (PDT)
Received: from cm02fe.IST.Berkeley.EDU (cm02fe.IST.Berkeley.EDU [169.229.218.143]) by ietfa.amsl.com (Postfix) with ESMTP id 5800721F872A for <apps-discuss@ietf.org>; Mon, 16 Apr 2012 00:10:55 -0700 (PDT)
Received: from hote-81-36.cccl.www2012.org ([81.194.81.36]) by cm02fe.ist.berkeley.edu with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.76) (auth plain:dret@berkeley.edu) (envelope-from <dret@berkeley.edu>) id 1SJg5L-0001LF-88; Mon, 16 Apr 2012 00:10:52 -0700
Message-ID: <4F8BC5F8.8080800@berkeley.edu>
Date: Mon, 16 Apr 2012 09:10:48 +0200
From: Erik Wilde <dret@berkeley.edu>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:11.0) Gecko/20120327 Thunderbird/11.0.1
MIME-Version: 1.0
To: Goix Laurent Walter <laurentwalter.goix@telecomitalia.it>
References: <04FC3F79-93B5-4F86-82B2-42029138E202@mnot.net> <4F7F416C.3050400@berkeley.edu> <FFA388B3-F4D9-47AB-81EF-0761200438FB@mnot.net> <4F8B2231.1090300@berkeley.edu> <A09A9E0A4B9C654E8672D1DC003633AE52EE05C2BF@GRFMBX704BA020.griffon.local> <4F8BB227.2050904@berkeley.edu> <A09A9E0A4B9C654E8672D1DC003633AE52EE05C2D0@GRFMBX704BA020.griffon.local>
In-Reply-To: <A09A9E0A4B9C654E8672D1DC003633AE52EE05C2D0@GRFMBX704BA020.griffon.local>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 7bit
Cc: application-layer protocols <apps-discuss@ietf.org>, REST Discuss <rest-discuss@yahoogroups.com>
Subject: Re: [apps-discuss] draft-wilde-profile-link-01 published
X-BeenThere: apps-discuss@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: General discussion of application-layer protocols <apps-discuss.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/apps-discuss>, <mailto:apps-discuss-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/apps-discuss>
List-Post: <mailto:apps-discuss@ietf.org>
List-Help: <mailto:apps-discuss-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/apps-discuss>, <mailto:apps-discuss-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 16 Apr 2012 07:10:56 -0000

hello walter.

On 2012-04-16 08:07 , Goix Laurent Walter wrote:
>> thanks for the pointer to web finger. i am sure there are quite a
>> number
>> of other formats out there using html profiles, maybe it would be
>> interesting to create a small list of "well-known" profiles.
> [walter] some work in that direction has been already recorded here [1] that you may want to check

these are link relation types and not profile identifiers, right? i am 
a bit concerned to see expected media types encoded in link relations, 
for example i'd prefer to see a "contact" link type and then getting a 
vCard or an xCard or HTML-embedded hCard is up to conneg and thus a 
runtime issue. doing it that way frees you from having to mint new link 
relation types when you want to support new media types (what about FoaF 
contact info, for example?).

> [walter] maybe i wasn't clear enough I apologize. I was indeed referring to the "type" attribute/parameter of the "link" element/header, which is already defined both in RFC5988 and in XRD for referencing the media-type associated with that link. In that sense an hcard link rel would typically be "text/html" whilst a poco#me representation of the "profile" link could be "application/json".

and that doesn't really help at all. for it to be helpful, the profile 
description language would need to have a media type, and then you could 
identify it by that. and generally speaking, a 'profile' link should not 
need to be dereferenced to be useful, it's an identifier. that also 
means that designing an environment where runtime lookup of the profile 
description is necessary would be a violation of the spec, because 
clients would not be able to "understand" that the meaning of a profile 
URI changes over time. this almost automatically means that any updates 
in the profile need to done by minting a new profile URI, and if it is 
done backwards compatible, then representations conforming to the new 
profile should list both profile versions:

<link rel="profile" href="http://microformats.org/profile/hcard"/>
<link rel="profile" href="http://microformats.org/profile/hcard/2.0"/>

> However I do understand that this may not be enough for correctly characterizing the format of the specific profile information: how would I indicate in fact that this "profile" link/web page is hcard-enabled or not a priori? Same for json: poco is a popular json format for representing profile info but may not be the only one.

if there is a format for describing profile information, then it should 
have a media type and then web clients can use that media type. just 
referring to it as JSON is not very helpful. but even if there was such 
a media type, it would not change the fact that the way how 'profile' is 
drafted right now, runtime access to profile descriptions is not part of 
the design; clients compare supported profile URIs to the profiles they 
find in a representation, and then decide what to do.

> My point is I may have the following xrd at this stage with the profile rel links:
> <Link rel="profile" type="text/html" href="http://example.com/profiles/joe" />
> <Link rel="profile" type="text/html" href="http://example.com/profiles/joe/hcard" />
> <Link rel="profile" type="application/json" href="http://example.com/profiles/joe/poco" />
> ...without any clear view on which "profile" provides which format.
> I hope I have clarified my point here and welcome your feedback on this.

now i am getting the impression that you're having some misconceptions 
about profile. profile links are not intended to link to particular 
resource that contains data of interest to the client. in your example, 
the page would be about joe, and joe might decide to embed his 
information using hcard, and then the page would say

<link rel="profile" href="http://microformats.org/profile/hcard"/>

and clients could extract joe's hcard info from the page without ever 
accessing http://microformats.org/profile/hcard; they would simply see 
that URI and then, if they supported hCard, understand that the page 
contain embedded hCard information.

i hope that clarifies things a bit. cheers,

dret.

-- 
erik wilde | mailto:dret@berkeley.edu  -  tel:+1-510-2061079 |
            | UC Berkeley  -  School of Information (ISchool) |
            | http://dret.net/netdret http://twitter.com/dret |