W3C Launches a Draft NFC API

At the end of last month, W3C published a draft NFC API. As a leading authority on developing Web standards, I found it interesting that W3C had dedicated time and resources to NFC technology. NFC certainly received significant hype when it first showed up in consumer devices; however, since its initial 15 minutes of fame, many have questioned the viability, need, and long-term possibilities of NFC as a mainstream technology. Accordingly, I reached out to the W3C Team Contact for the NFC Working Group, Dave Raggett.

Raggett gave me an overview of the unique capabilities and potential of NFC technology that led W3C to develop the draft API:

"What's special about NFC is its extremely short range -- you have to make a conscious decision to touch your device to the tag or to another device. This is unlike other technologies like WiFi or Bluetooth, which have much longer ranges and, as such, lose the specificity of the NFC touch gesture."

W3C envisions NFC as a strategic, valuable technology moving forward. Raggett finds that one of the issues prohibiting adoption is the difficulty in developing Web applications. The developer base familiar with Web technologies (e.g., HTML, JavaScript) is enormous. The API approach to NFC should open up NFC to that developer base and ease the development of applications that integrate NFC technology. Raggett presented some potential use cases:

"NFC enables wireless communication between two devices at close proximity, usually less than a few centimeters. Some of the use cases driving this work include:

  • Tap to Play: Tap your device to another to play a peer-to-peer game, using the NFCPeer interface to exchange NDEF messages.
  • Tap to Share: Tap to share some data (e.g., coupons, contacts) using the NFCPeer interface to exchange NDEF messages.
  • Tap to Control: Tap to control another device, like a TV remote, using the "handover" capability of the NFCPeer interface.
  • Tap to Connect: Tap to connect via WiFi or Bluetooth, using the "handover" capability of the NFCPeer interface.
  • Tap to Read: Tap to read NFC tags, using the NFCTag interface.
  • Tap to Write: Tap to write NFC tags, using the NFCTag interface.

In short, W3C's work on the NFC API will enable Web application developers to take advantage of NFC hardware for reading and writing NFC tags or for exchange of devices between two NFC devices."

In addition, I asked Raggett how W3C plans on taking the API to market and the broader developer community:

"Our first step is to seek review of the proposed API, so that we can refine it and drive it along W3C's standard process.  We are working on making experimental implementations available to support this."

Raggett then confirmed that beta partners have already shown interest and started participating in the API development:

"Several companies participating in the Working Group have expressed an interest in implementing the draft NFC API and providing feedback. These include Intel, which has an experimental implementation, building upon its experience with integrating NFC support into the Linux kernel."

W3C will measure success in two stages. Currently, W3C is gauging success on the level of interest and feedback received on the initial draft. In the future, success levels will be tied to the level of browser support and the number of applications that utilize the API. Stay tuned for continued conversations and development. For more information, visit the API site.

Be sure to read the next API article: Google Cloud SQL Goes GA and Other Platform Updates