From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from sog-mx-3.v43.ch3.sourceforge.com ([172.29.43.193] helo=mx.sourceforge.net) by sfs-ml-3.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1X21hP-0000Dy-7u for bitcoin-development@lists.sourceforge.net; Tue, 01 Jul 2014 17:18:31 +0000 Received-SPF: pass (sog-mx-3.v43.ch3.sourceforge.com: domain of gmail.com designates 209.85.220.172 as permitted sender) client-ip=209.85.220.172; envelope-from=alexy.kot.all@gmail.com; helo=mail-vc0-f172.google.com; Received: from mail-vc0-f172.google.com ([209.85.220.172]) by sog-mx-3.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-SHA:128) (Exim 4.76) id 1X21hN-0003d7-GY for bitcoin-development@lists.sourceforge.net; Tue, 01 Jul 2014 17:18:31 +0000 Received: by mail-vc0-f172.google.com with SMTP id hy10so9214581vcb.31 for ; Tue, 01 Jul 2014 10:18:24 -0700 (PDT) MIME-Version: 1.0 X-Received: by 10.52.92.12 with SMTP id ci12mr61619vdb.90.1404235103886; Tue, 01 Jul 2014 10:18:23 -0700 (PDT) Sender: alexy.kot.all@gmail.com Received: by 10.58.237.129 with HTTP; Tue, 1 Jul 2014 10:18:23 -0700 (PDT) Received: by 10.58.237.129 with HTTP; Tue, 1 Jul 2014 10:18:23 -0700 (PDT) In-Reply-To: References: <20140320215208.GC88006@giles.gnomon.org.uk> <20140326224826.GE62995@giles.gnomon.org.uk> <1016E2A3-C678-46FA-B80E-F9D86FDEA213@osfda.org> Date: Tue, 1 Jul 2014 18:18:23 +0100 X-Google-Sender-Auth: 3_bS-Nr26D09eZsBaUIq3zgtxsw Message-ID: From: Alex Kotenko To: Andreas Schildbach Content-Type: multipart/alternative; boundary=20cf3071c6c68c637a04fd24f6de X-Spam-Score: -0.6 (/) X-Spam-Report: Spam Filtering performed by mx.sourceforge.net. See http://spamassassin.org/tag/ for more details. -1.5 SPF_CHECK_PASS SPF reports sender host as permitted sender for sender-domain 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (alexy.kot.all[at]gmail.com) -0.0 SPF_PASS SPF: sender matches SPF record 1.0 HTML_MESSAGE BODY: HTML included in message -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature X-Headers-End: 1X21hN-0003d7-GY Cc: Bitcoin Dev Subject: Re: [Bitcoin-development] Payment Protocol for Face-to-face Payments X-BeenThere: bitcoin-development@lists.sourceforge.net X-Mailman-Version: 2.1.9 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Jul 2014 17:18:31 -0000 --20cf3071c6c68c637a04fd24f6de Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hmm, r1, r2 etc is actually interesting. It takes less chars then array (yes, array brackets have to be escaped) and provides unlimited number of options, uniformed approach and priority definition. I'd say that is the way to go. Any objections? On 1 Jul 2014 16:39, "Andreas Schildbach" wrote: > Ok, one more idea: > r=3D is used for the first URL, and we *think* of it as r0=3D > additional URLs are appended as > r1=3D > r2=3D > and so on. This would also define an ordering in case we need it. > > > On 07/01/2014 05:07 PM, Michael Wozniak wrote: > > Multiple parameters is currently undefined as far as I can tell. Shoul= d > the client take the first, last, or ignore it completely if there are > multiple of any parameter? I think that=E2=80=99s the point of the param= eter > pollution discussion, which will define it one way or the other. > > > > I=E2=80=99m only familiar with the Electrum implementation, which is cu= rrently > checking for any duplicate parameters and treating the entire URI as > invalid if duplicate parameters exist (following the parameter pollution > suggestions). > > > > - > > Michael Wozniak > > > > On Jul 1, 2014, at 10:59 AM, Andreas Schildbach > wrote: > > > >> Does r[]=3D really need to be encoded as r%5B1%5D=3D ? In this case, I= 'd > >> advocate for a simple array parameter name, like rs=3D ("plural" of r)= . > >> Length really does matter for QR codes. > >> > >> I'm fine with either multiple r=3D params or exactly one r=3D plus zer= o to > >> many r[]=3D params. Although I think it is a violation of the (current= ) > >> spec to choke on more than one r=3D parameters, I admit that bitcoinj = is > >> currently implemented that way. (We could however fix this in a > >> maintenance release.) > >> > >> However, r=3D should also allow all other protocols, exactly like any = of > >> the r[]=3D params. I don't think we should do a distinction here. Also > >> because of backwards compatibility to the status quo. > >> > >> > >> On 07/01/2014 03:03 PM, Alex Kotenko wrote: > >>> In my mind it's not like the client's phone is going all directions a= t > >>> the same time. There should be a priority method and fallback > method(s). > >>> =E2=80=8BAnd I =E2=80=8Bsee p2p radio as priority, and web as fallbac= k, and BIP21 in > the > >>> end as always-working-default. > >>> > >>> =E2=80=8BSo I'm keeping support for it all while want to be able to p= rovide > best > >>> user experience. > >>> Mike, a while ago in =E2=80=8Bthis thread you've described contactles= s cards > >>> user experience. I'm also using contactless cards often, and what I'm > >>> aiming at is creating same level of user experience for Bitcoin users= . > >>> > >>> Encryption over bluetooth is a matter to worry about, and we will > >>> introduce that, but we need to sort out more low level problems first > >>> before coming into that stage. > >>> > >>> > >>> So, the backwards compatibility is a good issue Michael pointed out. > >>> While processing of multiple "r" parameters is indeed uncertain (sinc= e > >>> there is no RFC for that various implementations may behave > >>> differently), the array solution is somewhat better. The array > parameter > >>> name is "r%5B1%5D=3D", i.e. it's not "r=3D", and we can add plain "r= =3D" > >>> alongside. And if particular implementation understands the array > >>> construct - it will use it, otherwise it will ignore the "r%5B1%5D=3D= " > and > >>> use only usual "r=3D". > >>> > >>> This doens't work though for cases where particular implementation > >>> understands array construct but doesn't work well with repeating > >>> parameters, since it will see two repeating "r" - an array and a > string. > >>> I don't have a solution for that atm. > >>> > >>> > >>> If add completely new parameter to solve this we will need to make it > an > >>> array straight away to address upcoming issues with accommodating oth= er > >>> protocols. > >>> And then I would also modify existing BIP72 to strictly define "r=3D"= as > >>> "http(s)" =E2=80=8Bonly =E2=80=8Bparameter, while all other protocols= (bluetooth, WiFi > >>> Direct, ultrasound, chirp etc) should go to the new array parameter. > >>> > >>> > >>> =E2=80=8B > >>> > >>> > >>> > -------------------------------------------------------------------------= ----- > >>> Open source business process management suite built on Java and Eclip= se > >>> Turn processes into business applications with Bonita BPM Community > Edition > >>> Quickly connect people, data, and systems into organized workflows > >>> Winner of BOSSIE, CODIE, OW2 and Gartner awards > >>> http://p.sf.net/sfu/Bonitasoft > >>> > >>> > >>> > >>> _______________________________________________ > >>> Bitcoin-development mailing list > >>> Bitcoin-development@lists.sourceforge.net > >>> https://lists.sourceforge.net/lists/listinfo/bitcoin-development > >>> > >> > >> > >> > >> > -------------------------------------------------------------------------= ----- > >> Open source business process management suite built on Java and Eclips= e > >> Turn processes into business applications with Bonita BPM Community > Edition > >> Quickly connect people, data, and systems into organized workflows > >> Winner of BOSSIE, CODIE, OW2 and Gartner awards > >> http://p.sf.net/sfu/Bonitasoft > >> _______________________________________________ > >> Bitcoin-development mailing list > >> Bitcoin-development@lists.sourceforge.net > >> https://lists.sourceforge.net/lists/listinfo/bitcoin-development > > > > > > > -------------------------------------------------------------------------= ----- > > Open source business process management suite built on Java and Eclipse > > Turn processes into business applications with Bonita BPM Community > Edition > > Quickly connect people, data, and systems into organized workflows > > Winner of BOSSIE, CODIE, OW2 and Gartner awards > > http://p.sf.net/sfu/Bonitasoft > > _______________________________________________ > > Bitcoin-development mailing list > > Bitcoin-development@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/bitcoin-development > > > > > > > -------------------------------------------------------------------------= ----- > Open source business process management suite built on Java and Eclipse > Turn processes into business applications with Bonita BPM Community Editi= on > Quickly connect people, data, and systems into organized workflows > Winner of BOSSIE, CODIE, OW2 and Gartner awards > http://p.sf.net/sfu/Bonitasoft > _______________________________________________ > Bitcoin-development mailing list > Bitcoin-development@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/bitcoin-development > --20cf3071c6c68c637a04fd24f6de Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable

Hmm, r1, r2 etc is actually interesting. It takes less chars= then array (yes, array brackets have to be escaped) and provides unlimited= number of options, uniformed approach and priority definition. I'd say= that is the way to go. Any objections?

On 1 Jul 2014 16:39, "Andreas Schildbach&qu= ot; <andreas@schildbach.de&= gt; wrote:
Ok, one more idea:
r=3D is used for the first URL, and we *think* of it as r0=3D
additional URLs are appended as
r1=3D
r2=3D
and so on. This would also define an ordering in case we need it.


On 07/01/2014 05:07 PM, Michael Wozniak wrote:
> Multiple parameters is currently undefined as far as I can tell. =C2= =A0Should the client take the first, last, or ignore it completely if there= are multiple of any parameter? =C2=A0I think that=E2=80=99s the point of t= he parameter pollution discussion, which will define it one way or the othe= r.
>
> I=E2=80=99m only familiar with the Electrum implementation, which is c= urrently checking for any duplicate parameters and treating the entire URI = as invalid if duplicate parameters exist (following the parameter pollution= suggestions).
>
> -
> Michael Wozniak
>
> On Jul 1, 2014, at 10:59 AM, Andreas Schildbach <andreas@schildbach.de> wrote:
>
>> Does r[]=3D really need to be encoded as r%5B1%5D=3D ? In this cas= e, I'd
>> advocate for a simple array parameter name, like rs=3D ("plur= al" of r).
>> Length really does matter for QR codes.
>>
>> I'm fine with either multiple r=3D params or exactly one r=3D = plus zero to
>> many r[]=3D params. Although I think it is a violation of the (cur= rent)
>> spec to choke on more than one r=3D parameters, I admit that bitco= inj is
>> currently implemented that way. (We could however fix this in a >> maintenance release.)
>>
>> However, r=3D should also allow all other protocols, exactly like = any of
>> the r[]=3D params. I don't think we should do a distinction he= re. Also
>> because of backwards compatibility to the status quo.
>>
>>
>> On 07/01/2014 03:03 PM, Alex Kotenko wrote:
>>> In my mind it's not like the client's phone is going a= ll directions at
>>> the same time. There should be a priority method and fallback = method(s).
>>> =E2=80=8BAnd I =E2=80=8Bsee p2p radio as priority, and web as = fallback, and BIP21 in the
>>> end as always-working-default.
>>>
>>> =E2=80=8BSo I'm keeping support for it all while want to b= e able to provide best
>>> user experience.
>>> Mike, a while ago in =E2=80=8Bthis thread you've described= contactless cards
>>> user experience. I'm also using contactless cards often, a= nd what I'm
>>> aiming at is creating same level of user experience for Bitcoi= n users.
>>>
>>> Encryption over bluetooth is a matter to worry about, and we w= ill
>>> introduce that, but we need to sort out more low level problem= s first
>>> before coming into that stage.
>>>
>>>
>>> So, the backwards compatibility is a good issue Michael pointe= d out.
>>> While processing of multiple "r" parameters is indee= d uncertain (since
>>> there is no RFC for that various implementations may behave >>> differently), the array solution is somewhat better. The array= parameter
>>> name is "r%5B1%5D=3D", i.e. it's not "r=3D&= quot;, and we can add plain "r=3D"
>>> alongside. And if particular implementation understands the ar= ray
>>> construct - it will use it, otherwise it will ignore the "= ;r%5B1%5D=3D" and
>>> use only usual "r=3D".
>>>
>>> This doens't work though for cases where particular implem= entation
>>> understands array construct but doesn't work well with rep= eating
>>> parameters, since it will see two repeating "r" - an= array and a string.
>>> I don't have a solution for that atm.
>>>
>>>
>>> If add completely new parameter to solve this we will need to = make it an
>>> array straight away to address upcoming issues with accommodat= ing other
>>> protocols.
>>> And then I would also modify existing BIP72 to strictly define= "r=3D" as
>>> "http(s)" =E2=80=8Bonly =E2=80=8Bparameter, while al= l other protocols (bluetooth, WiFi
>>> Direct, ultrasound, chirp etc) should go to the new array para= meter.
>>>
>>>
>>> =E2=80=8B
>>>
>>>
>>> --------------------------------------------------------------= ----------------
>>> Open source business process management suite built on Java an= d Eclipse
>>> Turn processes into business applications with Bonita BPM Comm= unity Edition
>>> Quickly connect people, data, and systems into organized workf= lows
>>> Winner of BOSSIE, CODIE, OW2 and Gartner awards
>>> h= ttp://p.sf.net/sfu/Bonitasoft
>>>
>>>
>>>
>>> _______________________________________________
>>> Bitcoin-development mailing list
>>> B= itcoin-development@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listin= fo/bitcoin-development
>>>
>>
>>
>>
>> ------------------------------------------------------------------= ------------
>> Open source business process management suite built on Java and Ec= lipse
>> Turn processes into business applications with Bonita BPM Communit= y Edition
>> Quickly connect people, data, and systems into organized workflows=
>> Winner of BOSSIE, CODIE, OW2 and Gartner awards
>> http:= //p.sf.net/sfu/Bonitasoft
>> _______________________________________________
>> Bitcoin-development mailing list
>> Bitco= in-development@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/b= itcoin-development
>
>
> ----------------------------------------------------------------------= --------
> Open source business process management suite built on Java and Eclips= e
> Turn processes into business applications with Bonita BPM Community Ed= ition
> Quickly connect people, data, and systems into organized workflows
> Winner of BOSSIE, CODIE, OW2 and Gartner awards
> http://p.= sf.net/sfu/Bonitasoft
> _______________________________________________
> Bitcoin-development mailing list
> Bitcoin-d= evelopment@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/bitco= in-development
>



---------------------------------------------------------------------------= ---
Open source business process management suite built on Java and Eclipse
Turn processes into business applications with Bonita BPM Community Edition=
Quickly connect people, data, and systems into organized workflows
Winner of BOSSIE, CODIE, OW2 and Gartner awards
http://p.sf.ne= t/sfu/Bonitasoft
_______________________________________________
Bitcoin-development mailing list
Bitcoin-develo= pment@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-de= velopment
--20cf3071c6c68c637a04fd24f6de--