Can someone help me understanding the
current state of the NFC Android
stack? With the OS 2.3 there was
released small NFC support (limited
only to NXP tags reading), later the
Google augment the API, so in OS 2.3.3
the wider range of tags is supported
and also p2p is possible.
My question is how the Open NFC stack
(http://www.open-nfc.org/) fits into
current state??
At the moment (Android 2.3.4), the Android platform does not integrate the Open NFC stack. This stack has several advantages: not limited to one particular NFC hardware, portable to many different environments (not only Android), many additional features compared to the current stack. On the other hand, because Open NFC is not part of the standard Android environment, it requires some work (but it is actually quite easy) to use this stack in an Android platform. The Open NFC documentation describes this process.
As I understand the Open NFC stack is
parallel activity and is optional
replacement to the current stack. Due
to its description it overcomes some
limits of the Google NFC stack
implementation and makes new HW
adaptions (i.e. support for new tag
types) easier…
Correct.
To my understanding this stack is
intended to by used by device
manufacturers, not mobile developers –
is that right? Or is it possible to
download the Open NFC stack, compile
it as a library, put into .apk and use
as an alternative the Google stack?
Unfortunately, because the standard Android kernel does not support modules loading, the Open NFC stack cannot be simply installed as another application, it requires a kernel change. But once the kernel is replaced, it is quite easy to deploy and use the Open NFC stack.
But even it will be possible for
application developers to use the Open
NFC stack – does it make sense with
the new 2.3.3 OS features?
An application developer should probably stick to the OS features, even if more limited, since they assure the portability of the code over any NFC-enabled phone. But if you are trying to use "more" features than what comes with Android, Open NFC is a good candidate.
Hope this helps...