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

mike amundsen <mamund@yahoo.com> Wed, 06 November 2013 16:18 UTC

Return-Path: <mca@amundsen.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 03D7121E8145 for <apps-discuss@ietfa.amsl.com>; Wed, 6 Nov 2013 08:18:34 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.079
X-Spam-Level:
X-Spam-Status: No, score=-0.079 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, FORGED_YAHOO_RCVD=2.297, HTML_MESSAGE=0.001, J_CHICKENPOX_38=0.6, 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 JV+-j+2JrhwZ for <apps-discuss@ietfa.amsl.com>; Wed, 6 Nov 2013 08:18:30 -0800 (PST)
Received: from mail-wi0-f176.google.com (mail-wi0-f176.google.com [209.85.212.176]) by ietfa.amsl.com (Postfix) with ESMTP id 093D121E8142 for <apps-discuss@ietf.org>; Wed, 6 Nov 2013 08:18:29 -0800 (PST)
Received: by mail-wi0-f176.google.com with SMTP id ex4so4011848wid.3 for <apps-discuss@ietf.org>; Wed, 06 Nov 2013 08:18:28 -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:from :date:message-id:subject:to:cc:content-type; bh=OXFbxNqvuwB9l6uDdofynLj++V8cEeGWnofj7w1zoh0=; b=ACXu2GA2vwc6B4woommGS8ZoTafUnpZubxAXliSSc5ehG6IjdiojE4+FO5t1lCcU1L wlui3RYMK/cf45fFohkCGkEPuBTwDvb2q+F62eG9m5h4XrbNERxm8+OkNDVzmkICaeRe 6yiosohez1fDETdyzRu2ZJxa/uIRIvER57sXZ20FwlLaUw91HlF6Kcn5l9XvbTaWZmZY E4iriEmXmlQRkaFFyARPSV2A6r3xpmKG1eBQZIc55sfinMHIoma5AIAxEcBGlp/JcHCZ t7GoQAB1e73fpjKDfBhEfr6xwvsRd7GGPuJ8nTTO2/M3vZWuVhmBzVA6f4wL+72IQ60f 7sFw==
X-Gm-Message-State: ALoCoQliXbKpk0GcmGieUBV10WZiVFgDNgosfY122nzQ4Rk+pZC6eq7gL0abV3qGhUwfgI1X7+/t
X-Received: by 10.180.99.99 with SMTP id ep3mr3124175wib.11.1383754705264; Wed, 06 Nov 2013 08:18:25 -0800 (PST)
MIME-Version: 1.0
Sender: mca@amundsen.com
Received: by 10.194.55.195 with HTTP; Wed, 6 Nov 2013 08:18:05 -0800 (PST)
In-Reply-To: <CALcoZirtYd-HQBZ8OTVc70g8j=ybULk5JHzSbe49J6g0Pg35nw@mail.gmail.com>
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> <CALcoZirtYd-HQBZ8OTVc70g8j=ybULk5JHzSbe49J6g0Pg35nw@mail.gmail.com>
From: mike amundsen <mamund@yahoo.com>
Date: Wed, 06 Nov 2013 11:18:05 -0500
X-Google-Sender-Auth: GWsvKWLbzdZC-StsQFPUCr1u_fU
Message-ID: <CAPW_8m4VSWh_R1dAg-GX_hDH_Ebw-t8N=e2F5_krrvregxapLw@mail.gmail.com>
To: Mark Baker <distobj@acm.org>
Content-Type: multipart/alternative; boundary="f46d044283c0b4af3d04ea847fb2"
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 16:18:34 -0000

<snip>I've read your RFC, and both referenced blog posts, but still find
myself asking the same question; what problem does it solve?</snip>

Mark:

I use profiles to _add_ domain-specific information to an existing
hypermedia format (like HTML or Collection+JSON).

Separation of Concerns
This makes it possible to separate protocol details (HTTP) from domain
details (accounting, microblogging) which make re-use of existing media
types possible even when you encounter a new problem domain.

Decoupling & Reuse
Using profiles also creates a "closed world" model of a domain (e.g.
microblogging) and that makes it possible to code a client all that
recognizes that domain *independent* of the media type.  This speeds/eases
the effort to create an M2M domain client since you are working in "layers"
you can take an existing hypermedia type (e.g. HTML) parser and _add_ the
domain-specific coding.

IMO, this is solving a problem that existing now and will continue to
exist. It offers the ability for developers to "level-up" and stop coding
protocol and focus on domain specifics *without* losing fidelity to a
protocol.





mamund
+1.859.757.1449
skype: mca.amundsen
http://amundsen.com/blog/
http://twitter.com/mamund
https://github.com/mamund
http://www.linkedin.com/in/mamund


On Wed, Nov 6, 2013 at 9:20 AM, Mark Baker <distobj@acm.org> wrote:

> 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.
> _______________________________________________
> apps-discuss mailing list
> apps-discuss@ietf.org
> https://www.ietf.org/mailman/listinfo/apps-discuss
>