w3c / web-nfc

Web NFC
https://w3c.github.io/web-nfc/
Other
304 stars 67 forks source link

Support TNEP: Tag Device (an alternative to deprecated push/SNEP) #563

Open kenchris opened 4 years ago

kenchris commented 4 years ago

When SNEP (simple NDEF Exchange Protocol) was deprecated we researched how to support sending NDEF to other active devices.

The conclusion was that we could implement it using Android HCE (Host Card Emulation) a non-standard for emulating Type 4 Tags with ISO-DEP/APDU. On top of that you could implement NDEF and basically emulate a Type 4 tag with NDEF. Pretty smart, but also a bit non standard.

Now with TNEP this seems to have become a more official way. TNEP allows to create a TNEP (Tag NDEF Exchange Protocol) Tag Device, which is like an emulated tag - thus basically HCE.

It is exactly how it is accomplished on the Nordic devices, if you check the Tag Device demo, which emulates a Type 4 Tag and uses the TNEP records on top.

https://github.com/NordicPlayground/fw-nrfconnect-nrf/blob/ebd04e6d00be9b99e0e86f7af00a940f948e9b39/samples/nfc/tnep_tag/src/main.c

https://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.sdk5.v12.2.0%2Fgroup__nfc__t4t__lib.html

eklem commented 2 years ago

Would this make phone to phone possible?

kenchris commented 2 years ago

Yes, this should work with active devices

getify commented 1 year ago

Would very much like this, for use cases as explained here.

akbertram commented 1 year ago

Came here looking for the peer-to-peer use case. Very interested in this for our PWA case management and survey app, which works well offline, but requires an internet connection to sync with a central server.

One use case that comes up periodically is teams working in remote areas with no network connection for extended period of time, particularly in humanitarian relief contexts. Typically one team member might register the househould, but another would conduct an assessment. With peer to peer NFC the caseworkers could exchange unsychronized drafts to build on each others drafts.

anssiko commented 1 year ago

@getify @akbertram you may be interested in the new Local Peer-to-Peer API proposal we just submitted for consideration: https://github.com/WICG/proposals/issues/103

At this stage we’re looking for support signals and use cases to prioritize this exploration appropriately to ensure it meets the needs of web developers. Your use cases discussed in this issue would be much appreciated contributions to help that proposal move forward.

@getify where can we track your latest for the zero-server sharing exploration?

cc @ibelem

eklem commented 1 year ago

I got a couple of user stories. The small and generic one that will be part of other user stories is to transfer JSON from one phone to another, not going through online services. The bigger and more specific one is to transfer one time pads for encryption/decryption of messages. It can solve one of the big problems with one time pad encryption/decryption.

anssiko commented 1 year ago

@eklem, those are great user stories! Please provide your support and user story input in https://github.com/WICG/proposals/issues/103 directly so the rest of the web community interested in new incubations can chime in. Thanks for your contributions! We'll then integrate your input to the explainer document in its next revision.