Re: [apps-discuss] Concise Binary Object Representation (CBOR)

Phillip Hallam-Baker <> Wed, 22 May 2013 16:14 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 2715721F96DE for <>; Wed, 22 May 2013 09:14:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001, NO_RELAYS=-0.001]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id PtuMCjlJ7ktC for <>; Wed, 22 May 2013 09:14:26 -0700 (PDT)
Received: from ( [IPv6:2a00:1450:400c:c03::229]) by (Postfix) with ESMTP id 9D92D21F96DC for <>; Wed, 22 May 2013 09:14:25 -0700 (PDT)
Received: by with SMTP id q55so1432306wes.14 for <>; Wed, 22 May 2013 09:14:24 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=l1/B431TPv2C2edx1UDCWV9U0KDKVMKKZjtSar4KyeY=; b=S4m2aAoh1hA+6yGE0nQvU/X4Cisjokytt/oZ9kp31eculD6Oue2Mv6RKnT+XvDe/P6 ybmnZzqzTeRNGItAsCYVDPBNixtQsHcu7gyvXcDFXvoL82EGuuDrCkvEpSOdsM3IdHnF /0KlrKBi6m/bit+BZRGfeksMisylG0an0i/m0aYlit86LAlSr9IK9TDMxaOpjLWKsz8S j8+PSOVINsixsn4iVP3UxU8jb8jZrrQ3uPxIMC3kY4eHIGN42hLgX14TM67ilbcpE7jM TpNv95ZFJvmFmisX7O4YRvMMy07I6+K0RqaHYHSwPQxz0NpodN10uQB8aMfEE1NNTmy1 eE3A==
MIME-Version: 1.0
X-Received: by with SMTP id u12mr34884664wiv.0.1369239264654; Wed, 22 May 2013 09:14:24 -0700 (PDT)
Received: by with HTTP; Wed, 22 May 2013 09:14:24 -0700 (PDT)
In-Reply-To: <>
References: <> <> <>
Date: Wed, 22 May 2013 12:14:24 -0400
Message-ID: <>
From: Phillip Hallam-Baker <>
To: Paul Hoffman <>
Content-Type: multipart/alternative; boundary="f46d04389001fb7f2804dd50db4b"
Cc: IETF Apps Discuss <>
Subject: Re: [apps-discuss] Concise Binary Object Representation (CBOR)
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: General discussion of application-layer protocols <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 22 May 2013 16:14:27 -0000


I think we can all agree that *A* binary format would be useful and that
two dozen are not useful. The whole problem is how to convince people to
use one particular scheme rather than the alternatives.

ASN.1 has a decent binary encoding. The problem is that it also has some
terrible ones and the ASN.1 schema language was designed by a committee.

Text encodings do have problems. Floating Point values do not round trip
from IEEE floating point representations without special handling so the
format causes a loss in precision that can cause real trouble in scientific
work. And nobody likes base64 encoding binary values.

I would like to have available a BER like encoding for JSON. But this
proposal seems to be something rather different.

There is also the XML binary encoding effort that took place. They had a
competition and everything. And at the end the only real use for the work
was that it shut up the constant carping from people complaining that Web
Services in XML were verbose.

On Wed, May 22, 2013 at 12:00 PM, Paul Hoffman <>wrote:

> On May 22, 2013, at 8:47 AM, James M Snell <> wrote:
> > At first read it looks interesting, and can definitely see that a lot
> > of thought was put into the design. There have, however, been a number
> > of previous attempts at alternative compact binary representations (or
> > at least discussions) that did not seem to really go anywhere.
> We did ours differently than others: we started with an ordered set of
> design goals and stuck to them. That means that our early arguments about
> changes / bikeshedcolors had something we could compare against, and it
> make coming up with a solution much more tractable.
> > What is
> > the current implementation status of this? Are there implementations
> > available or any existing plans to use this new format in a specific
> > app or spec?
> Both Carsten and I did versions (in Ruby and Python) to make sure the spec
> made sense and the examples worked. At least one other member of this list
> has apparently done a version in JavaScript.
> > I'm largely just curious about the context and motivation
> > behind this...
> There are many contexts. It might be useful in CORE and other
> constrained-environment work. It might be useful for the next protocols
> that need a compact binary representation and the WG doesn't want to fight
> over the specific features. If the design goals fit your needs (and we
> actually met them...), then it's useful to have it be widely available.
> --Paul Hoffman
> _______________________________________________
> apps-discuss mailing list