Re: [apps-discuss] proposal: adding profile support to JSON

Mark Baker <distobj@acm.org> Wed, 06 November 2013 14:21 UTC

Return-Path: <mark@coactus.com>
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 AB07521E8114 for <apps-discuss@ietfa.amsl.com>; Wed, 6 Nov 2013 06:21:04 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.477
X-Spam-Level:
X-Spam-Status: No, score=-4.477 tagged_above=-999 required=5 tests=[AWL=-1.500, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_LOW=-1]
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 Qx0HirwmsVOZ for <apps-discuss@ietfa.amsl.com>; Wed, 6 Nov 2013 06:20:59 -0800 (PST)
Received: from mail-pa0-f45.google.com (mail-pa0-f45.google.com [209.85.220.45]) by ietfa.amsl.com (Postfix) with ESMTP id 8CF3321E80E8 for <apps-discuss@ietf.org>; Wed, 6 Nov 2013 06:20:59 -0800 (PST)
Received: by mail-pa0-f45.google.com with SMTP id kp14so10572810pab.4 for <apps-discuss@ietf.org>; Wed, 06 Nov 2013 06:20:59 -0800 (PST)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=rXawdPQQnxEyST1HFpGaKfXJ/Eq9o5azQLIK3sOZ8Ms=; b=XiL4H/UKEwuCRAdpPTDWRKN6LOMS3n0WSZIJ0a0cy5pC+5Oz8DehkM5/8H8asJQFNK PWdXGFnWtrrXXrxbvJWMBUBbgGhhCmXklLcCGP+QpExZkrZOavgE8kPeyq8SFwHTvt0S 9f6oQMyH24P3R4/5zf8eSeqI97rBc0vGSrgEkU+BdFPFLt+I8hwZG1cqYfQq0Z4jonU/ UveMjMpWF/oMPWJrUPQxm0qWuSgyRFebp51AJTjw7WWAmHburc99d/jzgjrZVGXCIkHx OABaaex7d9Wyn4H5q2UGP9F2Cc/AD4oXaAL/moVSLqVKmaUCJehyqzZ97Zfz9Xdwe6ST FvYw==
X-Gm-Message-State: ALoCoQmMKYypjrZMf2CkXntS4UnKjw/ATn3x6yLajU0SLiSc+C4MqL8sQOxSxjRqxizlNO9sovcm
MIME-Version: 1.0
X-Received: by 10.68.254.105 with SMTP id ah9mr3468186pbd.87.1383747658847; Wed, 06 Nov 2013 06:20:58 -0800 (PST)
Sender: mark@coactus.com
Received: by 10.70.25.67 with HTTP; Wed, 6 Nov 2013 06:20:58 -0800 (PST)
X-Originating-IP: [192.0.216.13]
In-Reply-To: <52793A16.8060301@berkeley.edu>
References: <5276878A.6000802@berkeley.edu> <5278AF21.90605@it.aoyama.ac.jp> <CAHBU6iuAoNT1QYH3DKA_KFA4Ngm5Y2hyHm-2_8z5kv8fGKHY1Q@mail.gmail.com> <CALcoZiqL5ATz0nL4DDy+uadG2Q7iqUDvifGL+9v642-+nXAy7w@mail.gmail.com> <52793A16.8060301@berkeley.edu>
Date: Wed, 06 Nov 2013 09:20:58 -0500
X-Google-Sender-Auth: aUyfSNkUEA80y840xKXFHDSo7eg
Message-ID: <CALcoZirtYd-HQBZ8OTVc70g8j=ybULk5JHzSbe49J6g0Pg35nw@mail.gmail.com>
From: Mark Baker <distobj@acm.org>
To: Erik Wilde <dret@berkeley.edu>
Content-Type: text/plain; charset="ISO-8859-1"
Cc: "apps-discuss@ietf.org application-layer protocols" <apps-discuss@ietf.org>
Subject: Re: [apps-discuss] proposal: adding profile support to JSON
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: Wed, 06 Nov 2013 14:21:04 -0000

Hi Erik,

On Tue, Nov 5, 2013 at 1:33 PM, Erik Wilde <dret@berkeley.edu> wrote:
> hello mark.
>
>
> On 2013-11-05, 08:59 , Mark Baker wrote:
>>
>> On Tue, Nov 5, 2013 at 10:57 AM, Tim Bray <tbray@textuality.com> wrote:
>>>
>>> Well, for example, http://www.tbray.org/tmp/draft-bray-i-json-01.html
>>
>> I'm with Martin. What that spec is trying to do with profiles is to
>> supplant the typical role of a media type. If it's representative of
>> what Erik has in mind for the use of a profile parameter with Atom (or
>> anywhere), then I think that needs to be reconsidered too.
>
>
> i understand your concerns, but profiles do not attempt to "replace media
> types", even though they could be (mis-)used to try to do just that. [1]
> tries to explain the goal: they are for specializing and/or constraining
> existing media types; representing both the nature of the underlying type
> ("this is an atom feed and can be processed as a generic feed") as well as
> the specialized/constrained profile ("this feed carries podcast data, and
> can be processed as a podcast feed").

I've read your RFC, and both referenced blog posts, but still find
myself asking the same question; what problem does it solve? Yes,
media types have their issues, but in my many years in Web development
and standardization, I've yet to encounter a problem that didn't have
a workable solution through the correct use of link relations and
media types. This includes my time advising on the development of a
compound document editor at Justsystem, and representing them on the
W3C Compound Document Formats WG.

We agree that a document containing some OPDS extensions is still an
Atom document that can be delivered as application/atom+xml, I
believe. You appear to suggest that there's value in exposing the
existence of those OPDS extensions using an additional external
metadata protocol element. I believe that this is at best an
optimization, since the consumer can easily detect the existence of
the extension by inspecting the content (and understanding the
extensibility model of the host format). But at worst, it's a recipe
for interop problems; does the meaning of the document change if the
profile is declared vs not? What if the v2 profile URI is declared and
the document contains a v1 extension? etc..

This really smells to me like a solution in search of a problem.

> james snell blogged about the bigger problem [2] that media types as they
> are today are not a terribly well-designed concept.

I strongly disagree with that post (blog commenting seems broken, but
I won't respond in detail here except to say "rel=icon" :). I believe
media types are far better designed than is commonly appreciated; a
single label for a compatible evolution of a document format is a
simple yet extremely powerful protocol that promotes compatibility in
extensions and penalizes incompatible deviations... but still permits
them when required.

And FWIW, this is coming from the guy who, AFAIK, started the whole
profile parameter ball rolling in RFC 3236. That went in there only as
a compromise with the WAPforum, but was never/rarely used in practice.