# NFC V1 vs V2 Comparison

In V1, NFC Scan offers a basic chip reading experience with minimal user guidance, no dedicated intro screen with the Incode header, limited scan state feedback, and restricted customization options. The scanning flow runs with a simple bottom sheet and generic status labels.

In V2, NFC Scan delivers a significantly improved experience with a dedicated tutorial screen, an NFC chip presence check, a cleaner bottom sheet design with bolder typography, real-time progress feedback through a green progress bar, structured error handling with a retry carousel, and full alignment with the token-based design system — resulting in a clearer, more guided, and more brandable flow.


<Image src="https://files.readme.io/8fc7e2c147c802ec15e3a8ac0d55662f1e16756eda8bf930073d7f103f355596-nfcv1.png" align="center" caption="V1 is a basic NFC scanning experience with a simple bottom sheet, limited guidance, and no tokenized customization." />


<br />


<Image src="https://files.readme.io/6fa57ed3ac0fa00de629354602a5cb6022590133bbd44a6bbb55123c141b8030-nfcv2.png" align="center" caption="V2 delivers a refined scanning experience with a dedicated tutorial, real-time progress feedback, structured error states, and full token-based customization." />


<br />

***

<br />

## Feature Comparison

Functional capabilities of the module (objective features only; no UX or performance differences).

| Capabilities               | V1 | V2 | Notes                                                                                                     |
| -------------------------- | -- | -- | --------------------------------------------------------------------------------------------------------- |
| NFC chip scanning          | ✅  | ✅  | Both versions read and extract data from NFC-enabled passport chips.                                      |
| NFC chip presence check    | ❌  | ✅  | V2 includes an optional screen to confirm the document supports NFC before initiating the scan.           |
| Retry flow                 | ✅  | ✅  | Both versions allow the user to retry after a failed scan attempt.                                        |
| Common issues screen       | ❌  | ✅  | V2 includes a dedicated help screen listing the most frequent causes of scan failure.                     |
| Error states               | ✅  | ✅  | Both versions handle general error cases the user may encounter.                                          |
| Dark mode support          | ✅  | ✅  | Both versions support dark and light display modes.                                                       |
| Customization options      | ❌  | ✅  | V1 provides limited customization, while V2 allows full control over text, colors, buttons, and behavior. |
| Documentation completeness | ❌  | ✅  | V2 provides complete, standardized documentation coverage.                                                |

<br />

***

<br />

## Behavior Differences

How the module behaves during runtime.

| Behavior             | V1                                                                                                  | V2                                                                                                                        | Notes                                                                                                                 |
| -------------------- | --------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- |
| Tutorial behavior    | Basic intro screen with a tilted passport illustration and back/close navigation                    | Dedicated intro screen with an upright passport illustration, Incode header, and a single "Start scanning" CTA            | V2 is more focused and directs the user's attention toward the scanning instructions with a cleaner visual hierarchy. |
| Scan state feedback  | Simple bottom sheet with "Ready to scan" and "Hold still.." labels and a dot-row progress indicator | Bottom sheet with bold "Ready to scan" heading, descriptive subtitle, and a green linear progress bar at the top          | V2 actively communicates scanning progress so users understand what the module is doing at each moment.               |
| Success confirmation | "Document chip scan success" with a green checkmark                                                 | "Identity successfully verified" with a green checkmark badge                                                             | V2 language reflects the full verification outcome rather than just the chip read result.                             |
| Error handling       | Generic error screen                                                                                | Structured "Let's try again" screen with a swipeable tip carousel, Help CTA linking to Common Issues, and a Try again CTA | V2 gives users specific, actionable guidance on what went wrong and how to fix it.                                    |
| Navigation controls  | Back arrow and X close button in the header                                                         | No navigation chrome; Incode header only                                                                                  | V2 removes distracting navigation elements to keep the user focused on completing the scan.                           |
| State transitions    | Default transitions                                                                                 | Specifically designed screen-by-screen transitions for smoothness                                                         | V2 includes transition guidelines as part of the module documentation package.                                        |

<br />

***

## **Customization Overview**

Customization in V2 is significantly simpler and more consistent across modules.


<Image src="https://files.readme.io/2a912b262ef8d5b993c7474b0ed47c6f3e913cc1c37612430b12e600ec5496ae-ScreenRecording2026-06-15at13.43.04-ezgif.com-video-to-gif-converter_1.gif" align="center" caption="Customizing the experience to match your brand is simpler in V2" />


<br />

Instead of having isolated configuration options per screen or component, V2 uses a unified token-based system that allows developers to control visuals, behaviors, and experience patterns with fewer parameters and predictable outcomes.

This means:

- Less engineering work to override UI elements
- Consistent branding across all NFC Scan screens
- Predictable behavior when changing settings
- Reduced risk of breaking flows
- Clear separation between visual tokens and experience configuration

V2 centralizes all customization options under a single structure, so developers always know where to look and what they can modify. This includes button styles, progress bar color, bottom sheet typography, instructional text, error message styling, and the "Verified by Incode" footer — making it straightforward to align the module with your brand without affecting core chip reading and verification logic.

<br />

<br />
