Cross Platform NFC

NFC support in Windows Phone provides an exciting new way to add interactivity to apps and games. This series of posts will look at the state of NFC across the Windows and Android platforms. There are a number of standard Tag types defined by the NDEF format, for the sake of simplicity we’ll ignore the fact that Android can read other tag types and just concentrate on NDEF as it provides the best interoperability. Representing Windows Phone 8 I’m using the Nokia Lumia 920 although the 820 Developer phone provides the same experience. Representing Windows 8/RT is the Asus VivoTab RT which is one of few tablets with NFC support built in. Representing Android is the Samsung Galaxy S3. Since I’m less familiar with Android there is a possibility that some of the functionality I have discovered is Samsung specific and not part of the core Android OS.

Sending

The first table here shows the formats for which sending is supported within the platform. I haven’t included app links as these are platform specific. I was disappointed to find that out of the box the Windows tablet has no capability to share items over NFC from the built in apps. The send behaviour on Android is very seamless – tap the device against another and if the current app can share the screen changes slightly and you tap to share the current item. On Windows Phone you have to go through a few layers of menu first before being prompted to tap a device.

 

 

Windows Phone

Windows 8/RT

Android 4.1

Uri

Yes

Yes

Yes

Mime (vCard)

Yes

Requires 3rd Party App

Yes

Text

No

No

No

 

Receiving

The platforms can receive over NFC so long as the device is not pin locked. The following list shows what types of data (or pre-written tags) you can read on these devices without any specific third-party apps running.

 

Windows Phone

Windows 8/RT

Android 4.1

Uri

Yes

Yes

Yes

Mime (vCard)

Yes

Yes

Yes

Text

No

No

Yes

 

So from a very high level the three platforms support the basic tag types for Uris and Contacts across the board. Although Android has default behaviour when receiving a Text tag it just displays the text on screen – there is no functionality to do anything with the text. In a future investigation I’ll look into the tag types in more detail. The Uri tag for example is very powerful because you can register custom Uri schemes for your app so that a Uri tag could provide a deep link into your application. The systems maintain support for well-defined Uri schemas like http, tel and sms for example. There are additional platform specific ones on Windows Phone for launching items such as Wifi and Bluetooth Settings pages.