If anyone's wondering, the API is significantly more limited than the Android NFC API (which having used it extensively over the last 2 years I can say is very pleasant).
Still, it's better than nothing and it represents a huge opportunity for NFC tag providers (where I work). We've been waiting for this for about 4 years.
I've been waiting for Apple to open up their NFC hardware too. I'm working on a closed loop payment app (https://www.loopz.io) that uses NFC and Apple's lockdown has been frustrating since the first question I get when showing the app is; does it work on iOS? This is the first step in them allowing access to the NFC chip hopefully. The chip in iPhone 6 and 7 supports writing to tags (which I need for my app) but it's not exposed through the API's at the moment. Android has allowed this since Gingerbread.
Neat, but I've yet to see a single NFC use case that gets me anywhere near as excited as this author. Amiibo is a cool concept but obviously limited. I've used some writable tags for android settings changes and such years ago, but it just doesn't seem useful to me. Anyone know a killer use case I'm missing here?
It reminds me of the ridiculous excitement over iBeacons when Apple announced their proprietary NFC-like tech a few years ago. Virtually every iOS dev I know bought some cheap iBeacons thinking "wow this is so cool" and never ended up building anything useful. I wasn't immune either, as the abandoned iBeacon in my desk drawer attests to.
There's undoubtedly great use cases for NFC on phones (payments, travel passes, hotel room keys etc), but it's also a technology that often seems to attract developers solely because it seems 'cool', not because they have a problem that can be solved better with NFC than without it.
A lot of the coolness requires a critical mass. The idea is usually being a standard, being Apple supported, or being included in Android provides that...in practice, that hasn't been true.
I look enviously at other countries that have been using feature phones for banking and p2p banking. The video of a guy in China assembling his own iPhone shows QR codes at each booth used for payment. There's no reason Smart Phones or NFC could do those things better, but we still don't have it and it won't be happening in the U.S. in near future.
Actually, interestingly, QR codes can be better for some payment scenarios than NFC.
I live in China and I can go to my local corner shop, pick up a bottle from the fridge, and even if there's a queue at the register I can scan the code from a distance, pay and leave with a nod from the shop keeper.
QR codes are also used for exchanging contact information... when I give a talk in China, I put my Wechat QR code at the end so any member of the audience can scan it from the slide for follow-up conversations.
> I put my Wechat QR code at the end so any member of the audience can scan it from the slide
I've always been surprised by this (and even more by QR codes in magazine ads and billboards). I'd think that these days, for 90% of applications a regular URL should work. Just as your photo app thee days marks (and often labels) the faces, it could simply highlight all the URLs, email addresses etc in the image and let you click on them.
Yes, QR codes are more robust (at the cost of a small payload for a large image) but I suspect in most cases it's unnecessary.
QR Codes do work rather well actually in different contexts, they are very robust. Upside down, from across the room, weird lighting...
Also, in the Chinese context, everybody knows what to do with it and what to expect to happen if they scan it.
The farmer coming into the city on a trike selling fruit even accepts payment by QR code :)
I completely agree, especially on roadside billboards. URLs have the excellent advantage of supporting 'human storage' - i can remember a URL and try it later. QR codes, not so much.
QR codes are cheaper, but NFC tags are more convenient. QR code are typically also all the same on a given label, where NFC can be programmed to have a unique id for each relatively simple.
QR codes support multiple devices at the same time, and have much larger range for reading (limited by the physical display size). Unique ID's can be built into the app reading the QR code for things like payment transactions. If I control the app reading the QR code (like WeChat), I can easily add state and add some "ping-back" behaviour to ID who/what/where the scan happened.
I think you misunderstood. I never talked about ping back or anything like it. For that, both are exactly the same. I was purely talking about how it scales when you need to identify each item individually, for instance library books. But it wasn't exactly clearly communicated, my bad.
For inventory management, it's preferable that each item has its own unique code. So either you need to print a different QR code for every item, or you put on an NFC chip.
It is true that QR codes are supported on more devices, but that is because cameras and screens are ubiquitous with smart phones. An NFC reader is cheaper.
Indeed, but they are already printing a label for every parcel, and they used barcodes long before NFC tags was a thing. They already have hardware and tooling in place for it, so unless NFC will save them a significant amount of money it makes no sense to switch.
Think of a stockroom. When you get new inventory, you put on an NFC tag on every item, and then you have to register each which is just one sweep. With QR/barcodes you either have to register and then print and put on the items, or you have to scan each individually after.
Both NFC and QR have strengths and weaknesses. I'm certain that we will see both utilized more and more.
There are very promising "ultrawideband" solutions (allowing distance to be determined from time of flight of a message rather than signal strength) but the use cases are limited as there is no existing infrastructure.
The best that can be done on phones is "sensor fusion" from all available sensors (including wifi and BLE, also integration of motion data) but it requires very extensive mapping of the location in advance. iOS suppports this since a few releases ago but only for locations that have been mapped by Apple so the use cases are rather limited, presumably the mall/airport feature just shown used it.
I worked at a consulting company about a decade ago that designed an indoor tracking system. It could track a device to within a meter, and that was no trivial undertaking. I always have a laugh when I see some startup making a child tracker/pet tracker using iBeacon. You need a large array of radios to track the beacons, you have to model the physics of the building's construction (absorption, Rayleigh scattering, etc), account for multiple floors, and come up with a working algorithm that combines all the RSSI readings to produce a precise location.
I built an app for the world-leading led-manufacturer. They have underwater-lightbulbs and tag them with NFC for servicing and tracking. They seal the tag in with the led inside the casing.
I bought a pair of Bose QC35 headphones recently. There is an NFC tag embedded in the headphones. I just had to tap my phone to the headphones and hit an "accept" button on my phone, and they were paired.
Similarly a friend has a box plugged into their stereo that's essentially just an A2DP receiver with RCA outputs, and has NFC on it for pairing. I wanted to play some music on his stereo at a party, and all I had to do was tap my phone to the receiver and start up Spotify.
Apple sort of does something like this using BTLE on the 4th gen Apple TV as part of setup. It's kind of nice.
But the idea of having it in headphone and routers and printers and other things? I can get behind that. Easy pairing is a use case that makes a ton of sense.
Do you just tap, or do you have to launch an app first? I only ask because the bluetooth pairing process is already pretty painless (I have QC35 and an iPhone).
I have an iPhone 6S, QC35 and a MBP 13 mid-2012. The Mac won't stay paired after booting and sleeping once. Only fixed by rebooting (kext reloading, process killing, bluetooth debug menu don't work). Also, it's annoying that it won't charge and stay powered-on simultaneously. Finally, there's ground loop noise originating from the iPhone if charging the iPhone & QC35 from the same source with using the audio cable together.
ProTip: Apparently, the QC25 remote cable with buttons works on the QC35 too.
You just tap if you have an Android phone with NFC. I purposely got a Bluetooth speaker with NFC to make pairing easy. Whether my girlfriend or I use it or most of our friends of we go to the park or bring it to a BBQ, it's much easier than the usual manual process required on iPhone.
The Yubikey NEO is the only NFC device that ever got me excited. It'd be nice to be able to store all my TOTP tokens on the device instead of the phone. Also, signing/encrypting text with PGP from the yubikey.
Absolutely this. SMS 2FA has security flaws that are becoming ever more evident - U2F via NFC is a great way to authenticate on Android, and I'm looking forward to having it on iOS as well.
Edit: Welp. Looking at the U2F NFC spec it looks like some exchange with the key needs to occur, so without transmit access we're boned.
> U2F via NFC is a great way to authenticate on Android
Unfortunately as far as I know only Yubikey NEO and Fidesmo card support it with Fidesmo being practically not usable. From https://www.fidesmo.com/nfc-u2f-android/ :
> Google’s own account security website, that on desktop allows you to register U2F devices, says that the feature is not compatible with the Chrome browser on Android. The account security site on GitHub seems to support the feature is a bit better. When pressing the button to add a token to the account it properly launches Google Authenticator to register the U2F device. When tapping the card and returning to the GitHub site however it doesn’t seem to have registered that anything has happened.
That's okay. RSA-4096 is suitable for long term secrets, but we're talking about authentication: typically signing short challenges, or DH key shares, for immediate verification. The requirements for that application are much lighter.
You can use something called Openkeychain on Android. It uses NFC Yubikeys for both PGP and SSH.
Regarding your 4096 bit requirements, normally when you have those security requirements you would keep that key offline and use shorter lived 2048 bit keys for actual authentication.
There is 4096 bit support with Yubikey 4 which unfortunately isn't offered with NFC.
> You can use something called Openkeychain on Android. It uses NFC Yubikeys for both PGP and SSH.
Okay, but open-keychain does not provide GUI to just sign or authenticate a user (you can sign as part of encryption process) so I was wondering if the parent was mentioning some application that interfaces with open Keychain (like k9mail or conversations.im) that gives just that: user authentication.
I suspect that the general lack of exciting things involving NFC might have a little bit to do with the fact that ~half the mobile audience couldn't do anything with them. That appears to have changed, so this consequence probably will too.
I always figured that was a big part of why QR codes didn't take off in the US (irony: Apple just added support in iOS 11).
Even so, I'm kind of surprised that NFC hasn't come up with more interesting use cases than easy pairing and as a mode/location switch to mark you're at home/work.
if you could go beyond reading NFC tags (and also allow apps to use the NFC chip fully), then you remove the need for things like physical loyalty cards (like the Starbucks card).
That's a really basic use case, but popular enough in Japan, where even old flip phones had NFC
I think the thing is that uses of NFC tags aren't and shouldn't really be expected to be individually mind blowing. It's just something that can, in aggregate, make your life more pleasant by small increments that add up.
Being able to read my balance on my clipper card with my android phone is something I miss since switching to ios. A promising thing I once used was wifi network ssid/password settings stored on an nfc tag on a wall (think restaurant).
But, really, if there's a killer app it's probably payment and it's rolling out. Pretending that it's somehow distinct from other NFC use cases is pretty silly. It's just one of the most obvious ways it can be useful.
This already exists in Chicago at least - just using Android Pay though. I know they also have been working on an app as well, but I haven't paid attention to it once they got initial NFC payments working. I do know transfers do not work with android pay (I imagine due to rotating card numbers), but luckily I don't have to deal with that and Yet Another Silly App.
I will say it's quite great. The time is very near where you can leave your home with only your cell phone as the single item you need to remember. Also scary in that if you lose that single item, you are getting increasingly more screwed. That is now my transit pass, money, taxi ride, and front door key.
Reading NFC transit passes doesn't sound too exciting. I mean, if a phone has an NFC chip, why not use the phone (plus an app) instead of a transit pass, tapping with your phone where you're expected to tap with your pass? This is like your phone wouldn't come with a music player, but would come with a full-fledged oscillograph instead.
That said Chicago seems to have the most convenient system along the lines of what you're talking about -- you can use plain old tap and pay at the terminal with Apple Pay or Android Pay.
Reading balance is not too exciting, as I said. There doesn't seem to be any Android apps to let your phone function as a transit pass.
I understand why it would be cool to let your phone replace your transit pass (as it's cool to let your phone replace your credit card), but I don't understand why it's cool to let your phone replace a transit pass reader.
Replace transit passes and employee/residence/parking garage badges.
Interesting story: I was in London and had an Oyster card but forgot I had the Clipper card for the SF Bay Area too. On seemingly reading the Clipper card, the Tube gate turned orange and basically shutdown.
Thanks for the reply. That does sound interesting and would certainly save a lot of disposable cards/tickets. Here's hoping more interesting uses come about with this increase in user base!
Most modern cameras have, for the last couple years, used NFC to quickly and easily transmit photos from the camera to the phone. From what I understand, on Android this works pretty effectively.
On iOS, however, weak NFC implementation means that one must use a kind of janky WiFi transfer system. It works, but it's kind of difficult to use and not very elegant.
Are you sure it's transmitting over NFC? I thought NFC is quite a limited bandwidth connection. Maybe it's creating the initial connection over NFC and doing the actual transfer over wifi?
Android has a protocol called Android Beam where NFC is used to negotiate transfer which is then moved to either Bluetooth or WiFi Direct. That's probably what cameras are using.
Between phones you tap them together while a picture / video is open (which is admittedly less elegant than AirDrop... although significantly more reliable in my experience).
Good point; you're probably right and I'm probably wrong, since I'm recalling seeing videos that demonstrate how NFC works w/ cameras on Android versus iOS. I do have an iPhone, so to get pictures from a camera I have to (usually) manually select the camera network, then go to the app, then start downloading.
The clunky software camera companies ship doesn't help, of course. If I were in charge of a camera company I'd publish an API and SDK and welcome the world's many hackers to make the camera better, but alas I'm not and no one asks my opinion.
In Australia most over the counter payments are done with NFC cards. Some banks allow this to be done with a wave of your phone so you don't need to carry credit cards at all.
I just switched to this a week ago and loving it. I can go for walks and carry nothing but my phone, and still grab a coffee etc. My last week of spending has been done entirely via NFC payments.
Don't forget, it's not just about consumer applications. Anywhere you might use a QR code or traditional barcode, but you don't want to have to worry about the barcode becoming obscured or worn with use. I know we've thought about using them to track vehicles and some kinds of parts in the automotive retail company I work for, and there's probably plenty of other industrial applications for them.
I have an NFC tag on my keychain. When I'm out and want to remember my location--where exactly we parked, where I saw a neat building--I use Tasker to write my GPS location to my keychain.
I could just as easily save a note with my location, I guess, but I like that the NFC tag stores the data without power, without putting it on someone else's computer, and without making it casually discoverable.
I have yet to meet someone else that does this, but I use nfc tags to shut off my alarm in the mornings. It forces me to get out of bed to shut off my alarm.
I wonder if there is any technical reason for requiring iPhone 7. I thought iPhone 6 and iPhone 6s also had some kind of NFC hardware present to support Apple Pay.
IIRC, because the payment terminals have their own power source, previous iPhone generations lacked the induction coils necessary to support passive NFC tags. Presumably they were added to the iPhone 7?
It could also be some kind of security thing where the 7 was designed to be able to have 3rd party access where the 6/6s would have required the secure enclave to do something risky.
Right but I mean that perhaps in the iPhone 7 they somehow rejiggered the SE interface in anticipation of doing this. That way the 7 hardware has a very secure way to do this where as since it wasn't planned in the older phones it might not be secure if they tried to provide access from user software. Maybe the NFC reader is attached to a different chip in the 7 that makes this easier/secure than in the older phones.
This is potentially huge news - given that Apple just fought (and won) an antitrust/anti competition lawsuit in Australia in respect of not allowing Australian banks to use this NFC API!
Edit: pulled the trigger on this comment too soon - it appears that the API will only support "reader mode" which is not what the main subject of the litigation was about - the banks wanted a 'total' (for want of a better word) public access API.
A computer receives user preferences. The computer receives a document, wherein the document includes an image. The computer determines that the image contains embedded text. The computer determines that the embedded text does not satisfy the received user preferences. The computer modifies the embedded text to satisfy user preferences.
Is this stuff actually enforceable? As in, could I, with adequate legal sources, actually get companies and individuals to pay me money for something as generic as "Text resizing within an embedded image", without actually implementing it (whether it be stand-alone code or within some sort of application)? Is Apple shelling out cash to IBM for the privilege of autoresizing labels?
I can't tell from the docs.. Does it actually allow your app to wake up in response to scanning tags? Or does it merely allow your active app to fire up the NFC reader?
This opens up quite a few interesting ideas in the real world gaming arena. I know it's been possible with Android, but cross platform real world treasure hunt games are something I've thought a lot about, and this could make it easier than having to do GPS bounding or use BLE.
I'd almost completely forgotten Apple tried to push their iBeacon standard, arguably in competition to NFC in many ways. If I'm honest, my expectations for NFC lighting the world on fire with iOS support have been severely tempered by the huge number of articles/businesses/startups that proclaimed iBeacons where the next big thing. I've still never encountered them in the wild outside of Apple stores or friends who bought iBeacon hardware for hacking personal projects.
I suspect spilk is referring to concerns Apple will probably have had internally about rival payment platforms using the iPhone NFC hardware to process payments instead of Apple Pay. I'd be extremely surprised if debates about this didn't come up when they were deciding how to build the public API for the feature, and is probably a huge factor in the API being read only and not supporting card emulation, for now.
It did come up yesterday: https://news.ycombinator.com/item?id=14491686. One downside of the annual announcement-day extravaganzas the big tech cos all do is that there is only enough space on HN's front page for the 3 or 4 biggest announcements, at most. Even then a lot of users get irritated by how much Apple/Microsoft/Google/whatever is appearing on conference day.
That's not the NFC party most people are attending. For me the most common use of NFC is to automatically pair/turn on my headphones and my portable speaker.
Still, it's better than nothing and it represents a huge opportunity for NFC tag providers (where I work). We've been waiting for this for about 4 years.