Posts tagged ‘NFC’

March 25, 2012

Fun with NFC Part Three – Make-your-own Sony Xperia SmartTags

(Before continuing, I should state that I am indebted to a reader, “James”, who provided the Sony SmartTag URIs in a comment to my previous post.)

My explorations into the world of NFC on my Android mobile phone continue. After initial disappointment at the pre-installed Sony Xperia SmartTags application (which is apparently unusable without Sony Xperia-branded SmartTags, which aren’t currently available in the UK), I then had moderate success with two alternative applications from the Google Play shop: NFC Task Launcher and NFC Quick Actions Free, which can both be programmed to perform a range of actions on your phone in response to scanning a custom NFC tag. Neither application was perfect for my purposes, but perhaps the most impressive feature about them was that, within a day of writing about them, I had direct communication with the developers of both applications. What’s more, both applications are clearly under active development and show lots of potential for the future, and I wish them both luck.

However, then came an interesting twist in the story, as “James” provided a key bit of information – the URL that is encoded on each of Sony’s Xperia SmartTags. With this knowledge, you can create your own SmartTags using any regular, generic NFC tag, saving yourself the ridiculously overinflated £15 price asked by Sony, and make use of the built-in SmartTags application in the process. Here’s how:

1.) Get some NFC tags

Head over to somewhere like http://rapidnfc.com/ and pick up four generic NFC tags. You can get wristbands/key fobs/stickers – whatever you want really. I’ve tried “ultralight”, “NTAG203”, and “1k” tags and they all seem to work fine with my Xperia S. Note that the SmartTags application only recognises four different tags, so there’s no point getting more than that (not for this exercise, anyway).

2.) Program the Tags

To simulate the different-coloured SmartTags, you need to write the appropriate corresponding URI to an NFC tag. The only slight problem is that, instead of a website like http://www.example.com, the SmartTag URIs use a custom URI prefix of semc://.

Not all NFC writers are capable of writing URIs using custom prefixes. Unfortunately, neither NXP TagWriter nor NFC Quick Actions – the two applications I already had installed on my handset are currently capable of doing so:

screenshot_2012-03-25_1150

NXP TagWriter forces you to create a URL that begins with the http://www. prefix

screenshot_2012-03-25_1152

NFC Quick Actions will generate an error if you try to write a URL that does not begin with http.

Fortunately, there are still plenty of other alternatives, and the free NFC Tag Writer & Reader from Connecthings allows to specify any custom URL you want. So, install and launch the application, and write the following URLs to each of your four NFC tags:

  • Blue (Car) tag: semc://liveware/A1/1/NT1/1/smarttags1
  • Red (Home) tag: semc://liveware/A1/1/NT1/2/smarttags1
  • Black (Bedroom): semc://liveware/A1/1/NT1/3/smarttags1
  • White (Office): semc://liveware/A1/1/NT1/4/smarttags1
screenshot_2012-03-25_1112_1 screenshot_2012-03-25_1206

3.) Assign actions to your new “SmartTags”

Now, return to the home screen and try scanning one of your newly-programmed “Smart” tags. The Xperia SmartTags application should recognise it and launch accordingly. You can then assign a set of actions that should be carried out every time each tag is scanned.

screenshot_2012-03-25_1111 screenshot_2012-03-25_1219 (2)

The range of actions that can be assigned using Sony’s SmartTags application seems pretty similar to those available in other NFC applications. The advantages of the SmartTags application is that it is free (unlike NFC Task Launcher) and supports multiple actions assigned to the same tag (unlike NFC Quick Actions). The biggest disadvantage, however, is that it only seems to recognise four unique tags. I did try programming the hypothetical next URI in the series: semc://liveware/A1/1/NT1/4/smarttags1, but, perhaps unsurprisingly, it wasn’t recognised.

As I said previously, both NFC Task Launcher and NFC Quick Actions seem to be under active development, and the discovery of how to make the SmartTags app work with generic NFC tags certainly doesn’t negate the possible use of other NFC applications on the Xperia S – it just opens up another possible avenue of NFC. Hopefully this post will help let you explore that avenue while saving you 15 quid or waiting 2 months for the official Sony SmartTags to come out Winking smile

Tags: , , ,
March 23, 2012

Fun with NFC Part Two – Performing Actions with NFC Tags

In my last post I described my rather underwhelming first experiences with NFC, using the apps that came supplied with my Sony Xperia S Android handset. I then got slightly more success using the excellent (and free, I might mention) NXP TagWriter app from the Google Play store. But, so far, I’ve only written and read simple text strings over NFC. What about if you wanted to program some action that should be taken when a device reads an NFC tag?

This, I believe, is the intended function of the Sony Xperia SmartTags app, but the required SmartTags themselves are still not available in the UK (and those stockists that are advertising them for pre-order suggest that, when they do become available, they will be at a hugely inflated price compared to regular unbranded NFC tags:- £15 for 4 SmartTags compared to £6.50 for 10 generic NFC tags…). So, it was time to turn to the Google Play shop again to see what alternative apps were out there.

There were two apps that caught my eye, which both seemed to provide the required functionality:

So, I decided to take them for a whirl:

NFC Task Launcher

image

NFC Task Launcher has excellent reviews (4.7/5.0 stars average) and lots of positive comments. In addition to the paid app (costing £1.21), there’s also a free version. Seeing as I’m only fiddling with NFC, it made sense for me to download the free version first so that I could evaluate the sorts of actions available that could be programmed on my handset.

Or so I thought.

Installing and firing up NFC Task Launcher Free, I was a little surprised not to find any menu options relating to creating tags, reading tags, or assigning actions. Those, I thought, would be pretty key features for any application that allowed you to create and read tags that performed actions… Instead, the only options were to upgrade to the full version, some settings, an about page, and a link to purchase NFC tags:

screenshot_2012-03-23_1141

Reading the description on the Google Play shop, I then saw: “This is the free version of NFC Task Launcher. It can be used to READ and EXECUTE tags created with the full version”. Hang on… the only thing that the free version can do is read and execute tags created by the full version? How does that help me evaluate its functionality, when I need access to the paid version to make it do anything?

The paid version of NFC Task Launcher might be great, but there’s certainly no way of knowing that from trying out the free version first, so NFC Task Launcher Free is another app that can be added to the “list of useless apps to be deleted”.

NFC Quick Actions Free

When installing this application, you’ll notice it asks for a lot of permissions. I’m normally very reluctant to install applications that ask for more permissions than necessary but, when you think about it, the whole point of using this application is to automate different parts of your phone. For every possible action you might want to take in response to reading an NFC tag, this application needs to have permission to perform that action, so expect to see it request permissions for everything from taking videos to turning on Wi-Fi and making calls:

screenshot_2012-03-22_1422

Having installed and launched NFC Quick Actions, you can select from one of a number of actions to assign to a tag:

screenshot_2012-03-23_1228

The available actions are:

  • Launch an application
  • Dial a number
  • Check into Foursquare
  • Turn on/off the device light
  • Send an email
  • Load Google Maps
  • Launch the “Android Market” (now Google Play shop)
  • Navigate to a chosen destination
  • Toggle Wi-Fi/Bluetooth/Airplane Mode
  • Send an SMS
  • Load Streetview
  • Write Text
  • Navigate to a URL
  • Play a Youtube video

Having selected an action, and set any corresponding parameters (i.e. the addressee to which an email or SMS should be sent, or the point on which to centre the map), hold up an NFC tag to the back of the phone to write that action to the tag.

screenshot_2012-03-23_1316 screenshot_2012-03-23_1317

Subsequently, every time you hold up the tag to the phone (so long as the phone is unlocked and NFC is enabled), the given action will be performed – you don’t need to have the NFC Quick Actions application open. In the example above, waving my phone above the programmed NFC tag causes Google Maps to open, centred on Norwich. Neat, huh?

I tried out a few of the actions, and they seemed to work relatively well. However, there’s still a few improvements that could be made to the application: the UI is a bit clunky and a lot of the descriptive text could be made clearer. The biggest limitation, however, is that NFC Quick Actions can only assign a single action to a tag. In practice, I would normally want to specify sets of actions to occur- for example:

  • When touching my phone on the NFC tag on my bedside table, I’d like to set my alarm for the morning, turn off Wi-Fi, and dim the screen brightness.
  • When touching the NFC tag in my car, I’d like to enable GPS, turn on handsfree mode, and fire up the Navigation app.
  • etc. etc.

I’ve written to the developer with suggestions for a few more actions, and to ask whether multiple actions are likely to be supported in the future. I’ll let you know if I hear anything. In the meantime, if anyone can recommend whether it’s worth investing in the paid version of NFC Task Launcher, or if there are any other NFC actions apps out there, please let me know….

Tags: , , ,
March 22, 2012

Fun with NFC Part One – Reading & Writing NFC Tags

Trying to understand and compare the features of modern mobile phone handsets is a nightmare. The rate at which the various fields of technology are advancing is mind-boggling, and it’s not helped by the seemingly endless list of acronyms used to describe them. My new Sony Xperia S phone, for example, lists among its features: HSDPA, DLNA, WiFi, Bluetooth with 2DP and EDR, SMS, MMS, a radio with RDS, A-GPS and GLONASS, and NFC.

I’m hoping that, by the end of the 24-month contract that I’ve just had to sign to acquire aforementioned handset, I might just have worked out what half of those things are and whether they’re actually of any use to me. And, in this post, I thought I’d start by describing my first experiences with NFC.

NFC, huh – what is it good for?

NFC, or “Near-Field Communication” is, very simply, a method of transferring information over very short distances using radio waves. In that respect, it’s not that dissimilar to Bluetooth or Infrared communication, which have been used to transfer information between electronic devices for some time. What is different about NFC is that, while it can be used to transfer information between two powered electronic devices – a phone and a laptop, or a TV and its remote control, say – it can also be used to transfer information between an active “initiator” and a passive “target”. In such cases, the “initiator” is a device like your mobile phone handset, while the passive target is powered solely by the RF field of the initiator – it needs no batteries or other power supply of its own.

Not only do they not require power, but passive NFC targets are tiny, lightweight, and paper thin – and this means that they can be embedded in a wide variety of materials. In fact, there’s a reasonable chance that you already have one or more NFC targets in your house – they are used in Oyster cards used on the London Underground and some credit cards and passports, for example:

imageimageimage

Of course, the idea of embedding digital information in business cards, posters, and other media to be read by electronic devices is hardly new either. You might be familiar with data matrix or QRcodes, which can encode data similar to the way in which a traditional barcode does:

imageimage

Data matrix, barcodes, and QRcodes like those above are just a way of expressing information in a compact form that is easily read by a device. They are static, and read-only. In contrast, the data contained in an NFC target can be both read and overwritten, again and again, by a simple device such as a mobile phone.

So, time for a play…

NFC and the Sony Xperia S

My Sony Xperia S is unmodified and exactly as supplied on the Vodafone network here in the UK. That means it’s running Android Gingerbread 2.3.7 with Sony’s NXT UI on top.

“Out-of-the-box”, it comes with two installed applications related to NFC:

  • Sony’s own “Xperia SmartTags”
  • The generic Android “Tags”

Before investigating the potential of either application, I first enabled NFC via the Wireless & network settings menu, as shown near the bottom of the screenshot below:

image

Once the NFC capability is enabled, it’s time to try out the applications.

SmartTags

The Sony “Xperia SmartTags” application doesn’t seem to appear in the app launcher list, and nor does it have an icon that can be added to a home screen. It does, however, have a widget as shown below:

image

As the instruction states, rather than being a generic NFC application, the SmartTags widget appears only to be designed to respond to an Xperia SmartTag – a Sony-branded NFC tag. The problem is that, not only did my Xperia S not come supplied with any SmartTags, but nor are they currently available to purchase separately. The Sony UK website describes them merely as “coming soon”:

image

Without either possession of, or the ability to acquire, the hardware necessary to actually make this app do anything, it pretty much dooms “Xperia SmartTags” to be added straight to my list of “useless apps to be deleted”…

Tags

The Xperia also comes with the Android “Tags” application, which can be loaded from the App launcher:

image

There’s not much to see in the default Tags application screen – it just lists tags that have been scanned and, as I haven’t scanned any yet, it’s a big black page. Fortunately, in my wallet I do happen to have both an Oyster card and an NFC-enabled Barclaycard, so I held each one up to the back of the phone for a few seconds to see what happened.

My initial excitement when the phone recognised both cards was slightly reduced when I realised that the Tags application merely recognised them as “Unknown tag type” and couldn’t really do anything else.

screenshot_2012-03-20_2002
Default start screen of Tags application
screenshot_2012-03-20_2005 (2)
Result of scanning an Oyster card or Barclaycard

NFC Apps on the Google Play Shop

Feeling slightly underwhelmed by my achievements with the pre-installed applications, I decided to turn to the “Google Play Shop” (the place to get apps for your Android phone, previously known as the “Android Market”), where I found a couple of alternative NFC applications including some claiming not only to be able to read NFC tags, but also to write them. This sounded a lot more promising, and the first application I decided to try was NXP Tagwriter.

Before getting anywhere with the TagWriter application, I needed to acquire some physical tags to be written. Much though the idea of reprogramming my Barclaycard sounded quite fun, I thought it would be safer to start off with a blank NFC tag, so I turned to Google and found a company called RapidNFC, who supply a variety of different shapes and styles of NFC tag. Not having the slightest idea about whether I wanted a “NTAG203” or an “Ultralight C” tag, I sent them an email asking for advice and got a very prompt and helpful response. The very next day, the postman delivered a package from them containing a sample of several different sorts of NFC tags. If you’re considering doing anything involving NFC tags, I’d definitely be happy to recommend RapidNFC based on my experience (they didn’t also send me the 50p in the picture below – that’s just so you get a sense of scale for the tags!)

image

So, onto programming my new shiny tags. Fire up NXP Tagwriter and you get a screen with a choice to view, create, browse, or share tags. Choosing to create a new tag prompts you to select the type of content this tag will contain – a contact, URL, SMS, or just plain text.

screenshot_2012-03-20_1055 screenshot_2012-03-20_1056_1

I decided to just create a simple plain text message to begin – just enter your text and hold the NFC tag on to the back of the phone for a second or two to write the data to it:

screenshot_2012-03-20_1056_2 tag_1k_formattedandwritten

And that’s it! Once stored, the text can be read back from the NFC tag using either the TagWriter application, or the Tags application. Either application will then display the text message stored on the tag:

screenshot_2012-03-22_1327
Reading the tag in NFC TagWriter
screenshot_2012-03-20_1059
Reading the tag in Tags

I tried three different kinds of tags from RapidNFC – the Ultralight, NTAG203, and 1k – and could write/read them all first time. The difference between the types of tags, as I understand it, is that they have slightly different maximum storage capacities, and can operate at different distances from the initiator device. They’re also slightly different physical sizes.

So that’s the basics of NFC covered. Over the next few posts, I’ll look at doing something more exciting than just writing/reading a text message. Particularly, I want to see how to make my phone perform certain actions in response to scanning a tag (which, I understand, is what Sony’s SmartTags application is meant to do in the first place), and also how to read more detailed information from existing tags. There are already some applications that claim to provide this functionality on the Google Play shop but, if I’ve got time (hah!), I might have a go at programming my own Android NFC app using the Android NFC developer guide.

Tags: , , ,
Follow

Get every new post delivered to your Inbox.

Join 53 other followers