NFC: Finger clickin’ good

My desk, lately, has been covered with NFC tags.

I was having a bit of slow period a few weeks ago, and Bruno suggested that I familiarize myself with NFC. Last year, we helped build an NFC payments proof-of-concept (and that seems to be the NFC use case that everyone talks about the most), but I was interested in just exploring what the technology could do.

Early in the process, I decided that I needed some NFC tags to play with. There are a lot of places that’ll sell you tags. The NFC tag superstore is one of sites that keeps coming up as a sponsored link every time I Google “NFC tags”. They provide tags in just about every configuration you can imagine: business cards with embedded tags, conference badges, stickers, plasticized stickers, and even wristbands. You can get them printed with your company logo or whatnot.

Sadly, like most e-commerce sites these days, they want me to set up yet another userid/password. They’ll also probably ship from the U.S., which might incur customs costs.

In the end, I ordered a bunch of tags from Amazon.ca — not the cheapest place to source tags, but it was convenient for a bunch of reasons. I ordered two different types: these almost paper-thin stickers, and these stickers with a plastic “bubble” on them.

Aside from the physical differences between the tags, the most important difference is that the latter type are more standards-compliant than the former, but the former can hold more data. The non-standard tag is a “Mifare” tag, and can hold up almost 1K in data. That’s enough to write, for example, the contents of a business card or some custom data that’s about that size. The other tags (NTAG203) can only hold about 128 bytes of data — enough for a basic URL, but not much more, but it complies with the NFC Type 1 standards.

In more down-to-earth terms, a key difference is that my Galaxy Nexus can read data from the Mifare tags, but Bruno’s BlackBerry 10 cannot. (In fact, all of the Android devices we tried were able to read the Mifare tags. So: yay Android!).

As an aside: some sites that sell NFC tags have a Topaz 512 chip that looks like it offers 512 bytes of storage without the compatibility issues that the Mifare chip has. I haven’t tried the Topaz chips, myself, but I’m hopeful that they provide a good compromise between storage space and standards-compliance. And, of course, I’m only talking about the most commonly-found chips: I’m sure there are other NFC chips available out there, but they’re probably more expensive than the common ones.

But what can you do with them? Good question. Here are some examples.

Store URLs

We’re currently getting a booth ready for a one-day Android conference. One of the things we want to hawk while we’re there is the fun and exciting Hello Receipts app. Ideally, we’d like it if people downloaded and tried out the app immediately. We have good reason to believe that many of the attendees for the Android conference will have Android devices, so we’ve loaded up some tags with the Hello Receipts URL.

The ease of use is pretty interesting, here. If my phone is on, I can wave my phone over the tag — I generally need to be within a centimetre or two. The phone reads the tag and launches the browser with the URL. No typing required (although the phone might stop to ask me if I want to open the URL in Chrome or the standard Android browser). It’s fast, easy and avoids annoying typing errors.

People have been doing this with QR codes for a while. And I have a few thoughts about that. First, it’s a lot faster and more accurate to get the URL from the tag than to scan and decode a QR code. I don’t even have to have any special app launched: if I wave the phone over the tag, it recognizes the URL and launches the app that understands that kind of URL.

I should mention, now, that my general-purpose utility app for NFC reading and writing is called NFC TagWriter by NXP. It’s pretty good at being able to read and write multiple types of data to NFC tags. And it’s the tool I’ve used for most of my experiments.

Wifi Credentials

We have a special tent card in our big meeting room that tells visitors what the credentials to our quasi-public network is. If customers come in wanting to run a demo or WebEx, they can get the info off of the tent card.

But that’s still typing. Turns out there’s a standard URL format for Wifi credentials, although it’s not well-known, and not supported by the OS itself.

These days, I have an app on my Android device that knows how to interpret that wifi URL. If I have a wifi URL on an NFC tag, I can wave the phone over the tag, my app wakes up because it knows how to process that URL scheme, and it proceeds to try to connect to the specified wifi network.

Sadly, it’s not as useful as it could be, because most people won’t have the app pre-installed. But it this became more common, it’d become more convenient.

Business cards

You can buy business cards that have embedded NFC tags in them. It’s a much faster way of getting contact info into your phone. (Currently, my business card has a QR code on it, but even I have trouble getting a clean image off the card — especially in poor light).

But I can also just NFC-transmit my contact info from one device to another using an NFC-enabled app. I’ve got one called NFC Contacts I plug in my contact details (or pick them from my contact book) as part of a one-time set-up. Then whenever I need to share data with anyone, I can pull out my phone, launch the contacts app, and NFC-bump my phone with theirs.

More exciting: in Android Ice Cream and later, the standard contact book can do this auto-magically.

The other person doesn’t need any special apps — when their device sees info coming in business-card format (I’m guessing that the on-the-wire format is a vCard or an MECard), the phone offers to save the info into their standard contact/phone book app.

Photos

You might want to share other types of data, such as photos. I can transmit a picture directly from the Gallery in Android, similar to how one would share with Bluetooth.

Profiles

One of the things a lot of people like to use NFC tags for involves creating different profiles for their phones. At night, for example, your profile might indicate that the phone should be on silent mode, except for special emergency phone numbers (like family members). Encode information about that profile on an NFC tag and stick the tag on the nightstand beside your bed. Then, as you climb into bed each night, set your phone on the tag and the NFC chip automatically reads the tag and toggles your phone into the “nighttime” profile.

Other profiles can include the “I’m at work profile” or the “I’m going outdoors, so turn the wifi off profile.” Keep tags at your desk at work or by your front door when you go out, and the phone can quickly and easily be toggled into these new profiles.

This article on LifeHacker talks about this approach in more detail.

Advertising

Just like QR Codes started popping up on ads left, right and centre, I expect NFC chips to start showing up in ads. Just a few weeks ago, I was riding a TTC streetcar when I noticed NFC tags in an ad: the ad covered the lower six to eight inches of the windows — that semi-transparent plastic stuff that they stick to buses and streetcars these days. But I could see, through the plastic material, that NFC tags were attached every foot or so in the ad itself. The NFC tags were encoded with a URL taking the person’s phone to an ad-specific web page. I expect this to show up a lot over the next year or two.

Payments

The one area I haven’t talked about, of course, is payments. Usually, when people are talking about NFC payments, they need a special application loaded into a special part of the phone’s NFC chip — something called the “secure element.” The secure element requires special privileges to access and that added security allows stores and banks to treat the phone like a credit card.

But, strictly speaking, you don’t need the secure element to build an NFC payment system. Probably no bank is willing to buy in to a payment system that didn’t involve the secure element, but technically you could do it.

Think about it this way: I want to buy something from the store. The store’s NFC chip broadcasts a URL at my phone: the URL indicates some information about a payment that they send to the bank’s server at the same time. I wave my phone over the store’s NFC chip, and my phone’s banking app launches. I authenticate with the bank, and approve the payment. Simple, and requires the same level of security that web banking currently requires.

There are two reasons, though, why this isn’t likely to catch on. First, the system isn’t more secure than, say, Interac debit payments. Second, this system probably isn’t any faster, either. The store has to send a message to the bank and then the bank has to reconcile that with the user’s request. There’s lots of opportunity for “waiting for the data to arrive” that’d introduce delay.

The reason organizations salivate over NFC payments is that there are any number of retail situations where profits are directly influenced by how quickly cash registers can process people. Things like coffee shops in the morning. If you can process payments faster, you can get more people through the system and sell more double espressos.

So payments are likely to require access to the secure element. And that’s makes a lot of things harder for the average developer. Certainly, it’s next to impossible to just hack around with some experiments.

(There are certain payment-related niches that could use NFC without the secure element. For example, transit payment systems, like Octopus cards are experimenting with NFC. These niches tend to follow the “mobile change purse” model where you “fill up” the card with money that you use over time.)

That said, NFC is a technology that I feel has more potential than people are really realizing. Obviously, one of the big drawbacks to widespread use is that iPhones don’t have NCF chips. Even now, I can see retailers debating whether to invest in NFC readers or 2D barcode readers (to be used with, say, iPhone’s PassBook). Starbucks has, famously, gone the 2D-barcode route to great success. On the other hand, many many transit systems are using NFC-enabled cards.

If you want some more NFC ideas, here’s a good NFC talk from Google I/O. I particularly like the moment where they transfer a YouTube video from a phone to a tablet, and the tablet starts playing at the exact spot where the phone was just playing.

It's only fair to share...
Share on FacebookGoogle+Tweet about this on TwitterShare on LinkedIn