Authors Joël Vogt (Research Engineer) & Dominique Guinard (Co-founder and CTO)


The announcement at WWDC17 in June that the Camera app in the latest version of iOS, version 11, would be able to read QR codes out of the box got our attention. The main building blocks of the EVRYTHNG cloud, THNGs and Products, come with a QR code by default. This meant that soon over a billion devices would be able to interact with THNGs and products simply by reading a QR code.  Apple also announced that it would open the iOS 11 NFC API and improvements to their Vision framework, which provides native barcode reading capabilities. Why are these new iOS 11 features interesting for our customers? That’s what this blog is about! Let’s start by comparing barcode reading to iOS, Android and our own patented scanning Web-based SDK and service. Then, we’ll explain why native QR code support and CoreNFC are big news for us and finally, we’ll give a hands-on example to demonstrate how the EVRYTHNG cloud can help you to leverage Apple’s latest AutoID features.

Barcode Reading SDKs: EVRYTHNG, Apple, and Google

If the object you are tagging is likely to be part of an ongoing user engagement, then building a custom app makes sense. Users will download an app that addresses a recurring need. The question is then, should it be a native app or a Web app. And should the barcode be decoded locally or in the cloud? As a rule of thumb, Web is key for short living interactions with fast moving consumer goods. Native, on the other hand, is better for brands that already have a strong relationship with their customers inside an app or for scanning inside the supply chain.

If the answer is a Web app, the best way to go is using the cloud, for example by using evrythng-scan.js. A native app could also use the cloud, but is probably better off decoding barcodes locally. Local decoding is fast, requires no mobile data and is more accurate than using a cloud-based service. On iOS, both Apple Vision and Google’s Mobile Vision framework can help. We compare barcode reading solutions by Google, Apple and EVRYTHNG in the table below. In any case, the EVRYTHNG cloud makes it easy to encode a THNG or product in any kind of barcode through identifiers.

Local Web
Symbology Apple Vision Framework Google Mobile Vision EVRYTHNG Scan
QR Code x x x
EAN-13 x x x
EAN-8 x x x
UPC-A x x x
UPC-E x x x
Code-39 x x x
Code-93 x x x
Code-128 x x x
ITF-14 x x x
Codabar x x
Data Matrix x x x
PDF-417 x x
Aztec x x
2OF-5 x
EAN-2 x
EAN-5 x
DataBar x

How does built-in QR code recognition work and why could this be a game changer?

What about IoT applications for one-off, spontaneous interactions and short-term engagements? We found that the need to first download a dedicated app acted as a deterrent to many users, which is why we created SCANTHNG, a world-first commercial-grade service that enabled Web apps to read barcodes. Apple’s announcement goes one step further. It signals a paradigm shift, putting products at the center of the product-driven experience and the relationship between brands and their consumers. Consumers can now directly interact with a product through the iOS 11 camera app and the QR code on the product, doing away with custom apps.

The way the iOS 11 camera app works is by pointing the phone at a QR code. When the app detects a QR code, it will display a dropdown notification with a preview of the QR code content. Pressing the notification will automatically open the URI in a new app. iOS uses URI schemes to decide which app is used. For example, a URL of a song opens iTunes, facetime:// will call someone on FaceTime, URIs with no app assigned and unstructured text will be opened in Safari. A simple QR code provides the means to open a local app through a URI. This also works with ‘redirections’. The URL of a THNG can be resolved dynamically based on the type of product scanned and the user’s context. This is a very powerful feature of the EVRYTHNG cloud to dynamically steer native user experiences from the cloud through context-aware redirections.

NFC support in iOS 11

Apple is also finally opening the NFC API to developers with the release of iOS 11.  Access to the NFC framework, called CoreNFC, is limited. It only supports recent iPhone models (7 or newer) and it can only read tags. But nevertheless it is a potential game changer, as it finally allows the use of NFC tags in IoT applications that need to support both Android and iOS. An NFC tag simply stores a URI, and from that perspective it does the same thing as a QR code. But NFC tags are more sophisticated and can be used in security-related domains, such as making tags tamper-proof in counterfeit prevention use cases. Barcodes would not provide the same level of security. And NFC tags do not affect the design of a product, since no line of sight is required. From a THNG’s perspective, there is no difference between a QR code and an NFC tag. It’s just a URL of a THNG, which is the entry point of a consumer engagement or an entire business process. Let’s move on to a concrete example.

URI-driven native product experience controlled from the Web

Let’s see how an NFC tag on a wine bottle and the EVRYTHNG platform could help building a consumer-facing application to prevent counterfeit or products being sold on the gray market.  The process, as shown above, consists of five steps.

  1. Each bottle has an NFC tag, which contains the URL of its THNG. The THNG is an Active Digital Identity™ and contains information about its destination. The THNG will also record every interaction with its environment throughout its lifecycle. From the moment the bottle is manufactured through to when a consumer buys it and then recycles the bottle. All this information is stored in the cloud.
  2. Before opening the bottle, a consumer scans the NFC tag, which opens the URL on Safari.
  3. The first point of contact in the EVRYTHNG platform is the Redirector. The Redirector receives the user’s context and the product’s state and model.  Then it will execute a predefined set of rules and return a URI, which it dynamically generated.
  4. For example, a consumer buys and scans a wine bottle in London which was intended to be retailed in France. The Redirector will return a Web app for the consumer experience, such as tasting notes or promotions available nearby. The product is transformed into a direct channel to the consumer.
  5. At the same time, real time data is collected in the cloud, triggering an automated alert to supply chain staff of this gray market incidence, which can then be investigated further.

The EVRYTHNG platform provides the technologies that make it easy to host, manage and analyse THNGs that are context-aware and stateful. This is how the workflow depicted above was controlled in the cloud, although from the user’s perspective, it was mainly a native app experience.