advanced search

download technical whitepaper (PDF)


Who Should Read This?

This information is intended for anyone who wants an under-the-hood understanding of how touchatag works, whether for personal or business use, or for developing custom applications. By reading this document, you will gain a technical understanding of touchatag, including the user experience, its enabling technologies, its basic workflows, and its underlying software architecture.

If you are a software developer and wish to create touchatag-enabled applications, read this whitepaper first, then continue learning at http://www.touchatag.com/developer.

Introduction

Touchatag is a web-based service for connecting real-life objects to the online world using Radio Frequency Identification (RFID) or 2D barcode tags.

The online and offline worlds are distinctly different and, until now, have been very separate. Touchatag provides a way to connect these worlds in a simple, relevant, and fun way. By linking physical objects with online applications and information, touchatag provides consumers, businesses, and application developers a way to incorporate tag-based identity technology into daily life, adding value and depth to the things we use every day.

Some example uses of touchatag include:

  • Linking a child’s toy to his or her favorite online video
  • Tagging interoffice memo hardcopies with related intranet links
  • Scanning 2D barcodes attached to historic monuments to access information
  • Tracking attendee interest in a product or seminar at a conference
  • Associating business cards with social networking pages
  • Facilitating quick identification for loyalty programs
  • Logging that mobile employees or rental managers are making their required visits to different stations

Touchatag envisions a world of applications, services, games, businesses and even our everyday possessions enriched by being connected to online resources through a simple gesture. Touchatag asserts that this world shall not be the exclusive domain of large, wealthy organizations—its true potential can only be realized by making the technology accessible to an ever-larger demographic.

Touchatag Essentials

Using Touchatag

The interaction for using touchatag RFID operation is very simple: you touch or scan a tagged object, and as a result, an online action of some sort is triggered.

Touchatag connects real-world objects to online information and applications using “tags.” The service currently supports two types of tags: RFID stickers and printable 2D barcodes.

For RFID tags, touchatag uses the proximity card standard (High Frequency RFID (ISO 14443). As the work “proximity” implies, the detection range for these tags is small—about 4 centimeters, or 1.6 inches. On a computer, you use a low-cost USB reader to read tags. There are also certain mobile phones equipped with Near Frequency Communication (NFC) readers that can read touchatag RFID tags.

Touchatag’s 2D barcode support works similarly to RFID tags. However, instead of touching the tag, you scan it. Most camera-equipped Smartphones can read 2D barcodes using freely-available software that is easily-installed. Touchatag supports a popular 2D barcode standard known as QR Codes.

To tag something with either an RFID tag or 2D barcode, touchatag provides a Web-based dashboard, which is discussed later in a section below.

Supported Clients

The touchatag dashboard can be accessed through the three major web browsers (Firefox, Internet Explorer and Safari), allowing a variety of different client systems to manage applications and generate 2D barcodes.

Touchatag RFID readers are USB devices that connect to the touchatag service through a software client. Currently, touchatag provides an officially supported client for MacOS and Windows. When a reader detects an RFID tag, the software client connects to the touchatag online service, which determines what application to execute.

Mobile devices can use either RFID tags or 2D barcodes, depending on the mobile device capabilities. For RFID tags, touchatag requires built-in NFC functionality, which is becoming available on a new generation of phones. To scan 2D barcodes, most camera-equipped phones can use easily-installed, freely-available software. (A growing number of phones may already have this capability built in.) More detailed information about client-side technologies used by touchatag is described in the section “Touchatag Technologies” below.

Touchatag’s Online Service

The core component that brings touchatag to life is an online service. This service listens to client requests, determines what action to execute for a specific tag, and—in most cases—responds to the client with instructions to perform an action, such as opening a browser window to a specific site. Because touchatag centrally coordinates actions through this online service, you can share tags and or applications on different machines from anywhere in the world.

The online service is known as the Application Correlation Service (ACS). Beyond simply associating tags to applications, the ACS can also use contextual factors, such as which reader was used. After selecting the appropriate application for a given tag, various actions may be invoked on either the client or server side. Commonly-used client-side actions include opening a specified web site, or sending a command to a desktop application, such as a music player. Actions on the server side include such things as posting data to a web service such as Twitter, logging the time of a read event in an online database, or forwarding an event to an external system. The list of possible actions on both the client and server side continues to increase as the capabilities of the service expands and new applications are added to the system.


Architectural Overview

This section describes each of the major components of touchatag’s architecture, as illustrated in Figure 1.

Figure 1: touchatag end-to-end architecture

 

Application Correlation Service (ACS)

The touchatag Application Correlation Service (ACS) is a Web service that comprises the core of touchatag, storing the association between unique tag IDs and actions to execute.

The touchatag ACS listens to touchatag RFID readers and NFC- or QR Code-enabled phones. When a tag event is registered, the ACS performs logic to determine the appropriate action for the tag, and responds accordingly.

The ACS has several internal components that enable its overall functionality.

ACS Data Repository

The ACS maintains a repository of correlation data, which includes actions for associating to tags, as well as tag, reader and user IDs and their associations to actions.

ACS TagID Dispatcher

When the ACS receives a tag read event, it uses the TagID Dispatcher to lookup the incoming tag ID in the Repository, and then return the correct corresponding action to the client. Currently the dispatcher component handles only tag IDs. Additional functionality will later enable the dispatcher also to handle reader ID, user ID, client type, and various types of metadata for dispatching events.

ACS Block System

The Block System provides the ACS with modular functionality for different types of Applications. Each of the different Applications available in the touchatag dashboard uses one or more corresponding blocks on the server.

For example, there is an ACS block that supports touchatag’s Twitter capabilities. The Twitter block works in conjunction with other, simpler blocks, such as the HTTP Client block.

The touchatag engineering team uses the Block System as a modular way to extend touchatag’s base functionality. One way that third party application developers can create new functionality is by assembling the existing ACS blocks in new configurations using Touchatag Configurator API.

Dashboard

The dashboard is the main user interface for touchatag. It provides a web-based control panel to view and manage the applications that you have already configured, and related tag associations. The dashboard is also where you can configure applications and associate them to tags. You access the dashboard by logging on to http://www.touchatag.com, and then clicking dashboard.

Configurator

The dashboard’s configurator component is a wizard interface whose workflow lets you select an application to use for a given tag, and to assign whatever configuration parameters (such as which URL to launch) are required by the selected application template.

Applications

Applications perform the actions that happen when a tag is read.

Each different application has a template, which defines configuration parameters required by an end user before associating to tag. From the dashboard, you make a new custom application configuration by clicking Configure an Application. Depending on the application you select, you may find that certain configuration parameters have been pre-configured in the application template.

The applications available in the dashboard come from three different sources:

·         Core Teamapplications made by the touchatag engineering team provide the ACS its native functionality (such as Skype Call or Last FM) through the block system.

·         3rd Party—applications made by independent developers and software companies provide functionality through application hosted externally from the touchatag ACS.

·         Touchatag end users—applications based on Core Team or 3rd Party applications can be shared by members of the touchatag community with pre-configured template parameters.

Touchatag Hardware and the Dashboard

You do not need a touchatag reader to create 2D barcodes in the dashboard. However, to associate actions to an RFID tag, your computer must have a touchatag USB reader, and you must log on to the service with the touchatag client software.

Client Systems

Supported client types for use with touchatag are computer-based clients or mobile clients.

Computer-based Clients

MacOS and Windows computer systems use the touchatag USB reader and client software to work with RFID tags. The touchatag client software connects to the Action Correlation Service using an encrypted SOAP connection.

The touchatag client software initiates all communication with the Action Correlation Service. When the client detects a tag event, it sends the event information to the service, and the service responds to the client with instructions to execute whatever actions are required, such as opening a webpage, starting a Skype session, or controlling a media player.

Mobile Clients (NFC & 2D Barcode)

Using a mobile device, you can bring the reader to the tag rather than bringing the tag to the reader. This allows you to use inexpensive tags to mark sites, or over-sized objects (as well as smaller objects).

Mobile devices don’t require a touchatag reader. Standard NFC-compatible mobile phones, or camera phones with 2D barcode software, can be used to detect a tag and communicate with the touchatag online service.

The communication between the mobile NFC phone and the touchatag service does not require a special software client to be installed. For the most common scenarios, the standard NFC communication mechanisms are used.

Reading 2D barcodes on a mobile device requires:

1.     A camera (to scan/shoot the barcode)

2.     Software for reading QR Codes

To enable your mobile phone to read touchatag (and any other QR Code tag) see http://www.touchatag.com/2d-barcode.


Touchatag Workflows

The following scenarios describe sequence of steps that occur when a tag is detected by a touchatag reader, NFC phone, or QR Code-enabled phone.

Fixed USB Reader Scenarios

 

Figure 2 shows the workflow of a fixed-reader scenario.

 

Figure 2: touchatag basic fixed reader operation

The scenario consists of the following steps:

1.     A tagged object is detected by the fixed touchatag USB reader.

2.     The reader communicates relevant information, such as the tag ID, to the touchatag software client.

3.     The touchatag software client contacts to the touchatag Action Correlation Service, relaying the tag ID, the reader ID, the event type, the user’s account name, and other information.

4.     The touchatag Action Correlation Service registers the event information, and uses the correlation data repository to determine what actions to execute.

5.     The touchatag service executes any appropriate server-side actions, and then instructs the touchatag software client to launch any appropriate actions on its host computer.

6.     The touchatag client executes actions as instructed by the service.

NFC Mobile Reader Scenarios

Figure 3 shows the workflow of a NFC mobile client scenario. 

Figure 3: Mobile phone scenarios

The scenario consists of the following steps:

1.     A standard NFC mobile phone is touched to a tag, which informs the phone of the Internet address of the touchatag service, as well as the tag ID.

2.     The mobile phone contacts the touchatag server via its data connection (such as GPRS or UMTS), and relays the tag ID and other information.

3.     The touchatag service registers the message information and determines which action to execute based. The service executes any necessary service-side actions.

4.     The service responds by sending a URL back to the client device.

5.     The mobile device launches the URL.



QR Code Enabled Mobile Phone Scenario

Figure 3 (above) also works for the workflow of a QR Code mobile client scenario.

The QR Code-enabled scenario consists of the following steps:

1.     Using a mobile device’s QR Code reader software, an end user aligns the device’s camera to scan the QR Code tag. The reader software decodes the tag, yielding a URL (comprised of touchatag’s base URL plus a unique identifier for the specific tag).

2.     The mobile phone calls the discovered URL via its data connection (sucha s GPRS or UMTS), which relays the unique identifier of the tag to the touchatag service.

3.     The touchatag service registers the URL request, and determines what actions to execute, executing any necessary service-side actions.

4.     The service responds by sending a URL back to the client device.

Note The response URL is not the same URL as the original URL that the device used to connect the service. This means that you can re-configure where a touchatag-generated QR Code directs client, as well as introduce server-side actions from the ACS.

5.     The mobile device launches the URL.


Configuring Applications with the Dashboard

Through the dashboard, you can create your own tag-to-application association by following these steps.

1.     Log on to www.touchatag.com using your account (register for no charge).

2.     Go to the touchatag dashboard (www.touchatag.com/dashboard).

·        The dashboard shows any associations that the user has already created, allowing you to edit or delete them.

3.     Click the Configure an Application button. This opens the touchatag configurator.

4.    

 
 

In configurator Step 1, you choose the type of application based on the available templates, and the click the Choose this Application button.

5.    

 
 


In configurator Step 2, you customize the selected application, giving it a name and, optionally, a description, and specifying any other fields as required. When ready, click the Use this App button to continue.

6.    

 
 


In Step 3 one or more tags are associated with the application. Two choices are offered:

·       

 
 


  • QR Code
    This generates a QR Code tag for the application instance. In configurator Step 4, this tag can be printed or displayed in a separate window.
  • RFID Tag
    This choice prompts you to put a tag on your touchatag USB reader. When the tag is detected, the wizard displays the tag ID and asks you to
    confirm. Click Choose this Tag to confirm the association and continue.

 
 


7.    

 
 


In configurator Step 4 you verify the configuration by clicking Make this Tag. This is the final step in associating an action to a tag, so the configurator closes.

After the association is created, it appears in your list of associated tags in the dashboard. From then on, using the physical tag on any touchatag reader or NFC phone will trigger the actions defined in the touchatag application.


Third Party Application Development

By providing an online service, touchatag aspires to make the integration of contactless RFID and 2D barcode more easily accessible and affordable to 3rd party software developers. For this reason, we provide three primary services for software developers:

·         Web API — Web APIs have become a universal language for data interchange between different systems, and web-enabled applications are flourishing. Touchatag’s Web API is intended to make integrating RFID and QR Codes simple and straightforward for all developers.

·         Low-cost RFID hardware — touchatag makes contactless RFID readers and tags available at a low cost so that independent innovators and smaller companies can readily afford this new technology

·         Distribution — the touchatag website provides developers with a central location to distribute, promote, and sell their custom software applications.

Touchatag Developer Network is our expanding community program for third party application developers using the touchatag online service to enable contactless RFID in their applications. To learn more about developing with touchatag, read the Developer’s Guide to Touchatag at http://www.touchatag.com/developer.

Touchatag Technologies

HF RFID

Touchatag uses passive high-frequency Radio Frequent Identification (RFID) tags and active RFID readers, operating at 13.56MHz. This technology is based on the ISO 14443 standard. The maximum detection distance between a tag and the touchatag reader is 4 cm (about 1.6 inches).

Touchatag Supported RFID Tags

Touchatag currently uses only Mifare Ultralight RFID tags. The Action Correlation Service currently works only with RFID tags supplied by touchatag.

Near Field Communication

Touchatag is compatible with Near Field Communication (NFC), a standard based on HF RFID, now available in certain mobile phone models.

QR Code Tags

Touchatag uses the Quick Response code (QR code) for its optical identifier solution. Wikipedia provides a thorough overview of QR Codes at http://en.wikipedia.org/wiki/QR_Code.

To decode the QR Codes encoded through the touchatag dashboard, there are various QR Code software options, many of which are available at no charge.

For developers wishing to create a QR Code client, touchatag recommends Zxing, an open-source, multi-format 1D/2D barcode image processing software library. (http://code.google.com/p/zxing/).

Touchatag APIs

For 3rd party software developers, touchatag provides web API to the Action Correlation Service. For more information on developing touchatag-enabled solutions, consult the Developers Guide to Touchatag at http://www.touchatag.com/developer.

Appendix

Definitions & Initialisms

ACS

Application Correlation Service

API

Application Programming Interface

Contactless

Term often used with synonymously with the ISO 14443, or Proximity Card, standard

NFC

Near Field Communication

QR Code*

A 2D barcode standard, trademarked by Denso Wave, inc.

RFID

Radio Frequency Identification

SOAP

a protocol for exchanging XML-based messages over HTTP

XML

eXtensible Mark-up Language

 

Terms and conditions

For terms and conditions of the touchatag service, see http://www.touchatag.com/terms-use-touchatag-service

 

download the technical white paper