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
====

- Card Emulation Mode

  Priority: Low
  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).

- Packaging

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

  Packaging for both RPM packages based distributions should be done in order
  to push neard into the mainstream Linux distributions.

- OBEX over LLCP

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

- Split NDEF code

  Priority: Low
  Complexity: C4
  Owner:

  NDEF code (Handover related in particular) should be splitted into parsing and
  acting part. This would make code easier to follow and would also allow to
  run unit tests on parsing part.


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


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

- MIFARE writer mode support

  Priority: Low
  Complexity: C2
  Owner: Dorota Moskal <dorota.moskal@tieto.com>


p2p mode
========

- SNEP and LLCP validation tests

  Priority: Medium
  Complexity: C4
  Owner: Ravi kumar Veeramally <ravikumar.veeramally@linux.intel.com>

  Implement SNEP validation test cases as an optional neard plugin, and
  LLCP ones as a set of tools/ binaries.

- Microsoft handover

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

  Microsoft handover implementation does not follow the NFC Forum specs.
  It is specified here:

     http://msdn.microsoft.com/en-us/library/ee941641

  In order to support this handover implementation, a specific plugin
  should be implemented as there is no overlap between it and the NFC
  Forum handover.

- PHDC service

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

  PHDC (Personal Health Device Communication) is a protocol on top of LLCP
  for exchanging ISO/IEEE 11073 PDUs. It has its own LLCP service name and
  as such could be implemented as a p2p plugin.
  The PHDC plugin would define its own D-Bus interface for the PHDC Manager
  role.
