Re: [v6ops] An Update to Happy Eyeballs

Benno Overeinder <benno@NLnetLabs.nl> Wed, 22 March 2017 13:55 UTC

Return-Path: <benno@NLnetLabs.nl>
X-Original-To: v6ops@ietfa.amsl.com
Delivered-To: v6ops@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D876A126CE8 for <v6ops@ietfa.amsl.com>; Wed, 22 Mar 2017 06:55:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.002
X-Spam-Level:
X-Spam-Status: No, score=-7.002 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=nlnetlabs.nl
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id QevnoU9RZi_p for <v6ops@ietfa.amsl.com>; Wed, 22 Mar 2017 06:55:43 -0700 (PDT)
Received: from dicht.nlnetlabs.nl (open.nlnetlabs.nl [185.49.140.10]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7F4D2126B72 for <v6ops@ietf.org>; Wed, 22 Mar 2017 06:55:34 -0700 (PDT)
Received: from [IPv6:2a04:b900::1:59f6:7df6:1bd:4652] (unknown [IPv6:2a04:b900:0:1:59f6:7df6:1bd:4652]) by dicht.nlnetlabs.nl (Postfix) with ESMTPSA id F0EA2BD74; Wed, 22 Mar 2017 14:55:31 +0100 (CET)
Authentication-Results: dicht.nlnetlabs.nl; dmarc=none header.from=NLnetLabs.nl
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nlnetlabs.nl; s=default; t=1490190931; bh=yQy9NmGrZwd8SQAlTOBu0++LWQZm3d3cV2kaWqi+5XM=; h=From:Subject:Date:References:To:In-Reply-To; b=JVoXPwiUSXMpsHmARt2gwmQaJedqjJzeQqX8yOkUyaSVgW9jFyze4YVOjBSDhGYyF 7VDB5gpBEskJYFnm+hAZDFjFJ2sZlE85qbQy5dQcMfzu224frgLXyzf/voSmeZ2Ntj Il/Wl9JlGKarfbIxye85PcKuZpvHgDNs/apvdQdE=
From: Benno Overeinder <benno@NLnetLabs.nl>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Mime-Version: 1.0 (Mac OS X Mail 10.2 \(3259\))
Date: Wed, 22 Mar 2017 14:55:31 +0100
References: <148899860042.20118.391380898590855642.idtracker@ietfa.amsl.com> <A609BABB-BDF2-4CCB-8452-F489C019748C@apple.com> <m1clvfj-0000FCC@stereo.hq.phicoh.net> <ABE752F6-895B-431C-9E94-E0CD2FDDB2E3@apple.com> <m1cmTQX-0000IcC@stereo.hq.phicoh.net> <92EEB875-288D-4CF9-B81F-3B5C8EA49F53@apple.com> <m1cnPPa-0000H0C@stereo.hq.phicoh.net> <D9EF89A2-EED0-41C1-85D4-09E4478EE23B@apple.com>
To: v6ops@ietf.org, Stuart Cheshire <cheshire@apple.com>, Philip Homburg <pch-v6ops-6@u-1.phicoh.com>
In-Reply-To: <D9EF89A2-EED0-41C1-85D4-09E4478EE23B@apple.com>
Message-Id: <0C3EC428-1A3C-45F5-B1EA-CACAF8B7CB5C@NLnetLabs.nl>
X-Mailer: Apple Mail (2.3259)
Archived-At: <https://mailarchive.ietf.org/arch/msg/v6ops/WS4RtpSfX1UmI5tE-JqVphweW_A>
Subject: Re: [v6ops] An Update to Happy Eyeballs
X-BeenThere: v6ops@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: v6ops discussion list <v6ops.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/v6ops>, <mailto:v6ops-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/v6ops/>
List-Post: <mailto:v6ops@ietf.org>
List-Help: <mailto:v6ops-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/v6ops>, <mailto:v6ops-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 22 Mar 2017 13:55:46 -0000

Hi all,

A bit late to chime in, but maybe still a useful and relevant contribution to the discussion.

> On 16 Mar 2017, at 21:07, Stuart Cheshire <cheshire@apple.com> wrote:
> 
> On 13 Mar 2017, at 05:49, Philip Homburg <pch-v6ops-6@u-1.phicoh.com> wrote:
> 
>> In my opinion, there is no justification for declaring a single threaded C application that uses getaddrinfo non-compliant.
>> 
>> So this draft doesn't address my concerns. Just calling getaddrinfo should be enough.
> 
> You might think just calling getaddrinfo() should be enough, but it’s not.
> 
> You are free to write a single-threaded C application that uses synchronous blocking calls if you like, and it might work okay on Ethernet, but it would give a horrible user-experience on a mobile device with wireless networking (and for that reason your app would fail Apple app review and it would not be allowed on the iPhone, for failing to achieve even minimal usability standards).
> 
> We’re not telling you how you should write your app.
> 
> But we are publishing a specification that gives guidance about how to write a good app, that gives a good user experience. (You’re not forced to follow that guidance, and you don’t have to if you don’t want to.)

Thanks, I can second this as one of the partners in the getdns API project [1].  

First I like to mention that getdns API provides a modern *asynchronous* DNS API.  And although the getdns API is not a standard, the design process of the getdns API specification [2] has similarities with a standardisation process.  In the specification [2] you can also read what the design considerations were.  Talking with a handful of application developers about the requirements of a modern API, a first version of the API was published.  Public feedback was provided (during presentations, email list, etc.) and incorporated, and implementers of the API also contributed feedback and improvements.

The goals and results of the getdns API and library are similar to what Stuart mentioned above: the API (hopefully) provides a means to write a good application, i.e. using a high-level DNS resolution API with much functionality and good user experience.


— Benno


[1] https://getdnsapi.net
[2] https://getdnsapi.net/documentation/spec/

-- 
Benno J. Overeinder
NLnet Labs
http://www.nlnetlabs.nl/