SlideShare une entreprise Scribd logo
1  sur  53
Télécharger pour lire hors ligne
NFC IN MOBILE COMMERCE
  and Information Ubiquity
   Use Cases, Technologies, APIs


       C. Enrique Ortiz
            January, 2008



               C. Enrique Ortiz
               Email: cenrique@ortiz.name
               Phone: +1-512-635-4225
               Skype: c.enrique.ortiz
               Website: http://www.CEnriqueOrtiz.com
               Weblog: http://weblog.CEnriqueOrtiz.com
               MobileMonday Austin: http://www.MobileMondayAustin.org
A little bit about myself
• Long time mobile Java developer
• A regular writer and speaker on mobile technology
  and blogger, and contributor to Carnival of the
  Mobilists, Sun Mobility site, other
• Founder of MobileMonday Austin
• Founder and CTO at eZee inc, a mobile marketing
  and media platform and solutions company
• Owner and Principal at Artemis Wireless Werks, a
  provider of mobile strategy and development
  services
Agenda

•Information Ubiquity
•Physical Interactions, Application
 Triggers and Use-cases
•Background on NFC
•NFC Code Example, and Pointers
Anything and Everything is Data

Everything in our wallets is just data; the
paper and plastic that we use for our driving
license and ID cards, our credit and debit
cards, our receipts, coupons, tickets and
even our business cards.

…and more importantly, anything that is
data can be carried on a mobile phone.
             *Adapted from Mike Elgan, ComputerWorld, The Raw Feed
Information Ubiquity
      Physical Interactions, Application Triggers, Physical Browsing


• Information everywhere
• Addressable (and thus identifiable) information, or
  workflows for that matter
• Think physical interactions, application triggers and physical
  browsing
   – A number to call, a URL, a short-code, barcodes, radio tags
       • On books, magazines, posters, soda cans, billboards
   – For advertisement, for authentication, for control, for quick action,
     access to information
   – Some interactions are more manual than others
• The Mobile Handset is at the center of this ubiquity
Information Ubiquity
Examples of Physical Interactions and Application Triggers




                     Visual Tags




Short Codes
                                     Proximity : Ticketing, payments, other
                     Radio Tags
Information Ubiquity
            Interactive “Smart” Posters

Physical Interactions:
Interactive Posters provide
the perfect means for
service initiation (application
trigger). A poster, which
could be a label, an
advertisement or a plaque at
the store aisle or a billboard,
displays information of
                                  Text “smart” to 2ezee
interest to consumers…
    :

…and how to interact with it.
Example of Physical Interactions
              Proximity (NFC)-based payments



External reader
connected to the
POS                                                                                                 NFC Mobile
                                                                                                    Handset with
                                                                                                    Security Element



                                                                                                     People will continue to
                                                                                                     use cash, and credit
                                                                                                     cards, and over time,
                                                                                                     the mobile phone



                   Photo credit: Philips Arena. At Philips Arena in Atlanta, Georgia, USA, ticket
                   holders with NFC-enabled cellular phones make contact-less payments at
                   concession stands.
Mobile Commerce Concerns

                 Worry about security                                   39%
                                                                         40%

            Costs too much for airtime                         22%
                                                                  27%
    Don't trust that transaction will be                 18%
                 completed                                     24%
      My phone doesn't have wireless                   13%
           shopping capability.                          17%

                        Takes too long                 12%
                                                         16%

               Unaware of this option                  12%
                                                        14%

              Complicated navigation             9%
                                                  10%
Not enough information on the sites to        5%
         make an informed                      8%

         Sites I want are not available    1%
                                            3%

         Items I want are not available    1%                             Q4 2006
                                            3%
                                                                          Q2 2006

                                    Source: Telephia
Most likely short-term use-cases
    What’s your opinion and why?
• Payments?
• Interactive / “Smart” posters?
• For Authentication?
• For Home Control?
• Marketing and Advertisement
• Other?
Near Field
Communication
What is NFC?

• A short-range radio technology
• Operates at 13.56 MHz
• Transfers data at up to 424 KBits/second
• Activates when two NFC-compatible devices are
  brought within ~four centimeters
• Transmission range is so short, it is inherently
  “secure”
• NFC is still early stages, very young
NFC Compared to other short range
       radio technologies




             Source: The NFC Forum
NFC Standards

• ISO 14443 Type A and 14443 Type B
  standards + FeliCa
  – ISO 14443 is a four-part international standard
    for contact-less smart cards operating at 13.56
    MHz in close proximity with a reader antenna
• ISO 18092
  – Defines communication modes for NFC Interface
    and Protocol
NFC Communication Modes




(Not supported by JSR 257 v1.0)                           Secure Connection




                                  Source: The NFC Forum
Terminology
• NDEF - NFC Data Exchange Format
   – Such as Smart Posters, URI Records
• RTD - Record Type Definition
   – An NFC-specific record type and type name which may be carried in
     an NDEF record
• NDEF message
   – Basic message construct defined by this specification. An NDEF
     message contains one or more NDEF records
• NDEF record
   – Contains a payload described by a type, a length, and an optional
     identifier
• NDEF payload
   – The application data carried within an NDEF record
Contactless API
     JSR 257
 Background
Anatomy of a Contactless Java
         Application (MIDlet)

• Java Runtime
  – Application, JSR 257
• RFID, NFC
• Antenna
• Secure Elements
• External elements
External Elements

• External Readers
  – POS readers, MasterCard PayPass,
    American Express Way, Visa
  – Ticketing systems
• External Tags
  – NFC, RFID, Visual
• External Smartcards
Secure Element (SE)

• Internal vs. External Secure Elements
  – Smart Cards such as Java Cards
• MIDlets can access internal SE via SATSA
• MIDlets can access external SE via JSR 257 or
  SATSA
• External readers access internal SE directly
  via RFID (Card Emulation mode)
Typical Elements of a JavaCard
            Application (mapped to NFC)
                                                          Internal
On Contact-less (NFC)                                     Security
phones the                          External              Element     External
left-side could be an               Reader                           Smartcard
internal reader, the       MIDlet
MIDlet itself, or and
external reader (via NFC
Card Emulation Mode).

The right-side, the
“card”, could be an
internal SE accessible
via SATSA, or external
card accessible via JSR
257.

All communication
using APDUs.



                                      http://CEnriqueOrtiz.com
NFC Programming
      Using (JSR-257) Java Contactless
            Communication API
• Discover and exchange data with
  contact-less targets
  – NDEF tags
  – RFID tags
  – External smart cards
• Support for visual tags
Contactless Communication API Java
             Packages
1.   javax.microedition.contactless (Mandatory)
      •   target discovery and classes common to all targets
2. javax.microedition.contactless.ndef
      •   communicate with tags (NDEF formatted data)
3. javax.microedition.contactless.rf
      •   communicate with RFID (no NDEF formatted data)
4. javax.microedition.contactless.sc
      •   communication with external smart cards
5. javax.microedition.contactless.visual
      •   reading and generating visual tags
API Relationships   From JSR 257
                    Specification
The Connection Interfaces
General Flow
Contactless API
     JSR 257
Code Examples
Discovering and Listening for
     Supported Targets
Discovering and Listening for
          Supported Targets
• Import, Implement Interface
  – public interface TargetListener
  – void targetDetected(TargetProperties[] properties)

• Discover supported targets by calling:
  – DiscoveryManager.getSupportedTargetTypes();

• Add listeners for targets of interest:
  – dm.addTargetListener(listener, TargetType);
Discovering and Listening for
             Supported Targets
public void registerTargetListeners(TargetListener targetListener) {
    // Discover supported types
    TargetType[] tp = DiscoveryManager.getSupportedTargetTypes();
    try {
        // Register listener for each of the supported types
        for (int i=0; i<tp.length; i++) {
            if (tp[i].equals((TargetType.ISO14443_CARD))) {
                 dm.addTargetListener(
                     targetListener, TargetType.ISO14443_CARD);
            } else...
               :
               :
            }
        }
    } catch (Exception e) {
        // ...
    }
}
Detecting and Connecting to Target

• Method targetDetected is invoked by the
  platform, passing a TargetProperties
• Get Target’s URL
• Connect to Target
• Exchange Data
• Process incoming message according to message
  attributes
• Close connection
Detecting and Connecting to Target
public void targetDetected(TargetProperties[] prop) {
    try {
        // Select the first target
        TargetProperties target = prop[0];
        // Get URL
        String url = target.getUrl();
        // Open NDEFTagConnection to the target
        NDEFTagConnection conn = (
            NDEFTagConnection) Connector.open(url);
        // Read Message
        NDEFMessage m = conn.readNDEF();
        NDEFRecord[] r = m.getRecords();
        // Process message / records, modify record for writing out
        :
        // Write message out, close connectin
        conn.writeNDEF(m);
        conn.close();
    } catch (Exception e) {
    }
}
Detecting and Connecting
                to Target (2)
public void targetDetected(TargetProperties[] prop) {
    for (int i = 0; i < prop.length; i++) {
        // Get UID
        String uid = prop[i].getUid();
        // Get Connection Classes
        Class[] classes = prop[i].getConnectionNames();
        // Get Target Types
        TargetType[] types = prop[i].getTargetTypes();
        // Connect to each Target
        String url = prop[i].getUrl();
        try {
            // Open NDEFTagConnection to the target
            NDEFTagConnection conn =
                   (NDEFTagConnection) Connector.open(url);
            :
            :
        } catch (IOException e) {
            // ...
        }
    }
Listening for NDEF-specific Targets
     (Read-only, no connection
              possible)
Listening for NDEF Targets
      (Read-only, no connection)
• Import, Implement Interface
  – public interface NDEFRecordListener
  – void recordDetected(NDEFMessage ndefMessage)

• Create Record Type, following naming rules
• Add listener
  – dm.addNDEFRecordListener(listener, recordType)
Listening for NDEF Targets
             (Read-only, no connection)
// Register NDEF_TAG target (smart poster) to discover
try {
    NDEFRecordType spNrt = new NDEFRecordType(
        NDEFRecordType.NFC_FORUM_RTD, quot;urn:nfc:wkt:Spquot;);

    dm.addNDEFRecordListener(this, spNrt);
} catch (IllegalStateException e) {
    :
} catch (Exception e) {
    :
}


From the JSR 257 Specification: If the format is EMPTY or UNKNOWN the name must be
null. The record type names of NFC_FORUM_RTD and EXTERNAL_RTD record types
must follow the naming rules defined in the NFC Forum RTD specification. The record
type name must only contain characters in the US_ASCII character set.
Processing NDEFMessages

• Method recordDetected is invoked by
  the platform, passing a NDEFMessage
• Get record and record type and other
  information from the message
• Process the message according to message
  attributes
Processing NDEFMessages

public void recordDetected(NDEFMessage ndefMessage) {
    // Get records and record types from NDEF Message
    NDEFRecordType[] rTypes = ndefMessage.getRecordTypes();
    NDEFRecord[] records = ndefMessage.getRecords();
    for (int i=0; i<records.length; i++) {
        // Handle data, based on type of NDEFMessage
         NDEFRecordType t = recordTypes[i];
        NDEFRecord r = records[i];
        byte[] id = r.getId();
        long len = r.getPayloadLength();
        byte[] p = r.getPayload();
        // Process the record
        // ...
    }
}
Get Card Emulation Activity
        Notifications

Applications are notified, and don’t
participate on the transaction per-se
Register for Emulation Activity
             Notifications
• Import, Implement
  – public interface TransactionListener
  – void externalReaderDetected(byte slot)


• Add listener
  – dm.addTransactionListener(this);
Register for Emulation Activity
               Notifications

// Register Transaction Listener
try {
    dm.addTransactionListener(this);
} catch (IllegalStateException e) {
    ...
} catch (Exception e) {
    ...
}
Process Transaction Notifications

public void externalReaderDetected(byte slot) {

    // Based on slot number above, using SATSA connect to
    // applet, query applet, update screen, etc.
    ...
}




    SATSA and JavaCard is outside the scope of this presentation
Using PushRegistry
    to Launch NFC applications
           Automatically

Automatic Application Launch is key to success
         (acceptance) of NFC apps
PushRegistry to
             Launch NFC application
• Static vs. Dynamic Registrations
    –   Static via JAD or Manifest files
    –   MIDlet-Push-<n>
    –   PushRegistry.registerConnection(...)
    –   ConnectionURL, MIDletClassName, AllowedSender

• Dynamic programmatically via PushRegistry API
    – listConnections(), registerConnection(),
      unregisterConnection()
    – Once activated MIDlet must register NFC target listeners to receive notifications

• URL must follow proper naming, examples
    – Tag containing Smart Poster RTD is discovered:
         • ndef:rtd?name=urn:nfc:wkt:Sp
    – Tag containing an URL is discovered:
         • ndef:mime?name=text/x-uri
    – For SE transaction activity notifications:
         • secure-element:?aid=<aid_string>
Security
Methods Protected by Permissions

     Love/Hate these things
Security
 Methods Protected by Permissions
• DiscoveryManager.getInstance()
• Write NDEFMessage message
• Opening NDEFTagConnection
• Opening PlainTagConnection
• Opening ISO14443Connection
• Opening VisualTagConnection
In Conclusion
• Information Ubiquity, and Physical Interactions are
  two very important concepts
   – Short-codes, URLs, Visual tags, Radio tags
• JSR 257 Contactless Communication API allows for
  new types of mobile applications, and new types of
  physical interactions based on NFC, RFID, Visual
  tags, and Smartcards
• Get familiar with JavaCard programming, and
  SATSA, security elements and smartcards continue
  to be important
Links of Interest

• Contactless API JSR 257 Specification
• SATSA JSR 177 Specification
• NFC Forum
• Nokia 6131 NFC FAQ
• Nokia 6131 NFC SDK
• Mobile Java Articles at Enrique’s blog
  – http://weblog.cenriqueortiz.com/
And it has begun…
• Standards have been defined
• Handsets will start to appear this year in the
  U.S.
• Carriers are paying attention
• Trials are happening
• New Companies are being formed…
• Is about convenience
• People are taking notice…
Thank You
   C. Enrique Ortiz
   Email: cenrique@ortiz.name
   Phone: 512-635-4225
   Skype: c.enrique.ortiz
   Website: http://www.CEnriqueOrtiz.com
   Weblog: http://weblog.CEnriqueOrtiz.com
   MobileMonday Austin: http://www.MobileMondayAustin.org
Backup Slides
Nokia 6131 NFC Java Handset
Nokia 2nd (current) Generation NFC Handset, the 6131 NFC:
NFC Demo Video
USING THE NOKIA 6131 NFC HANDSET

Contenu connexe

Tendances

NFC and the Growth of Connected Consumer Devices
NFC and the Growth of Connected Consumer DevicesNFC and the Growth of Connected Consumer Devices
NFC and the Growth of Connected Consumer DevicesNFC Forum
 
Vodafone Cash Service - NFC tag
Vodafone Cash Service - NFC tagVodafone Cash Service - NFC tag
Vodafone Cash Service - NFC tagDeyaa Ahmed
 
NFC for the Internet of Things
NFC for the Internet of ThingsNFC for the Internet of Things
NFC for the Internet of ThingsNFC Forum
 
NFC Bridging the Internet of Things
NFC Bridging the Internet of ThingsNFC Bridging the Internet of Things
NFC Bridging the Internet of ThingsNFC Forum
 
All the 12 Payment Enabling Technologies & 54 Illustrative Companies
All the 12 Payment Enabling  Technologies & 54  Illustrative CompaniesAll the 12 Payment Enabling  Technologies & 54  Illustrative Companies
All the 12 Payment Enabling Technologies & 54 Illustrative CompaniesMEDICI admin
 
Merchant360 SP4G(tm) NFC Coverage Walls Counters and Floors
Merchant360 SP4G(tm) NFC Coverage Walls Counters and FloorsMerchant360 SP4G(tm) NFC Coverage Walls Counters and Floors
Merchant360 SP4G(tm) NFC Coverage Walls Counters and FloorsMerchant360, Inc.
 
NfC Forum Mobile NfC Ecosystem White Paper
NfC Forum Mobile NfC Ecosystem White PaperNfC Forum Mobile NfC Ecosystem White Paper
NfC Forum Mobile NfC Ecosystem White PaperTmac77
 
Near Field Communication on iPhone with iCarte
Near Field Communication on iPhone with iCarteNear Field Communication on iPhone with iCarte
Near Field Communication on iPhone with iCarteAndrew Roughan
 
Product manager for dynamic nfc id 11949
Product manager for dynamic nfc  id 11949Product manager for dynamic nfc  id 11949
Product manager for dynamic nfc id 11949Raoul Brouns
 
Consumer Perspectives on In-store Engagement Technology Webinar
Consumer Perspectives on In-store Engagement Technology WebinarConsumer Perspectives on In-store Engagement Technology Webinar
Consumer Perspectives on In-store Engagement Technology WebinarNFC Forum
 
New use cases thanks to adding crypto to RFID tags
New use cases thanks to adding crypto to RFID tagsNew use cases thanks to adding crypto to RFID tags
New use cases thanks to adding crypto to RFID tagsIhar Bayarenka
 
Nfc Overview
Nfc OverviewNfc Overview
Nfc Overviewmehdibs
 

Tendances (20)

NFC and the Growth of Connected Consumer Devices
NFC and the Growth of Connected Consumer DevicesNFC and the Growth of Connected Consumer Devices
NFC and the Growth of Connected Consumer Devices
 
Co Je A Bude Nfc Jan Nemec Gemalto
Co Je A Bude Nfc Jan Nemec GemaltoCo Je A Bude Nfc Jan Nemec Gemalto
Co Je A Bude Nfc Jan Nemec Gemalto
 
Vodafone Cash Service - NFC tag
Vodafone Cash Service - NFC tagVodafone Cash Service - NFC tag
Vodafone Cash Service - NFC tag
 
Mister softee
Mister softeeMister softee
Mister softee
 
Mobifyer
MobifyerMobifyer
Mobifyer
 
NFC for the Internet of Things
NFC for the Internet of ThingsNFC for the Internet of Things
NFC for the Internet of Things
 
NFC Bridging the Internet of Things
NFC Bridging the Internet of ThingsNFC Bridging the Internet of Things
NFC Bridging the Internet of Things
 
All the 12 Payment Enabling Technologies & 54 Illustrative Companies
All the 12 Payment Enabling  Technologies & 54  Illustrative CompaniesAll the 12 Payment Enabling  Technologies & 54  Illustrative Companies
All the 12 Payment Enabling Technologies & 54 Illustrative Companies
 
Merchant360 SP4G(tm) NFC Coverage Walls Counters and Floors
Merchant360 SP4G(tm) NFC Coverage Walls Counters and FloorsMerchant360 SP4G(tm) NFC Coverage Walls Counters and Floors
Merchant360 SP4G(tm) NFC Coverage Walls Counters and Floors
 
NfC Forum Mobile NfC Ecosystem White Paper
NfC Forum Mobile NfC Ecosystem White PaperNfC Forum Mobile NfC Ecosystem White Paper
NfC Forum Mobile NfC Ecosystem White Paper
 
NFC wallet
NFC walletNFC wallet
NFC wallet
 
Nfc kdr
Nfc kdrNfc kdr
Nfc kdr
 
Near Field Communication on iPhone with iCarte
Near Field Communication on iPhone with iCarteNear Field Communication on iPhone with iCarte
Near Field Communication on iPhone with iCarte
 
NFC TECHNOLOGY
NFC TECHNOLOGYNFC TECHNOLOGY
NFC TECHNOLOGY
 
Product manager for dynamic nfc id 11949
Product manager for dynamic nfc  id 11949Product manager for dynamic nfc  id 11949
Product manager for dynamic nfc id 11949
 
Consumer Perspectives on In-store Engagement Technology Webinar
Consumer Perspectives on In-store Engagement Technology WebinarConsumer Perspectives on In-store Engagement Technology Webinar
Consumer Perspectives on In-store Engagement Technology Webinar
 
New use cases thanks to adding crypto to RFID tags
New use cases thanks to adding crypto to RFID tagsNew use cases thanks to adding crypto to RFID tags
New use cases thanks to adding crypto to RFID tags
 
Nfc Overview
Nfc OverviewNfc Overview
Nfc Overview
 
NFC Guidebook, 2011
NFC Guidebook, 2011NFC Guidebook, 2011
NFC Guidebook, 2011
 
Nfc
NfcNfc
Nfc
 

En vedette

NFC Technology
NFC TechnologyNFC Technology
NFC TechnologyNeha Singh
 
Near field communication (nfc) technology
Near field communication (nfc) technologyNear field communication (nfc) technology
Near field communication (nfc) technologyAnkur Sharma
 
Near Field Communication (NFC)
Near Field Communication (NFC)Near Field Communication (NFC)
Near Field Communication (NFC)Seminar Links
 
NEAR FIELD COMMUNICATION
NEAR FIELD COMMUNICATIONNEAR FIELD COMMUNICATION
NEAR FIELD COMMUNICATIONHarisankar U K
 
Nfc-Full Presentation
Nfc-Full PresentationNfc-Full Presentation
Nfc-Full PresentationDILIN RAJ DS
 
Near Field Communication (NFC Architecture and Operating Modes)
Near Field Communication (NFC Architecture and Operating Modes)Near Field Communication (NFC Architecture and Operating Modes)
Near Field Communication (NFC Architecture and Operating Modes)Deepak Kl
 
NFC(Near Field Communication)
NFC(Near Field Communication)NFC(Near Field Communication)
NFC(Near Field Communication)ADARSH KUMAR
 
Track 4 session 5 - st dev con 2016 - simplifying the setup and use of iot ...
Track 4   session 5 - st dev con 2016 - simplifying the setup and use of iot ...Track 4   session 5 - st dev con 2016 - simplifying the setup and use of iot ...
Track 4 session 5 - st dev con 2016 - simplifying the setup and use of iot ...ST_World
 
NFC Development with Qt - v2.2.0 (5. November 2012)
NFC Development with Qt - v2.2.0 (5. November 2012)NFC Development with Qt - v2.2.0 (5. November 2012)
NFC Development with Qt - v2.2.0 (5. November 2012)Andreas Jakl
 
On Relaying NFC Payment Transactions using Android devices
On Relaying NFC Payment Transactions using Android devicesOn Relaying NFC Payment Transactions using Android devices
On Relaying NFC Payment Transactions using Android devicescgvwzq
 
Near field communication(NFC)
Near field communication(NFC)Near field communication(NFC)
Near field communication(NFC)ronak1207
 
Near field communication and RFID - opening for new business
Near field communication and RFID - opening for new businessNear field communication and RFID - opening for new business
Near field communication and RFID - opening for new businessJosef Noll
 
Near field communication
Near field communicationNear field communication
Near field communicationdivyasolanki101
 
NFC on Android - Near Field Communication
NFC on Android - Near Field CommunicationNFC on Android - Near Field Communication
NFC on Android - Near Field CommunicationSven Haiges
 
The User Experience of Near Field Communication
The User Experience of Near Field CommunicationThe User Experience of Near Field Communication
The User Experience of Near Field CommunicationMemi Beltrame
 
Tap into NFC Meetup - Boston
Tap into NFC Meetup  - Boston Tap into NFC Meetup  - Boston
Tap into NFC Meetup - Boston NFC Forum
 
Architecture and Development of NFC Applications
Architecture and Development of NFC ApplicationsArchitecture and Development of NFC Applications
Architecture and Development of NFC ApplicationsThomas de Lazzari
 
NEAR FIELD COMMUNICATION (NFC)
NEAR FIELD COMMUNICATION (NFC) NEAR FIELD COMMUNICATION (NFC)
NEAR FIELD COMMUNICATION (NFC) ADITYA GUPTA
 

En vedette (20)

NFC Technology
NFC TechnologyNFC Technology
NFC Technology
 
Near field communication (nfc) technology
Near field communication (nfc) technologyNear field communication (nfc) technology
Near field communication (nfc) technology
 
Nfc
NfcNfc
Nfc
 
Near Field Communication (NFC)
Near Field Communication (NFC)Near Field Communication (NFC)
Near Field Communication (NFC)
 
NEAR FIELD COMMUNICATION
NEAR FIELD COMMUNICATIONNEAR FIELD COMMUNICATION
NEAR FIELD COMMUNICATION
 
Nfc-Full Presentation
Nfc-Full PresentationNfc-Full Presentation
Nfc-Full Presentation
 
Near Field Communication (NFC Architecture and Operating Modes)
Near Field Communication (NFC Architecture and Operating Modes)Near Field Communication (NFC Architecture and Operating Modes)
Near Field Communication (NFC Architecture and Operating Modes)
 
NFC(Near Field Communication)
NFC(Near Field Communication)NFC(Near Field Communication)
NFC(Near Field Communication)
 
Track 4 session 5 - st dev con 2016 - simplifying the setup and use of iot ...
Track 4   session 5 - st dev con 2016 - simplifying the setup and use of iot ...Track 4   session 5 - st dev con 2016 - simplifying the setup and use of iot ...
Track 4 session 5 - st dev con 2016 - simplifying the setup and use of iot ...
 
NFC Development with Qt - v2.2.0 (5. November 2012)
NFC Development with Qt - v2.2.0 (5. November 2012)NFC Development with Qt - v2.2.0 (5. November 2012)
NFC Development with Qt - v2.2.0 (5. November 2012)
 
On Relaying NFC Payment Transactions using Android devices
On Relaying NFC Payment Transactions using Android devicesOn Relaying NFC Payment Transactions using Android devices
On Relaying NFC Payment Transactions using Android devices
 
Near field communication(NFC)
Near field communication(NFC)Near field communication(NFC)
Near field communication(NFC)
 
Near field communication and RFID - opening for new business
Near field communication and RFID - opening for new businessNear field communication and RFID - opening for new business
Near field communication and RFID - opening for new business
 
Near field communication
Near field communicationNear field communication
Near field communication
 
Nfc ppt
Nfc pptNfc ppt
Nfc ppt
 
NFC on Android - Near Field Communication
NFC on Android - Near Field CommunicationNFC on Android - Near Field Communication
NFC on Android - Near Field Communication
 
The User Experience of Near Field Communication
The User Experience of Near Field CommunicationThe User Experience of Near Field Communication
The User Experience of Near Field Communication
 
Tap into NFC Meetup - Boston
Tap into NFC Meetup  - Boston Tap into NFC Meetup  - Boston
Tap into NFC Meetup - Boston
 
Architecture and Development of NFC Applications
Architecture and Development of NFC ApplicationsArchitecture and Development of NFC Applications
Architecture and Development of NFC Applications
 
NEAR FIELD COMMUNICATION (NFC)
NEAR FIELD COMMUNICATION (NFC) NEAR FIELD COMMUNICATION (NFC)
NEAR FIELD COMMUNICATION (NFC)
 

Similaire à NFC In Mobile Commerce

e-wallet , The future of Cards and Money
e-wallet , The future of Cards and Moneye-wallet , The future of Cards and Money
e-wallet , The future of Cards and MoneyVikram Dahiya
 
NFC (Near Field Communication) by sandip murari
NFC (Near Field Communication) by sandip murariNFC (Near Field Communication) by sandip murari
NFC (Near Field Communication) by sandip murariSandip Murari
 
Emerging Technologies in Payment Industry
Emerging Technologies in Payment IndustryEmerging Technologies in Payment Industry
Emerging Technologies in Payment IndustryErfan Moradian
 
droidcon 2012: What's the Hack is NFC .., Hauke Meyn, NXP
droidcon 2012: What's the Hack is NFC .., Hauke Meyn, NXPdroidcon 2012: What's the Hack is NFC .., Hauke Meyn, NXP
droidcon 2012: What's the Hack is NFC .., Hauke Meyn, NXPDroidcon Berlin
 
Techpubs_NFC-TI100-R
Techpubs_NFC-TI100-RTechpubs_NFC-TI100-R
Techpubs_NFC-TI100-RJames Dickson
 
An Electronic Ticketing System based on Near Field Communication for Concerts...
An Electronic Ticketing System based on Near Field Communication for Concerts...An Electronic Ticketing System based on Near Field Communication for Concerts...
An Electronic Ticketing System based on Near Field Communication for Concerts...Hussain Shah
 
Emerging Payments: Understanding and Leveraging the Opportunities (Credit Uni...
Emerging Payments: Understanding and Leveraging the Opportunities (Credit Uni...Emerging Payments: Understanding and Leveraging the Opportunities (Credit Uni...
Emerging Payments: Understanding and Leveraging the Opportunities (Credit Uni...NAFCU Services Corporation
 
Near field communication
Near field communicationNear field communication
Near field communicationJwal Dakwala
 
Near Field Communication
Near Field CommunicationNear Field Communication
Near Field CommunicationSabiha M
 
Nearfieldcommunication 130807091143-phpapp02
Nearfieldcommunication 130807091143-phpapp02Nearfieldcommunication 130807091143-phpapp02
Nearfieldcommunication 130807091143-phpapp02student
 
Nearfieldcommunication 130807091143-phpapp02
Nearfieldcommunication 130807091143-phpapp02Nearfieldcommunication 130807091143-phpapp02
Nearfieldcommunication 130807091143-phpapp02student
 
Paper id 252014116
Paper id 252014116Paper id 252014116
Paper id 252014116IJRAT
 
Digital wallet (e-wallet)
Digital wallet  (e-wallet)Digital wallet  (e-wallet)
Digital wallet (e-wallet)Krishna Kumar
 
Demonetization in Indian Currency – Illegal Money - IoT: Effective Identifica...
Demonetization in Indian Currency – Illegal Money - IoT: Effective Identifica...Demonetization in Indian Currency – Illegal Money - IoT: Effective Identifica...
Demonetization in Indian Currency – Illegal Money - IoT: Effective Identifica...IRJET Journal
 
NFC and Shopping
NFC and ShoppingNFC and Shopping
NFC and ShoppingBBDO
 
Overview of Mobile Payment Systems
Overview of Mobile Payment SystemsOverview of Mobile Payment Systems
Overview of Mobile Payment SystemsAmit Naik
 

Similaire à NFC In Mobile Commerce (20)

e-wallet , The future of Cards and Money
e-wallet , The future of Cards and Moneye-wallet , The future of Cards and Money
e-wallet , The future of Cards and Money
 
Nfc
NfcNfc
Nfc
 
NFC (Near Field Communication) by sandip murari
NFC (Near Field Communication) by sandip murariNFC (Near Field Communication) by sandip murari
NFC (Near Field Communication) by sandip murari
 
Emerging Technologies in Payment Industry
Emerging Technologies in Payment IndustryEmerging Technologies in Payment Industry
Emerging Technologies in Payment Industry
 
droidcon 2012: What's the Hack is NFC .., Hauke Meyn, NXP
droidcon 2012: What's the Hack is NFC .., Hauke Meyn, NXPdroidcon 2012: What's the Hack is NFC .., Hauke Meyn, NXP
droidcon 2012: What's the Hack is NFC .., Hauke Meyn, NXP
 
Techpubs_NFC-TI100-R
Techpubs_NFC-TI100-RTechpubs_NFC-TI100-R
Techpubs_NFC-TI100-R
 
An Electronic Ticketing System based on Near Field Communication for Concerts...
An Electronic Ticketing System based on Near Field Communication for Concerts...An Electronic Ticketing System based on Near Field Communication for Concerts...
An Electronic Ticketing System based on Near Field Communication for Concerts...
 
White Paper NFC Security
White Paper NFC SecurityWhite Paper NFC Security
White Paper NFC Security
 
Nfc
NfcNfc
Nfc
 
Mobile payment
Mobile paymentMobile payment
Mobile payment
 
Emerging Payments: Understanding and Leveraging the Opportunities (Credit Uni...
Emerging Payments: Understanding and Leveraging the Opportunities (Credit Uni...Emerging Payments: Understanding and Leveraging the Opportunities (Credit Uni...
Emerging Payments: Understanding and Leveraging the Opportunities (Credit Uni...
 
Near field communication
Near field communicationNear field communication
Near field communication
 
Near Field Communication
Near Field CommunicationNear Field Communication
Near Field Communication
 
Nearfieldcommunication 130807091143-phpapp02
Nearfieldcommunication 130807091143-phpapp02Nearfieldcommunication 130807091143-phpapp02
Nearfieldcommunication 130807091143-phpapp02
 
Nearfieldcommunication 130807091143-phpapp02
Nearfieldcommunication 130807091143-phpapp02Nearfieldcommunication 130807091143-phpapp02
Nearfieldcommunication 130807091143-phpapp02
 
Paper id 252014116
Paper id 252014116Paper id 252014116
Paper id 252014116
 
Digital wallet (e-wallet)
Digital wallet  (e-wallet)Digital wallet  (e-wallet)
Digital wallet (e-wallet)
 
Demonetization in Indian Currency – Illegal Money - IoT: Effective Identifica...
Demonetization in Indian Currency – Illegal Money - IoT: Effective Identifica...Demonetization in Indian Currency – Illegal Money - IoT: Effective Identifica...
Demonetization in Indian Currency – Illegal Money - IoT: Effective Identifica...
 
NFC and Shopping
NFC and ShoppingNFC and Shopping
NFC and Shopping
 
Overview of Mobile Payment Systems
Overview of Mobile Payment SystemsOverview of Mobile Payment Systems
Overview of Mobile Payment Systems
 

Plus de Carlos Enrique Ortiz

Building and running a Data and AI-driven news-media organization(c enrique-o...
Building and running a Data and AI-driven news-media organization(c enrique-o...Building and running a Data and AI-driven news-media organization(c enrique-o...
Building and running a Data and AI-driven news-media organization(c enrique-o...Carlos Enrique Ortiz
 
Media publishing transformation in the digital era (digitalworks.ai nov2018)
Media publishing transformation in the digital era (digitalworks.ai nov2018)Media publishing transformation in the digital era (digitalworks.ai nov2018)
Media publishing transformation in the digital era (digitalworks.ai nov2018)Carlos Enrique Ortiz
 
Contextual Voice/Communications as an App or App Feature (on Android)
Contextual Voice/Communications as an App or App Feature (on Android)Contextual Voice/Communications as an App or App Feature (on Android)
Contextual Voice/Communications as an App or App Feature (on Android)Carlos Enrique Ortiz
 
Mobile Real-time Physical and Web Interactions
Mobile Real-time Physical and Web InteractionsMobile Real-time Physical and Web Interactions
Mobile Real-time Physical and Web InteractionsCarlos Enrique Ortiz
 
The Mobile Context and People-centric Mobile Computing
The Mobile Context and People-centric Mobile ComputingThe Mobile Context and People-centric Mobile Computing
The Mobile Context and People-centric Mobile ComputingCarlos Enrique Ortiz
 
Concepts And Technologies Behind Real-Time Demand Data - A Consumer, Mobile, ...
Concepts And Technologies Behind Real-Time Demand Data - A Consumer, Mobile, ...Concepts And Technologies Behind Real-Time Demand Data - A Consumer, Mobile, ...
Concepts And Technologies Behind Real-Time Demand Data - A Consumer, Mobile, ...Carlos Enrique Ortiz
 
Mobility, Context, Interactions and Data
Mobility, Context, Interactions and DataMobility, Context, Interactions and Data
Mobility, Context, Interactions and DataCarlos Enrique Ortiz
 

Plus de Carlos Enrique Ortiz (8)

Building and running a Data and AI-driven news-media organization(c enrique-o...
Building and running a Data and AI-driven news-media organization(c enrique-o...Building and running a Data and AI-driven news-media organization(c enrique-o...
Building and running a Data and AI-driven news-media organization(c enrique-o...
 
Media publishing transformation in the digital era (digitalworks.ai nov2018)
Media publishing transformation in the digital era (digitalworks.ai nov2018)Media publishing transformation in the digital era (digitalworks.ai nov2018)
Media publishing transformation in the digital era (digitalworks.ai nov2018)
 
Contextual Voice/Communications as an App or App Feature (on Android)
Contextual Voice/Communications as an App or App Feature (on Android)Contextual Voice/Communications as an App or App Feature (on Android)
Contextual Voice/Communications as an App or App Feature (on Android)
 
Mobile Real-time Physical and Web Interactions
Mobile Real-time Physical and Web InteractionsMobile Real-time Physical and Web Interactions
Mobile Real-time Physical and Web Interactions
 
The Mobile Context and People-centric Mobile Computing
The Mobile Context and People-centric Mobile ComputingThe Mobile Context and People-centric Mobile Computing
The Mobile Context and People-centric Mobile Computing
 
Concepts And Technologies Behind Real-Time Demand Data - A Consumer, Mobile, ...
Concepts And Technologies Behind Real-Time Demand Data - A Consumer, Mobile, ...Concepts And Technologies Behind Real-Time Demand Data - A Consumer, Mobile, ...
Concepts And Technologies Behind Real-Time Demand Data - A Consumer, Mobile, ...
 
SIM Card Overview
SIM Card OverviewSIM Card Overview
SIM Card Overview
 
Mobility, Context, Interactions and Data
Mobility, Context, Interactions and DataMobility, Context, Interactions and Data
Mobility, Context, Interactions and Data
 

Dernier

UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6DianaGray10
 
PicPay - GenAI Finance Assistant - ChatGPT for Customer Service
PicPay - GenAI Finance Assistant - ChatGPT for Customer ServicePicPay - GenAI Finance Assistant - ChatGPT for Customer Service
PicPay - GenAI Finance Assistant - ChatGPT for Customer ServiceRenan Moreira de Oliveira
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Websitedgelyza
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding TeamAdam Moalla
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7DianaGray10
 
20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdf
20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdf
20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdfJamie (Taka) Wang
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAshyamraj55
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfAijun Zhang
 
Things you didn't know you can use in your Salesforce
Things you didn't know you can use in your SalesforceThings you didn't know you can use in your Salesforce
Things you didn't know you can use in your SalesforceMartin Humpolec
 
Digital magic. A small project for controlling smart light bulbs.
Digital magic. A small project for controlling smart light bulbs.Digital magic. A small project for controlling smart light bulbs.
Digital magic. A small project for controlling smart light bulbs.francesco barbera
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...DianaGray10
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URLRuncy Oommen
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Commit University
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioChristian Posta
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
Babel Compiler - Transforming JavaScript for All Browsers.pptx
Babel Compiler - Transforming JavaScript for All Browsers.pptxBabel Compiler - Transforming JavaScript for All Browsers.pptx
Babel Compiler - Transforming JavaScript for All Browsers.pptxYounusS2
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024D Cloud Solutions
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfDianaGray10
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxMatsuo Lab
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1DianaGray10
 

Dernier (20)

UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
 
PicPay - GenAI Finance Assistant - ChatGPT for Customer Service
PicPay - GenAI Finance Assistant - ChatGPT for Customer ServicePicPay - GenAI Finance Assistant - ChatGPT for Customer Service
PicPay - GenAI Finance Assistant - ChatGPT for Customer Service
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7
 
20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdf
20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdf
20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdf
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdf
 
Things you didn't know you can use in your Salesforce
Things you didn't know you can use in your SalesforceThings you didn't know you can use in your Salesforce
Things you didn't know you can use in your Salesforce
 
Digital magic. A small project for controlling smart light bulbs.
Digital magic. A small project for controlling smart light bulbs.Digital magic. A small project for controlling smart light bulbs.
Digital magic. A small project for controlling smart light bulbs.
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URL
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and Istio
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
Babel Compiler - Transforming JavaScript for All Browsers.pptx
Babel Compiler - Transforming JavaScript for All Browsers.pptxBabel Compiler - Transforming JavaScript for All Browsers.pptx
Babel Compiler - Transforming JavaScript for All Browsers.pptx
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptx
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1
 

NFC In Mobile Commerce

  • 1. NFC IN MOBILE COMMERCE and Information Ubiquity Use Cases, Technologies, APIs C. Enrique Ortiz January, 2008 C. Enrique Ortiz Email: cenrique@ortiz.name Phone: +1-512-635-4225 Skype: c.enrique.ortiz Website: http://www.CEnriqueOrtiz.com Weblog: http://weblog.CEnriqueOrtiz.com MobileMonday Austin: http://www.MobileMondayAustin.org
  • 2. A little bit about myself • Long time mobile Java developer • A regular writer and speaker on mobile technology and blogger, and contributor to Carnival of the Mobilists, Sun Mobility site, other • Founder of MobileMonday Austin • Founder and CTO at eZee inc, a mobile marketing and media platform and solutions company • Owner and Principal at Artemis Wireless Werks, a provider of mobile strategy and development services
  • 3. Agenda •Information Ubiquity •Physical Interactions, Application Triggers and Use-cases •Background on NFC •NFC Code Example, and Pointers
  • 4. Anything and Everything is Data Everything in our wallets is just data; the paper and plastic that we use for our driving license and ID cards, our credit and debit cards, our receipts, coupons, tickets and even our business cards. …and more importantly, anything that is data can be carried on a mobile phone. *Adapted from Mike Elgan, ComputerWorld, The Raw Feed
  • 5. Information Ubiquity Physical Interactions, Application Triggers, Physical Browsing • Information everywhere • Addressable (and thus identifiable) information, or workflows for that matter • Think physical interactions, application triggers and physical browsing – A number to call, a URL, a short-code, barcodes, radio tags • On books, magazines, posters, soda cans, billboards – For advertisement, for authentication, for control, for quick action, access to information – Some interactions are more manual than others • The Mobile Handset is at the center of this ubiquity
  • 6. Information Ubiquity Examples of Physical Interactions and Application Triggers Visual Tags Short Codes Proximity : Ticketing, payments, other Radio Tags
  • 7. Information Ubiquity Interactive “Smart” Posters Physical Interactions: Interactive Posters provide the perfect means for service initiation (application trigger). A poster, which could be a label, an advertisement or a plaque at the store aisle or a billboard, displays information of Text “smart” to 2ezee interest to consumers… : …and how to interact with it.
  • 8. Example of Physical Interactions Proximity (NFC)-based payments External reader connected to the POS NFC Mobile Handset with Security Element People will continue to use cash, and credit cards, and over time, the mobile phone Photo credit: Philips Arena. At Philips Arena in Atlanta, Georgia, USA, ticket holders with NFC-enabled cellular phones make contact-less payments at concession stands.
  • 9. Mobile Commerce Concerns Worry about security 39% 40% Costs too much for airtime 22% 27% Don't trust that transaction will be 18% completed 24% My phone doesn't have wireless 13% shopping capability. 17% Takes too long 12% 16% Unaware of this option 12% 14% Complicated navigation 9% 10% Not enough information on the sites to 5% make an informed 8% Sites I want are not available 1% 3% Items I want are not available 1% Q4 2006 3% Q2 2006 Source: Telephia
  • 10. Most likely short-term use-cases What’s your opinion and why? • Payments? • Interactive / “Smart” posters? • For Authentication? • For Home Control? • Marketing and Advertisement • Other?
  • 12. What is NFC? • A short-range radio technology • Operates at 13.56 MHz • Transfers data at up to 424 KBits/second • Activates when two NFC-compatible devices are brought within ~four centimeters • Transmission range is so short, it is inherently “secure” • NFC is still early stages, very young
  • 13. NFC Compared to other short range radio technologies Source: The NFC Forum
  • 14. NFC Standards • ISO 14443 Type A and 14443 Type B standards + FeliCa – ISO 14443 is a four-part international standard for contact-less smart cards operating at 13.56 MHz in close proximity with a reader antenna • ISO 18092 – Defines communication modes for NFC Interface and Protocol
  • 15. NFC Communication Modes (Not supported by JSR 257 v1.0) Secure Connection Source: The NFC Forum
  • 16. Terminology • NDEF - NFC Data Exchange Format – Such as Smart Posters, URI Records • RTD - Record Type Definition – An NFC-specific record type and type name which may be carried in an NDEF record • NDEF message – Basic message construct defined by this specification. An NDEF message contains one or more NDEF records • NDEF record – Contains a payload described by a type, a length, and an optional identifier • NDEF payload – The application data carried within an NDEF record
  • 17. Contactless API JSR 257 Background
  • 18. Anatomy of a Contactless Java Application (MIDlet) • Java Runtime – Application, JSR 257 • RFID, NFC • Antenna • Secure Elements • External elements
  • 19. External Elements • External Readers – POS readers, MasterCard PayPass, American Express Way, Visa – Ticketing systems • External Tags – NFC, RFID, Visual • External Smartcards
  • 20. Secure Element (SE) • Internal vs. External Secure Elements – Smart Cards such as Java Cards • MIDlets can access internal SE via SATSA • MIDlets can access external SE via JSR 257 or SATSA • External readers access internal SE directly via RFID (Card Emulation mode)
  • 21. Typical Elements of a JavaCard Application (mapped to NFC) Internal On Contact-less (NFC) Security phones the External Element External left-side could be an Reader Smartcard internal reader, the MIDlet MIDlet itself, or and external reader (via NFC Card Emulation Mode). The right-side, the “card”, could be an internal SE accessible via SATSA, or external card accessible via JSR 257. All communication using APDUs. http://CEnriqueOrtiz.com
  • 22. NFC Programming Using (JSR-257) Java Contactless Communication API • Discover and exchange data with contact-less targets – NDEF tags – RFID tags – External smart cards • Support for visual tags
  • 23. Contactless Communication API Java Packages 1. javax.microedition.contactless (Mandatory) • target discovery and classes common to all targets 2. javax.microedition.contactless.ndef • communicate with tags (NDEF formatted data) 3. javax.microedition.contactless.rf • communicate with RFID (no NDEF formatted data) 4. javax.microedition.contactless.sc • communication with external smart cards 5. javax.microedition.contactless.visual • reading and generating visual tags
  • 24. API Relationships From JSR 257 Specification
  • 27. Contactless API JSR 257 Code Examples
  • 28. Discovering and Listening for Supported Targets
  • 29. Discovering and Listening for Supported Targets • Import, Implement Interface – public interface TargetListener – void targetDetected(TargetProperties[] properties) • Discover supported targets by calling: – DiscoveryManager.getSupportedTargetTypes(); • Add listeners for targets of interest: – dm.addTargetListener(listener, TargetType);
  • 30. Discovering and Listening for Supported Targets public void registerTargetListeners(TargetListener targetListener) { // Discover supported types TargetType[] tp = DiscoveryManager.getSupportedTargetTypes(); try { // Register listener for each of the supported types for (int i=0; i<tp.length; i++) { if (tp[i].equals((TargetType.ISO14443_CARD))) { dm.addTargetListener( targetListener, TargetType.ISO14443_CARD); } else... : : } } } catch (Exception e) { // ... } }
  • 31. Detecting and Connecting to Target • Method targetDetected is invoked by the platform, passing a TargetProperties • Get Target’s URL • Connect to Target • Exchange Data • Process incoming message according to message attributes • Close connection
  • 32. Detecting and Connecting to Target public void targetDetected(TargetProperties[] prop) { try { // Select the first target TargetProperties target = prop[0]; // Get URL String url = target.getUrl(); // Open NDEFTagConnection to the target NDEFTagConnection conn = ( NDEFTagConnection) Connector.open(url); // Read Message NDEFMessage m = conn.readNDEF(); NDEFRecord[] r = m.getRecords(); // Process message / records, modify record for writing out : // Write message out, close connectin conn.writeNDEF(m); conn.close(); } catch (Exception e) { } }
  • 33. Detecting and Connecting to Target (2) public void targetDetected(TargetProperties[] prop) { for (int i = 0; i < prop.length; i++) { // Get UID String uid = prop[i].getUid(); // Get Connection Classes Class[] classes = prop[i].getConnectionNames(); // Get Target Types TargetType[] types = prop[i].getTargetTypes(); // Connect to each Target String url = prop[i].getUrl(); try { // Open NDEFTagConnection to the target NDEFTagConnection conn = (NDEFTagConnection) Connector.open(url); : : } catch (IOException e) { // ... } }
  • 34. Listening for NDEF-specific Targets (Read-only, no connection possible)
  • 35. Listening for NDEF Targets (Read-only, no connection) • Import, Implement Interface – public interface NDEFRecordListener – void recordDetected(NDEFMessage ndefMessage) • Create Record Type, following naming rules • Add listener – dm.addNDEFRecordListener(listener, recordType)
  • 36. Listening for NDEF Targets (Read-only, no connection) // Register NDEF_TAG target (smart poster) to discover try { NDEFRecordType spNrt = new NDEFRecordType( NDEFRecordType.NFC_FORUM_RTD, quot;urn:nfc:wkt:Spquot;); dm.addNDEFRecordListener(this, spNrt); } catch (IllegalStateException e) { : } catch (Exception e) { : } From the JSR 257 Specification: If the format is EMPTY or UNKNOWN the name must be null. The record type names of NFC_FORUM_RTD and EXTERNAL_RTD record types must follow the naming rules defined in the NFC Forum RTD specification. The record type name must only contain characters in the US_ASCII character set.
  • 37. Processing NDEFMessages • Method recordDetected is invoked by the platform, passing a NDEFMessage • Get record and record type and other information from the message • Process the message according to message attributes
  • 38. Processing NDEFMessages public void recordDetected(NDEFMessage ndefMessage) { // Get records and record types from NDEF Message NDEFRecordType[] rTypes = ndefMessage.getRecordTypes(); NDEFRecord[] records = ndefMessage.getRecords(); for (int i=0; i<records.length; i++) { // Handle data, based on type of NDEFMessage NDEFRecordType t = recordTypes[i]; NDEFRecord r = records[i]; byte[] id = r.getId(); long len = r.getPayloadLength(); byte[] p = r.getPayload(); // Process the record // ... } }
  • 39. Get Card Emulation Activity Notifications Applications are notified, and don’t participate on the transaction per-se
  • 40. Register for Emulation Activity Notifications • Import, Implement – public interface TransactionListener – void externalReaderDetected(byte slot) • Add listener – dm.addTransactionListener(this);
  • 41. Register for Emulation Activity Notifications // Register Transaction Listener try { dm.addTransactionListener(this); } catch (IllegalStateException e) { ... } catch (Exception e) { ... }
  • 42. Process Transaction Notifications public void externalReaderDetected(byte slot) { // Based on slot number above, using SATSA connect to // applet, query applet, update screen, etc. ... } SATSA and JavaCard is outside the scope of this presentation
  • 43. Using PushRegistry to Launch NFC applications Automatically Automatic Application Launch is key to success (acceptance) of NFC apps
  • 44. PushRegistry to Launch NFC application • Static vs. Dynamic Registrations – Static via JAD or Manifest files – MIDlet-Push-<n> – PushRegistry.registerConnection(...) – ConnectionURL, MIDletClassName, AllowedSender • Dynamic programmatically via PushRegistry API – listConnections(), registerConnection(), unregisterConnection() – Once activated MIDlet must register NFC target listeners to receive notifications • URL must follow proper naming, examples – Tag containing Smart Poster RTD is discovered: • ndef:rtd?name=urn:nfc:wkt:Sp – Tag containing an URL is discovered: • ndef:mime?name=text/x-uri – For SE transaction activity notifications: • secure-element:?aid=<aid_string>
  • 45. Security Methods Protected by Permissions Love/Hate these things
  • 46. Security Methods Protected by Permissions • DiscoveryManager.getInstance() • Write NDEFMessage message • Opening NDEFTagConnection • Opening PlainTagConnection • Opening ISO14443Connection • Opening VisualTagConnection
  • 47. In Conclusion • Information Ubiquity, and Physical Interactions are two very important concepts – Short-codes, URLs, Visual tags, Radio tags • JSR 257 Contactless Communication API allows for new types of mobile applications, and new types of physical interactions based on NFC, RFID, Visual tags, and Smartcards • Get familiar with JavaCard programming, and SATSA, security elements and smartcards continue to be important
  • 48. Links of Interest • Contactless API JSR 257 Specification • SATSA JSR 177 Specification • NFC Forum • Nokia 6131 NFC FAQ • Nokia 6131 NFC SDK • Mobile Java Articles at Enrique’s blog – http://weblog.cenriqueortiz.com/
  • 49. And it has begun… • Standards have been defined • Handsets will start to appear this year in the U.S. • Carriers are paying attention • Trials are happening • New Companies are being formed… • Is about convenience • People are taking notice…
  • 50. Thank You C. Enrique Ortiz Email: cenrique@ortiz.name Phone: 512-635-4225 Skype: c.enrique.ortiz Website: http://www.CEnriqueOrtiz.com Weblog: http://weblog.CEnriqueOrtiz.com MobileMonday Austin: http://www.MobileMondayAustin.org
  • 52. Nokia 6131 NFC Java Handset Nokia 2nd (current) Generation NFC Handset, the 6131 NFC:
  • 53. NFC Demo Video USING THE NOKIA 6131 NFC HANDSET