Background
==========

- Priority scale: High, Medium and Low

- Complexity scale: C1, C2, C4 and C8.
   The complexity scale is exponential, with complexity 1 being the
   lowest complexity. Complexity is a function of both task 'complexity'
   and task 'scope'.

Core
====

- LLCP Target Mode

  Priority: High
  Complexity: C8
  Owner: Samuel Ortiz <sameo@linux.intel.com>

  In LLCP target mode, neard plays the target mode and gets activated by a
  remote device. It should be added to the adapter's device list.
  In order to do so, the underlying NFC hardware must be able to run in target
  mode which means the StartPoll API should be modified to support both
  initiator and target modes.


- Agent API

  Priority: Medium
  Complexity: C4
  Owner: Samuel Ortiz <sameo@linux.intel.com>

  neard's agent API will allow external applications to register against neard
  and provide it with context specific input. For now, MIFARE keys and
  Bluetooth OOB data will be supported.


- Card Emulation Mode

  Priority: High
  Complexity: C8
  Dependencies: Core:NDEF building library
  Owner: Samuel Ortiz <sameo@linux.intel.com>

  In card emulation mode, the NFC adapter is in passive mode, and gets
  activated by an initiator mode device. Then the initiator sends command
  that the target is supposed to interpret and respond to. Most of the
  commands are tag specific.
  For a proper card emulation mode support, the NFC adapter must enter the
  polling loop and not only initiate the RF field, but then wait for intiator
  to activate it. Once activated, the NFC socket should enter the accept
  state, and dispatch the various commands to the right plugins (one per
  protocol, a.k.a. tags).


Reader mode
===========

- Bluetooth Handover integration

  Priority: Medium
  Complexity: C4
  Owner: Olivier Guiter <olivier.guiter@linux.intel.com>

  The handover integration has to be done between bluetoothd, obexd and
  neard. obexd should be able to expose and OOB NDEF in order for an NFC
  peer to initiate a BT pairing. The potentially queued OBEX transfers
  should then start once the pairing is done.
  On the other hand, neard should be able to talk with bluetoothd for
  pairing with a remote peer exporting an OOB NDEF. Once the pairing is
  done, obexd should be able to handle the OBEX transfer.


Writer mode
===========

- MIFARE writer mode support

  Priority: Low
  Complexity: C2
  Owner: Olivier Guiter <olivier.guiter@linux.intel.com>


p2p mode
========

- SNEP writer mode support

  Priority: High
  Conplexity: C4
  Dependencies: Core:Writer mode
  Owner: Ravi kumar Veeramally <ravikumar.veeramally@linux.intel.com>

  SNEP is the NFC Forum defined standard for exchanging NDEFs over
  an LLCP link. SNEP can be run as a client or a server, respectively
  to send and receive NDEFs.
