A guest blog post by Andreas Jakl, Tieto
Especially in enterprise and industry scenarios, both NFC and Windows are equally important. While Windows 8 already started exploring NFC features, Microsoft went a lot further with Windows 10. The new operating system version finally enables easy development of sophisticated NFC apps with standard platform APIs, to create apps that scale from mobile and embedded devices to desktop PCs and terminals.
Here is a brief overview of the three most important new NFC features in Windows 10:
Smart Card Access
Windows (Phone) 8 only allows NFC interactions on the open content layer (NDEF standard). Even though the powerful open source NFC / NDEF Library adds a lot of important content handlers, many commercial scenarios like transportation tickets require lower-level communications with the NFC card.
Windows 10 includes an API for smart card access that also allows requesting the NFC communication channel. Once the device detects a smart card, it’s only a simple API call to query the basic smart card characteristics. In most cases, the app will then proceed to communicate with the NFC smart card by sending commands and reading the smart card’s responses (through APDUs). In particular, for sending custom commands and for getting really down to the raw communication interface, Windows 10 even supports the Transparent Exchange mode.
Host Card Emulation
Earlier versions of Windows Phone already allowed using the secure element of a SIM card. However, “simulating” smart cards with apps has proven to be an approach that is a lot more flexible. Windows 10 Mobile now added Host Card Emulation (HCE) support to enable these new scenarios.
Essentially, the user taps an NFC terminal with the phone – e.g., in a retail store to initiate the payment. The external terminal then attempts to communicate with the corresponding app on the user’s phone. If the app is not already running, a background thread of the app handles the communication and (if needed) launches the visible app user interface. More details on the architecture of Host Card Emulation in Windows 10 along with some code samples are available on the Microsoft NFC Team Blog.
Maybe the simplest of the three new features, but still tremendously helpful for app development and testing, is the new NFC simulator that’s built into the Windows 10 emulator. It allows testing the standard proximity APIs for NFC / NDEF tag access, Smart Card Reading as well as Host Card Emulation – all without the need for real test devices or tags. More details are available in the Microsoft Documentation.
Windows 10 now provides a solid base for all NFC scenarios. It offers more opportunities for app developers, especially in enterprise and industry segments. Services can now integrate with popular NFC infrastructures like smart cards, payment services or ticketing and transportation scenarios.
To get a more detailed walkthrough of new Windows 10 NFC features, watch the recorded session on YouTube: Which new scenarios are enabled by Windows 10 for NFC, Bluetooth LE and Beacons. For developers, a lot of the new NFC features are demonstrated in Microsoft’s Windows 10 NFC sample, which can be downloaded from GitHub. Also available on GitHub: the open source NDEF Library with recently added Windows 10 support.
About our guest blogger:
Andreas Jakl (@andijakl) is working as a Mobility Expert at Tieto, to bring the partner’s vision for mobile apps to life. In addition, he is organizing the Mobile Developer After-Work event series together with the mobility.builders community, where expert developers share their knowledge. As Microsoft MVP (Most Valuable Professional) for Windows Development, he has created open source NFC and Bluetooth Beacon libraries for Windows app developers.