
Judging by the number of emails we have received, there is great interest in software and hardware development of NFC applications. The main stumbling block at the moment seems to be working out what development platform to use, and knowing where to get hold of development kits for the various handsets and servers needed to run an NFC application.
Bearing in mind that we haven’t used any of these things extensively yet, we are putting everything we know about getting hold of development resources here. Perhaps we can collectively use this post as a way of pooling information on the topic. Thanks to Peter Ljungstrand for initial conversations and valuable information on these things.
NFC phones
At the moment, the phones we can use for NFC development are the 5140 Field Force Solution and the 3220 NFC Shell. Both of these are rather quirky, the the 5140 is slow, and the NFC shell is somewhat unreliable. Nokia has admitted that these are trial releases for developers, and will never be widely released to the public.

Both of these kits are available from Top Tunniste, and we’ve seen them pop up at other online stores too, so search around.
Various rumours have been circulating about upcoming Nokia handsets: perhaps a flip phone with a fully integrated NFC chip, not just an interchangeable cover. We’ll have to wait and see but lets hope they have a robust and consistent approach to the next release, coupled with simultaneous rollouts of useful public services.
Samsung has apparently developed an NFC enabled SGH-X700. There is some discussion about it over at the Sun developer network.
In Asia, particularly Japan, many handsets are using the Felica standard that is supposedly compatible with NFC. It would be very interesting to hear any Asian experience with these phones or the Felica SDK.
NFC tags
The Nokia 3220 only comes with four tags, so any developer will need to get hold of more. Getting hold of tags is easy. Toptunniste for instance sells a few kinds of tags for about a euro each. But there are many other options: NFC is based upon high frequency ISO 14443 Mifare standard, so re-writeable Mifare Standard 1K/4K or Mifare Ultralight tags from any supplier should work. And these are available in many form factors, from cards, key fobs, stickers, to laundry tags and ‘mount on metal’ tags. Some other suppliers are Mannings, Promobox, Cardxx, SAG and Korea RFID.
NFC standards and protocols
The NFC forum is slowly releasing the specifications for NFC devices, and this is the first place to look if you want to find out if the NFC standard is right for your application. There is enough detail there to work on high-level descriptions of NFC applications and services.
‘Official’ development kits
At the moment, because the Near Field Communication specifications haven’t been normalised, writing an application for NFC requires writing for one brand of phone, using proprietary development kits.

The Nokia Field Force Solution Architecture, available here.
The Nokia development kit for NFC is currently available from a number of suppliers. Top Tunniste in Finland sells a 5 user license for €2000, they also sell phones and compatible tags if you can’t find them locally. I’ve heard that the kit is available for around €800 in Germany and £500 in the UK so it may be worth phoning around to ask local suppliers.
In the license agreement for the Nokia SDK you agree to use their proprietary server for networked interactions. For this you need to buy, or subscribe to the Nokia Local Interactions Server (LI Server). The LI server is described as such:
Nokia Local Interactions Server (LI Server) is a cost-efficient, real-time Web service that simplifies data capture, reporting, management, and communication with mobile workforce. Quickly integrated into your company’s back-end systems, your field force personnel can use it to provide up-to-date information to the back-end office and receive instant feedback in their mobile phones. It is also an easy, but secure method to distribute and update company-specific phone Local Interactions (LI) Client software to end-users’ mobile phones.
This is €400 from Top Tunniste. Getting around the LI server is supposed to be a little clumsy, but it’s possible (if not legal) to use your own server applications. At the simplest end of the spectrum, my students have used URI stored on tags as simple pointers to web applications that are invoked when a page is loaded, for instance.
If you want to discover how other people are getting on with this stuff, then try searching at Forum Nokia for RFID or NFC, which reveals threads like this one.
Other development kits
There are other hardware and software NFC development kits available from places like Sirit, Inside contactless, Skyetek, Innovision and Wireless Dynamics. Given that the NFC forum specifications are still nascent, we don’t yet trust the interoperability between different manufacturer’s devices. So we haven’t used any of these so far, and would be very interested in your experiences.
Contactless communication API
JSR 257 the “Contactless Communication API” has been proposed by Nokia and is currently being defined by the Java Mobile community. It is supported by the Nokia 5140i FFS (Source) but we’re not sure about the Samsung phones. When rolled out and standardised, it should be a good common development space for all kinds of applications that require physical links or applications. One of the great possibilities is that we can prototype and launch using 2D barcode tags, and easily transition to NFC interactions as the handsets become widely available. We can also design more specialist applications that use Bluetooth or even IR in the same environment.
Simon Woodside, the developer of Semacode, writes about it here:
JSR 257: Contactless Communication API is defining both RF and visual tag interface for Java ME. This will be THE way to interact with visual tags and RFIDs, smart cards, etc. And since our SDK implements the public draft interface, you can future proof yourself.
There is an overview of this and JSR 256, the “Mobile Sensor API” here, and an in-depth look at the standard here. It’s currently in the “Proposed Final Draft” stage so it looks like it’s pretty solidified.
More information
We are really interested in hearing about your experiences with development, it would be great to use this post as a place to collect information.