When Near Field Communication (or NFC) was announced as one of the hardware features for the next generation of mobile phones, I was first really excited because I like new toys and gadgets. But as more time passed between the announcements and the expiration of my wireless contract, I had a hard time getting excited about what I would wind up using NFC for.
The prospect of cardless payments, like with Google Wallet is somewhat interesting. Because I very routinely root, flash and modify my Android devices, I am more than a little hesitant to link my credit cards to my phone. Plus, I am always misplacing (but rarely losing) my phone, and it is already stressful enough when the phone goes AWOL. I would hate to compound that stress with having to worry about credit cards linked to the phone.
My common sense was tingling and it seemed to be telling me the same thing that Apple has said by leaving NFC off of the iPhone 5. NFC is nifty, but not really a significant feature for mobile devices. Samsung has been bombarding us in recent weeks about what an important feature NFC is:
Some of the social aspects of NFC advertised seem interesting but if I need to share a picture, playlist or other file with someone, it seems like there a bunch of easier ways to share it than opening an app and touching the phones together.
As I usually do with new purchases I’m excited about, I ignored my tingling common sense and I bought both a Nexus 7 and a Samsung Galaxy S3 pretty much on Day 0 of both devices, mostly because I wanted a new tablet and a new phone but partially because I was excited to tinker with NFC. And for those months, I have been trying to think of how I can make use of NFC.
I eventually decided that I thought NFC would allow me to be able to automate things when I put my phone into my car mount. If you are a frequent visitor, you’ll remember that I recently blogged about manually installing the Google Car Home app.
I went to Tagstand and I bought an assortment of NFC tags just to play with them. Specifically I was after a durable NFC tag that’d match the color of my phone holder without being too obvious. I wound up settling on the Laundry Token Type 2 NFC Tag because it seemed like it would be the correct size and color. In my shopping for NFC tags they all seemed to hover right around $1.00-$1.50 per, depending on how durable it was and how much memory the tag had available. The Laundry Token tag was a bit more expensive, at $2.05 each.
After that, I collected a few Android apps that I thought would wind up being useful:
- Tasker: Hands down one of my favorite apps in the entire market. I cannot really summarize the endless numbers of things that Tasker can do to
- Trigger formerly known as ‘NFC Task Launcher’: There are a great number of things that this app can do, but the most important feature that I found was that it could be used to launch Tasker actions, which is at the root of what I wanted to use. This app would be used to write to the tag and would determine what gets triggered when the device scans the tag.
- Locale GTalk Plugin: This little app can set your GTalk status and update the custom message.
This is what I wanted to happen when I placed my phone in the car mount:
- Unlock the screen
- Disable the screen timeout
- Open the Google Car Home app
- Set my GTalk status as busy and a my custom message to say “Driving.”
This is where I began to start running into a few different troubles.
What I Wanted does not seem to be Attainable
The most frustrating thing that I wound up running into is that I could not get the phone to unlock itself when docked. This was something that I was really hoping I could find a method for (kudos to anyone who shares a method). The closest I got was disabling the keyguard that disables the lock screen but that does not take effect until after you unlock the phone. From a security standpoint, it makes perfect sense that you would want to prevent someone from circumventing the lockscreen by toggling this option but it was disappointing nonetheless.
Devices Detect when an NFC Tag is near but do not report when the NFC tag goes out of range
Tasker’s best feature is its Profiles. You create a profile based on an event, like, a location, a time of day, the proximity sensor, etc. (the possibilities are almost endless). When that event is met, Tasker performs certain actions, and when that event is no longer met, Tasker performs the exit actions. For example, I have a profile for when I’m near work. It sets my ringtone and notifications to things that are work-appropriate, turns the volume way down and sets my Google Talk status to “@Work”. When I get far enough away from work, it sets my ringtone back to the Knight Rider theme, my notifications to something annoying, notches the volume back up a few ticks and clears my Google Talk status.
My original hope was that I could use the proximity of a particularly coded NFC tag to be the driver for my Tasker profile. Unfortunately, this is not the case. I could use the proximity of the NFC tag to trigger a Tasker task, but I could not easily build a profile around it.
In theory, you could use the NFC tag to set a Tasker variable for the Car Dock is true. Assuming that you’ve also plugged the phone into power, you could create a profile whose criteria was that the phone was powered and that the Tasker variable was true. One of the exit steps of that profile would be to set the Car Dock value to false. In that scenario, as long as you plugged the phone in and were close enough to the NFC tag at the same time, you would enter your Car Dock profile. This would work in theory but there were enough likely scenarios that made me think this might not be useful. For example, depending on how your phone is being powered by your car, it is very likely that you would briefly lose power when you cranked the ignition. If the phone lost power, the exit steps would trigger, which would include clearing the Car Dock variable. Once that happened, you’d have to reseat your phone in the dock to get it to re-scan the NFC tag and set the Car Dock variable back to true. Which lead me to my second concern.
The Range on NFC seems to be Less than Half an Inch
When I initially researched NFC, I was finding that the range is anywhere between “4cm or less” and .2m (.5 inches to 8 inches.) One of the first things I set out to do was to determine the range of my NFC tags. On both devices (Nexus 7 and Samsung Galaxy S3), the range is easily under half an inch. This was unfortunate because what I had really wanted to do was to conceal the NFC tag within the interior of my car somewhere rather than stick it directly to the mount. Furthermore, my car mount has a bit of a gap between the back of the phone and where the NFC tag could be affixed. And even more troubling, the NFC antenna appears to be at the top half of the phone, which is right around where the car mount ends. In order to make sure that the NFC tag gets read each time I dock the phone into the mount, I was going to have to find a way to mount it at the very top of the dock and possibly even have to use something like spacers to make sure that the tag was as close to the back of the phone as I could make it.
The Device has to be On and Unlocked to Read an NFC Tag
This was one of the more startling and disappointing discoveries on my phone. In order for an NFC tag to be read, the phone had to be on and unlocked. From a security standpoint, it makes some sense that you would not want an unlocked phone to be able to read NFC tags. But when you consider what I wanted to happen when I docked my phone, this is a significant obstacle. It looks like over on XDA that people have already modded the Galaxy S3 to allow NFC to function when the screen is off or locked, but I am not sure if that is compatible with my device and I was hoping to find a method which did not require a user to flash any kinds of modifications..
Because of these three problems, I decided to scrap my efforts at using NFC to build the ultimate Android Car Dock. Not necessarily because it cannot be done, I think it could be done but it would not necessarily meet all of my criteria. I was hoping that it would be a really simple task, simple enough that it would encourage the car dock manufacturers to start building NFC tags into their hardware.
As for me, I am headed back to the drawing board. I’ve already got other ideas that will help me build the Ultimate Car Dock I just probably won’t be using any of these NFC tags to do so. In the meantime, I have got my brain in gear, trying to dig up other interesting uses for NFC. The best couple that I’ve come up with so far is for sharing WiFi Access Point details with your guests and fancier ID tags for your pets, luggage, etc.
After spending some time tinkering around with NFC, I think that it is mostly a gimmick. The marketing departments at Apple’s competitors are going to try and make the most they can of this gimmick, but right now, NFC is not much more than an improved QR code. This is a new technology, and I am attempting to be an early adopter. If NFC tags can be created that are accessible from a greater range, and if the hardware & software used to read the tags can be improved upon, then I think there are a tremendous number of different uses that would be beneficial. I will continue to seek these uses of NFC and share my results.