With Apple’s event on Sept. 12th, 2017 Apple has finally announced the new iPhone 8 and the iPhone X along with releasing iOS 11 to the general public for download on Sept. 19th 2017. iOS 11 includes an NFC SDK for iOS, Core NFC which allows for iPhone apps to read NDEF records from NFC tags. Previously the NFC controller in the iPhone had only been used to support Apple Pay. We have written several popular blog posts on Apple and NFC over the last few years which make for good background reading for this article. The NFC industry has been patiently waiting for Apple to join everyone else in supporting NFC tags since Google added NFC functionality to Android in late 2010. Now that it’s possible to read NFC tags on an iPhone, we explore how NFC works on an iPhone, how NFC is different on iOS than on Android and what this means for consumers and the NFC industry.
How NFC Works on the iPhone
For those that are just getting started with NFC, here is a very brief NFC tutorial. All modern smartphones now have an NFC controller chip in them, similar to WiFi and GPS. NFC tags are cheap, passive RFID tags that are stuck on, or embedded into products, packaging, promotional items and many other physical things. NFC tags have a very small amount of memory, that when written to (encoded) carry a bit of data which can be read by an NFC enabled device, such as a phone or fixed NFC reader. When the phone comes in very close proximity to the NFC tag (25 mm / 1″), the phone detects the NFC tag and can interact with it. Most often the phone reads the data that was previously encoded onto the NFC tag, although there are several other modes of operation possible. Based on the software running on the device (app), the device often performs an action based on the type of data encoded onto the NFC tag. For example, if the website https://gototags.com is encoded onto an NFC tag, a common action that would be performed on a phone would be to open that url in a browser. Thus an NFC tag can be placed on a physical thing to provide a digital experience when the NFC tag is interacted with by a phone.
Apple’s implementation of NFC on iOS is different than Android, which is what most NFC users and developers are used to. Apple has taken a more conservative and app-siloed approach to NFC (for now). We have covered several of the reasons for this conservative approach in our previous blog posts. We expect that over time Apple will smooth out any rough spots in the user experience, which will change or alleviate many of the issues mentioned below. We also hope/expect for Apple to bring some additional innovation to NFC on iOS in subsequent releases.
Here are some important points about NFC on the iPhone:
Only the iPhone 7, iPhone 8 and iPhone X supports reading NFC tags; the iPhone 6 and earlier does not support reading NFC tags. While the iPhone 6 does have an NFC controller to support Apple Pay, Apple has decided to not allow the iPhone 6 to read NFC tags. There were several hardware changes to the NFC controller from the iPhone 6 to the iPhone 7, including what is likely a signal booster chip. It seems that Apple felt this was required to ensure a quality user experience; or it’s a reason to force people to upgrade. Previous versions of the iPhone (5…) do not have any NFC hardware and can not use NFC tags.
An app is required to use the NFC SDK on iOS. iOS does not have any native support for reading NFC tags and performing actions on the local device. A 3rd party app must be installed to implement these actions. Android has always handled basic NDEF record types natively, without an app installed. For example, if a NDEF website record is encoded onto an NFC tag, on Android it will automatically open the website in a browser when interacted with while on the home screen; in iOS a 3rd party app must be installed and opened first before an NFC tag can be read. An iPhone NFC App, such as the GoToTags iPhone App is required. Read More
Only tag reader mode is supported. NFC has several modes of operation; reader/writer, tag emulation and peer-to-peer. On iOS, only the reader/writer mode is supported, and even then only reading is supported. Read More
Only NDEF encoded NFC tags are able to be read by the iPhone. Unencoded NFC tags are not able to be read. This has implications for developers and hobbyists, although probably doesn’t matter much to consumers who usually just read NFC tags and don’t encode them. NFC tags purchased from Amazon are usually not encoded and will not work on the iPhone until encoded (read more). The GoToTags Store offers an NFC tag encoding service so that the NFC tags will work on the iPhone; either as NDEF or Platform encoding. The GoToTags NFC Encoder is used by thousands of businesses to encode NFC tags themselves. Read More
An iPhone NFC app only has access to the NDEF records; apps do not have access to the NFC chip’s UID or other special features in the NFC chip. This is a bit surprising. The UID is the basis for several security and authentication features using NFC. We expect this to be added in the future as there is no reason to not allow NFC apps to read the UID. Read More
An app must explicitly trigger the process of reading NFC tags. In Android apps can poll for NFC tags in the background and listen to NDEF messages the app was explicitly coded for. In iOS, reading NFC tags is an explicit, user-initiated action that must occur in the foreground.
iOS does not have the Android concept of an NDEF record type to trigger an app download (AAR record). This isn’t surprising given the other design choices made. When Apple does allow for more open reading of NFC tags, expect to see an equivalent to the AAR on iOS.
Reading NFC tags on the iPhone is FAST! Whatever they did to the hardware is impressive as it almost instantaneously reads an NFC tag with a website record; much faster than any Android implementation we have seen.
Check out this video for a quick demo of this:
Support for NFC tags on the iPhone is a huge boost to NFC and the Connected Things segment of IoT. 3 years ago, Gartner placed NFC at the bottom of the “trough of disillusionment” in its famous hype cycle chart. That was a fair analysis of NFC at the time. 2012 was the “peak of inflated expectations” for NFC. Every marketing company was pitching every CPG company on NFC. The pitch was simple; put NFC tags on products and packaging and link them to their online counterpart for information, engagement, authentication and analytics. This story has not changed today. However, the reasons that NFC did not take off for this use case was lack of support by the iPhone. Part of it was rooted in financial analysis of the % of potential customers that could/would interact with the NFC tags. In reality, it’s because the execs writing the checks all had iPhone and couldn’t experience the “magic trick” for themselves. Every conversation ended with “call me when this works on my iPhone”. NFC shrunk back from the public (and investors) minds going into 2013.
What happened next, which most people do not realize is that NFC found great success in several vertical use cases including gaming, physical security tracking, asset tracking (laundry, marijuana, …), event ticketing and many more. 10s of millions of NFC tags were deployed in consumer NFC projects without much attention from the tech press (Engadget, TechCrunch, Venture Beat). We know because we were behind many of the projects. What all of these projects share, and why they are successful is the device (phone) which reads the NFC tags is controlled by an entity, usually the software provider; consumer’s phones are not typically used. In many cases Android phones were provided in partnership deals and/or the NFC tags were read by fixed NFC reader stations. We call these “closed-loop” systems. NFC fundamentally changed several verticals and displaced other technologies like barcodes, UHF RFID and pen and paper. If you know where to look, you see NFC being used everywhere today.
Still, the promise of NFC as told by those marketing reps back in 2012 had not yet come to bear for the same reason; lack of support in the iPhone. That brings us to today; literally to today. With Apple now allowing for reading NFC tags, the true promise of NFC can start to come to bear. However, the couple of limitations of NFC in iOS will have an effect on what we will see in the next 1 year, or until Apple makes changes to them. Given that a 3rd party app is required to read NFC, what we expect is that most of the major iOS and Android apps will release updates of the existing apps to bring NFC functionality to them. There are thousands of apps, with 10s of millions of combined installs that can take advantage of NFC tags. These apps will use NFC tags to uniquely identify a physical object whose concept is already being represented in the app. For example: a car driving app could use an NFC tag in each car to uniquely identify to the app what car it was in. Take a few minutes and look through your phone and imagine how each app could use NFC tags, then do some rough math of the quantity of NFC tags needed. You will quickly see that the NFC tag market is about to explode. Luckily, the GoToTags Store is well equipped to work with businesses to provide them with custom printed, encoded and packaged NFC tags. We’ve been doing it for 6 years and are the largest NFC tag supplier. As each of these app developers adds NFC tag functionality to their app, they are expanding the awareness of NFC to the general consumers and educating them that through NFC, things in the physical world can now be interacted with by touching their phone to them. Sure enough, its even being covered by TechCrunch now.
There is still a bigger future for NFC, hopefully just around the corner. That future is when NFC is the ubiquitous and open technology it was meant to be. NFC tags on billions of things, linking to the online counterparts; truly building billions of bridges from physical to digital. All without custom apps or other limitations. For that, we need Apple to resolve some usability issues with NFC in iOS 11. In the meantime, we have our plates full with delivering NFC solutions to businesses.