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 >
- [apps-discuss] proposal: adding profile support t… Erik Wilde
- Re: [apps-discuss] proposal: adding profile suppo… Martin J. Dürst
- Re: [apps-discuss] proposal: adding profile suppo… Tim Bray
- Re: [apps-discuss] proposal: adding profile suppo… Mark Baker
- Re: [apps-discuss] proposal: adding profile suppo… mike amundsen
- Re: [apps-discuss] proposal: adding profile suppo… Erik Wilde
- Re: [apps-discuss] proposal: adding profile suppo… James M Snell
- Re: [apps-discuss] proposal: adding profile suppo… Erik Wilde
- Re: [apps-discuss] proposal: adding profile suppo… James M Snell
- Re: [apps-discuss] proposal: adding profile suppo… Erik Wilde
- Re: [apps-discuss] proposal: adding profile suppo… Mark Baker
- Re: [apps-discuss] proposal: adding profile suppo… Markus Lanthaler
- Re: [apps-discuss] proposal: adding profile suppo… mike amundsen
- Re: [apps-discuss] proposal: adding profile suppo… James M Snell
- Re: [apps-discuss] proposal: adding profile suppo… Rushforth, Peter
- Re: [apps-discuss] proposal: adding profile suppo… Erik Wilde
- Re: [apps-discuss] proposal: adding profile suppo… Erik Wilde
- Re: [apps-discuss] proposal: adding profile suppo… Markus Lanthaler
- Re: [apps-discuss] proposal: adding profile suppo… Martin J. Dürst
- Re: [apps-discuss] proposal: adding profile suppo… Martin J. Dürst
- Re: [apps-discuss] proposal: adding profile suppo… Martin J. Dürst
- Re: [apps-discuss] proposal: adding profile suppo… Mark Baker
- Re: [apps-discuss] proposal: adding profile suppo… Tim Bray
- Re: [apps-discuss] proposal: adding profile suppo… James M Snell
- Re: [apps-discuss] proposal: adding profile suppo… Martin J. Dürst