I may soon start using NFC Tags.

One of the realities of technology today, is the existence of ‘NFC’ Communications, which stands for “Near-Field Communications”. One of my friends has already asked me more or less, ‘We already have ‘WiFi’ and ‘Bluetooth’, so why do we need yet another type of short-range communication protocol?’ And my honest answer was, ‘To be able to do even more than we were able to do before!’

It is also a reality, that the tech-savvy world has known about NFC for some time. There was a misconception which I had, according to which NFC Tag Utility and Information apps on our phones were supposed top be able to read data stored on credit-cards and other types of chip-cards. But this is not really true. There exist different types of chip-cards, and credit cards are not compatible with most popular smartphone apps. There could be special apps designed to read them, but in general this is not how it works.

Instead, we can buy tags meant for apps, and meant for the consumer market. One app I have had installed for a long time, is named “NFC Tools Pro” and is sold on the Android Market by a group named “wakdev”. Apparently, users can store a small number of bytes of data on our actual tags, that include URLs to Videos, Web-pages, and other types of online content. But in addition, this app allows the user to store a sequence of actions on a tag, which a companion-app will execute on the phone, when the phone is tapped against the tag afterward. The companion app is named “NFC Tasks”, again from “wakdev”.

Because the companion app would practically need permission on our phone to do just about anything, ‘wakdev’ decided to split that into such a separate app. Without it, ‘NFC Tools Pro’ is merely able to program tags, to trigger for content to be played by receiving phones.

Obviously, in order for this to work, the programming on the tags needs to be somewhat compatible, between the phone that stored the data, and the phone which taps on the tags.

One obvious issue which I have wondered about, was what sort of security might exist. In theory, a tag could be programmed maliciously by an unknown third party, and the user could be tricked into tapping on it, at which point the question becomes, whether his phone would suddenly carry out actions and config changes, which were planted in our midst. The answer to how this problem was solved, is not obvious if users simply have ‘NFC Tools Pro’ installed. But once we install ‘NFC Tasks’, we can see that a simple solution has been provided by ‘wakdev’, on the user-level.

By itself, the ‘NFC Tasks’ app can be configured to enforce a White-List of recognized tags. I presume they have some sort of serial number… Or, it could work via Message Digest – aka Hashcode.

But simply having the software installed does nothing for us. We need to have actual tags in our possession, in order for any of this to do anything. Fortunately, the company which sells the app, also makes it easy for the user to order physical tags online, by tapping within the ‘NFC Tasks’ app. We just need to have a valid credit card to pay for them, and a good Web-browser installed on our phone.

And so to maximize the chances of compatibility, I have just ordered for a batch of 10 “Whiztags” tags plus a keychain to be shipped to me from Australia. I ordered the ‘NTAG 216′ 10-Pack, the tags of which are capable of storing 888 bytes each.

I already have an idea of what I might use these for, before I have even received a single tag.

One of the tasks which I carry out on my phone routinely, is to switch it from ‘Apartment Mode’ to ‘Street Mode’ and back again. The actual sequence is

  1. Enable my ‘Headphone Controller’ Profile.
  2. Insert my Headphones.
  3. Start the Google Play Music app.
  4. Turn off WiFi.
  5. Put the phone into Power-Saving Mode.

I also need to carry out all these steps in reverse, every time I come back home. This is tedium which can actually slow down how fast I get out the door, or how fast I want to settle in, after I get home. And so I’m thinking of a similar sequence, which could be programmed into a tag by the door, for when I am leaving, and which can be programmed into a tag in my computer room, for when I get back home. Doing so might speed up my moving around.

One aspect to this project though which I have not completely answered is, ‘Because the action of inserting my headphones still needs to be mechanical, exactly what will the sequence be, that the tags carry out?’ But I am confident, that I will be able to find a solution to this aspect. For example, my headphones controller app can sense whether the headphones have been inserted automatically, assuming that it has been launched. Also, this app is smart enough to recognize, if headphones were inserted before it was launched, that then they count as inserted, at the time the app is launched. This would be a key detail.

What this capability of the Headphone Controller app means, is that I can program it into the Profiles of the Headphone Controller app, where I already have it programmed to reset the volume level as well, to Launch the music for example, or to Stop the music…

Also, the Whiztags tags have an adhesive backing. This means that I could theoretically attach them directly to the inside of my apartment door if I wanted to. I would only need to ask myself, whether I would really want to be so committal. Having a tag glued to my door, that can be locked so that its functions can no longer be reprogrammed, and then perhaps to have to replace that tag, would also count as damaging my door. So instead my exact methods of attaching the tags will also need to be adapted to my needs.

But for now, I am simply waiting for the order which I just placed to be fulfilled, and for my tags to arrive.