NFC

NFC Stands for Nobody F*** Cares, does it?

I had plans on writing a post about NFC & (home) automation a long while ago but the post “NFC stands for Nobody F*** Cares” definitely gave me the spark I needed to sit down and start writing.

Let me first start with a little trip back at the core of the Web of Things‘ idea: the Internet of Things stands for the network layer, where all smart things out there should be connected using IP protocols to facilitate interoperability. Similarly, the Web of Things advocates using Web blueprints such as REST and it’s implementation in HTTP, at the very least as a protocol for controlling devices (a typical stateless task).

So, let’s assume all devices in my home were offering a REST interface (which, isn’t far off reality in my case), either directly, or through a smart gateway. Then, to reach home automation I could probably setup a very smart middleware that “thinks for its users” and accommodate their environment to the current context. One of these systems that ends up turning off the light when you need it the most, ensuring that the heating suddenly turns on when you reach the “NaN” temperature of 35 degrees Celsius (it is Switzerland after all!) and that the window blinds go down at Sunset (because of course developers do work 9-5 all year long). The same type of system that plays the Beatles’ “Something” when coming home right after your girlfriend dumped you ;-)

Or you could go “the human in the center” way, where everything can be configured by using a central interface issuing REST requests all over the place. An interface that upgrades you as the commander of the Enterprise while, all you wanted was to come home, grab an iced-tea and read the latest Internet buzz!

Well, I think there is a world in-between and NFC, which apparently, no-one cares about might be the most straightforward answer, no programming involved!
Let’s go back to my home where the radio system (a Squeezebox), the alarm clock (a Chumby or an app on my phone), some of the lamps (plugged to a Plogg smart meter) and the TV (plugged to a Raspberry PI running Raspberrymc) feature a RESTful Web interface. My phone, a Galaxy Nexus, offers an NFC reader. Then, all I needed to do to setup my own home “automation” system was to download an Android “tasker” app, purchase some tags and off we go. The NFC Task Launcher app, like a number of others, let’s you program reactions when a tag is read, mainly phone-related reactions: turn off the the ring-tone, disconnect from WiFi, call a URL, launch a specific app, Wait, call a URL? But didn’t we say most of my home appliances have a REST interface? REST, URL? Got it?

Here is a typical day in the life of Dom: Dom wakes up takes his phone and throws it in the bucket below, Dom’s phone then connects to the WiFi, syncs the daily calendar of a busy CTO, turns on the Squeezebox to Frequence3 (a rather pop oriented Web radio, perfect for morning push-ups!).

Why does it do that? Well because in the bucket there is a NFC tag and he programmed the tag to run all these tasks with the Task Launcher app. Dom then leaves home and briefly touches the tag on the front door which: disconnects from the WiFi network, stops the sync, turns the music off, turns the light off, etc. all by running internal phone apps or calling URLs. In the car the NFC tag on the docking station tells the phone to turn the GPS on and start Sygic, my favourite GPS app.

Dom then arrives at work, where there is a tag on his desk, close to where he drops his phone. The phone connects to the EVRYTHNG network, start syncing the meeting again, turns the ringtone to the max (I have noisy but lovely colleagues ;-)), etc.

And so on and so forth, the tag in the bucket is a switch so when I put it back when coming home again it does other things such as syncing my daily pictures with my REST-enabled NAS (Network Attached Storage), finally a tag next to my bed, turns everything off and prompts me for a time to which it should set the alarms clock.

I like this use case very much for three reasons:

  1. It makes a point of how the Web of Things concepts applied to home appliances can lead to a simple but yet truly spontaneous world of consumer electronics, where devices start being put together in ways that weren’t though of in the first place (probably also fostering a more sustainable consumption of CE, with longer life-cycles!)
  2. It put the users in the center, empowering them to reconfigure their world with simple tools but does not decide for them.
  3. It is a creative use of NFC, beyond mobile payment and mobile marketing.

So, is NFC really that useless? And that’s just one creative use of this technology. A technology, that, just as a reminder, was NFC has been identified by several studies (e.g., here!) as THE most acceptable/understandable/straightforward way for people to identify objects. Combine it with the WoT principles and you get a usable, affordable way of semi-automating your home.

Note to the RESTifarians out these: I see the purist coming with things like “well calling a URL (GET) doesn’t mean you can actuate the world, an actuation should rather take the form of a POST or better a PUT”. Well wise-purist: check Tasker, another Android app that integrates with NFC Task Launcher and allows you to use other HTTP methods with payloads and authentication.

Dominique Guinard

logos_WoT_06_cropped_
Hackathon Jan 14
  • Rick Bullotta

    However, NFC really isn’t necessary for most/any of these applications. A button/gesture in an app, GPS, device movement/orientation, and many other things could achieve the same purpose. I have to admit, I’m probably a bit more in the “Nobody F****** Cares” camp. There might be some useful applications, such as secure virtual wallets, but I’m not yet convinced about the broad utility. I’m with you on the REST API though. ;-)

    • http://dom.guinard.org/ Dom Guinard

      Well no indeed it isn’t necessary! However interestingly enough a number of studies (and not only ours ;-)) have shown that people find touching a really reassuring way of interacting with the physical world, it saves to users to power to decide whether or not they want to use this “smart” feature at any given time. GPS, device movements/orientation can’t be easily “prevented” so then the opt-out of these smart rules becomes much more complex…

  • Joey McFarland

    You could also use UHF RFID: http://www.impinj.com/blog/will-nfc-deliver/

  • Lara Mulady

    Great stuff. People tend to be far too focused on payments when it comes to NFC – such a narrow view! http://www.unwire.com/about/news/nfc-its-not-just-for-payments/

  • Jan-Philippe Schilt

    Great post! But, writing my bachelor thesis on where to apply NFC and how to to optimize it’s design, it poses a HUGE problem for me: In the cases you describe, is it more like a location based service/ location based intelligence or part of the “web of things” idea?

    You could argue LBS don’t need to work proactive, but can also be reactive, replying to the user’s actions (Markgraf 2013).

    On the other hand one might say this is a case of IoT reacting on location and situation based inputs (Atzori et al. 2011).

    I wanted to write chapters on both – but now I see that one excludes the other.

    • http://dom.guinard.org/ Dom Guinard

      Hi Jan-Philippe,

      Though theoretical problem ;-) Well, for me NFC can be considered as an IoT boot strapping tech as it allows making products (vs devices) have a digital identity and a “proxied” (usually via a phone) web connectivity. So in the use case where a tag is on a product and identifies it, we clearly have tags being part of the IoT or WoT idea.

      However, indeed in these “home automation” examples it is more of a smart location based intelligence.

      However, you can also consider the tags as part of a whole system in this example:

      NFC tags + phone + control software (e.g., Trigger in that case) => actuating the devices via REST.
      In which case they are triggers of Web of Things actuations.

      Bottom line: NFC, like any other AutoID tech works as an enabler of the Internet of Things either when it comes to giving products an identity or acting as a physical trigger pushing actions to the Web that then actuate the physical world…

      • Jan-Philippe Schilt

        Hmm, I think we need to change perspectives. The ANT (actor network theory) is key to understand this, as it describes technology on different categories (I didn’t find translations on some words):
        Aktorik: Ranges from directing by others to directing itsself and automatic.
        Sensorik: How a device sees itsself and the environment its part of. Same scale as in Aktorik.
        Activity: Passive (a tool like a hammer), active, reactive, interactive, transactive (semantic, cooperating systems seeing the “big picture” – looking at 2013, only humans)
        Interactiveness: from instrumental to instructive-communicative to interactive-communicative

        Following Markgraf, one could argue that a standard light switch also is a LBS. But that sounds stupid. All the switch does is mechanically close an electric circuit.
        On the next level, there’s NFC as an enabler which still doesn’t do more than switching s.th. on/off, like WiFi. Still stupid, enabler is just a nice euphemism you could also apply on a light switch. But it’s wireless.

        Some levels later, we talk about a smart home playing playing romantic music when you bring home a new girl at 2pm ;-)

        So one could use the ANT’s toolbox to describe the evolution of the light switch to an NFC-trigger to [big gap] to an IoT. Markgraf and Atzori describe the same, just on different levels.

        What do you think? The ANT is a big part of my thesis, I just needed food for thought to apply it in this case :)