Comment nous avons optimisé BlinkID, de l'intégration à l'expérience utilisateur

Last updated

Depuis 2013, BlinkID facilite et accélère la tâche fastidieuse de la numérisation et de l'extraction des données des pièces d'identité pour des millions de personnes à travers le monde. Qu'il s'agisse de créer un compte bancaire en ligne, de répondre à une demande de vérification d'âge ou d'effectuer un paiement entre particuliers, notre solution de numérisation et d'extraction de données des pièces d'identité, optimisée par l'IA, a supprimé la saisie manuelle, tout en permettant à nos clients et à leurs utilisateurs de vérifier des informations essentielles avec précision et en toute sécurité. 

La réussite de BlinkID sur le marché nous a permis de numériser plus de 12 milliards de pièces d’identité au cours des 10 dernières années ; pourtant, nous cherchons sans cesse à nous améliorer, tant pour les développeurs qui intègrent notre produit que pour les utilisateurs finaux qui utilisent notre interface. Notre dernière série de mises à jour logicielles vise à répondre aux besoins de ces deux parties prenantes essentielles, tout en proposant de nouvelles fonctionnalités qui élargissent notre champ d'action et renforcent notre capacité à déployer BlinkID à l'échelle mondiale. 

Cela étant dit, faisons un tour d'horizon des dernières nouveautés de BlinkID. Nous allons également jeter un œil en coulisses à certaines des mises à jour les plus techniques, afin de démontrer notre engagement à offrir une expérience développeur hors pair. 

Quelles sont les nouveautés de BlinkID ?

Notre dernière mise à jour de BlinkID inclut de nouvelles fonctionnalités passionnantes qui vous permettront d'optimiser encore davantage votre processus de numérisation et d'extraction des documents d'identité. Qu'il s'agisse de modèles d'apprentissage automatique nouveaux et améliorés pour l'extraction de données, d'une numérisation optimisée des codes-barres ou encore d'une interface et de séquences d'animation remaniées, BlinkID continue d'innover en accordant la priorité à l'expérience des développeurs et des utilisateurs.

Pour nos marchés internationaux, l'ajout des alphabets arabe et cyrillique élargit encore notre liste de documents pris en charge, tout en permettant la prise en charge de plusieurs alphabets. Cela signifie que nous pouvons désormais extraire des données à partir de pièces d'identité comportant à la fois des champs en alphabet latin (par exemple, en anglais ou en espagnol) et des champs en arabe ou en cyrillique.

Vous souhaitez en savoir plus ?
Contactez-nous dès aujourd'hui pour échanger avec un expert Microblink en matière de fraude et d'identité

Nous avons également amélioré la précision de la lecture de tous les documents d'identité comportant un code-barres PDF417 ou d'un autre type (par exemple, le Code 39), ce qui a permis de réduire encore de 20 % les taux d'erreur. Une technologie de lecture plus performante garantit des données encore plus nettes et de meilleure qualité pour chaque pièce d'identité traitée par notre logiciel. À cette fin, nous avons amélioré nos scores de précision grâce à des optimisations apportées à nos modèles OCR et de post-traitement. 

Nous avons également mis à jour notre fonctionnalité d'anonymisation des champs, qui permet aux clients de masquer certaines parties d'un document d'identité (texte caviardé ou images recadrées), en y ajoutant notamment une anonymisation des codes QR figurant sur les cartes d'identité néerlandaises, par exemple, afin de respecter la législation locale en matière de protection de la vie privée.

Au-delà de l'extension de nos fonctionnalités de base en matière de numérisation de documents, que ce soit grâce à la prise en charge de nouveaux scripts ou à une précision accrue, nous avons également amélioré l'utilisation de BlinkID, tant au niveau du backend que du frontend. 

Moins de code, moins de casse-tête

Que vous utilisiez une application mobile (iOS, Android ou multiplateforme), un logiciel de bureau ou d’autres services Web (hébergés en interne ou dans le cloud), BlinkID s’intègre facilement à votre plateforme. À quel point ? En moyenne, il faut moins d’une journée à nos clients pour mettre en place BlinkID et effectuer avec succès leur premier scan.

// Code needed to start the scan
class MainActivity : AppCompatActivity() {

  override fun onCreate(savedInstanceState: Bundle?) {
      super.onCreate(savedInstanceState)
      setContentView(R.layout.activity_main)
  }

  fun onScanButtonClick(view: View) {
      resultLauncher.launch()
  }

  private val resultLauncher = registerForActivityResult(TwoSideDocumentScan()) { twoSideScanResult: TwoSideScanResult ->
    // Do something with results
  }
}
/** Code needed to start the scan */
@IBAction func didTapCustomUI(_ sender: Any) {
  
  /** Create recognizer view controller with wanted overlay view controller */
  guard let recognizerRunnerViewController: UIViewController = MBViewControllerFactory.recognizerRunnerViewController(withResult: { result in
    /** Handle results */
  }, closeButtonTapped: {
    /** Handle close event */
  }) else {
    return
  }

  /** Present the recognizer runner view controller */
  self.present(recognizerRunnerViewController, animated: true, completion: nil)
}
<!-- Simplify integration by using our UI component -->
<blinkid-in-browser license-key="..."></blinkid-in-browser>

<script type="text/javascript">
  const blinkId = document.querySelector("blinkid-in-browser");

  // Get results on every successful document scan
  blinkId.addEventListener(
    "scanSuccess",
    (ev) => console.log("Extracted information", ev.detail)
  );
</script>
# Run docker image
docker run -p 8080:8080 -e "LICENSEE=..." -e "LICENSE_KEY=..." -v /etc/machine-id:/etc/machine-id microblink/api

# Scan document
curl -X POST localhost:8080/blinkid-multi-side \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -d '{ "imageFront": { "imageUrl": "..." }, "imageBack": { "imageUrl": "..." } }'

Désormais, la numérisation des pièces d’identité de base est encore plus simple pour les nouveaux utilisateurs, puisque nous avons réduit le nombre de lignes de code nécessaires au déploiement de BlinkID à une seule ligne. Cette nouvelle option est disponible dans nos SDK mobiles iOS et Android. Elle est destinée aux cas d’utilisation les plus courants (à savoir la numérisation des deux faces d’un document) et permet aux développeurs d’intégrer BlinkID aussi rapidement que possible.

Notification des erreurs en temps réel

La moitié du chemin vers la mise en place d'une solution de numérisation de pièces d'identité efficace consiste à savoir ce qui se passe côté utilisateur. Même avec une interface fluide, les utilisateurs peuvent rencontrer des difficultés, comme le fait de ne pas effectuer correctement une étape obligatoire (par exemple, en tenant leur pièce d'identité trop loin de la caméra), ce qui peut entraîner des erreurs imprévues ou inexpliquées. 

Afin d'offrir une expérience développeur véritablement exceptionnelle, BlinkID envoie désormais des messages d'erreur encore plus détaillés concernant l'activité des utilisateurs finaux, ce qui permet aux développeurs de mieux déterminer si les lectures doivent être répétées ou validées. (Par exemple, si un utilisateur final ne rapproche pas sa carte de la caméra et que sa session expire, le développeur recevra ces informations spécifiques sur le backend.) Cette mise à jour fonctionnalité a été directement inspirée par les retours des développeurs.

Une interface plus informative

L'une de nos principales priorités chez BlinkID a toujours été de donner la priorité à l'expérience utilisateur. C'est pourquoi notre équipe produit travaille en étroite collaboration avec nos concepteurs de produits, en menant des tests utilisateurs ainsi que des études primaires et secondaires, avec pour objectif principal de garantir la « réussite dès le premier scan ». 

Pour y parvenir, nous nous sommes attachés à mettre en place une interface utilisateur et un réseau d'assistance faciles à utiliser, ce qui se traduit par une expérience utilisateur optimisée. Dans le cadre de notre dernière mise à jour, nous proposons désormais des instructions simples, étape par étape, ainsi que des retours d'information en temps réel améliorés tout au long du parcours utilisateur, via un tutoriel d'introduction et des fenêtres d'aide sous forme d'infobulles, afin d'aider les utilisateurs à mener à bien leur analyse.

Fonctionnalité de communication entre appareils

Nous sommes conscients que certains aspects du comportement des utilisateurs échappent au contrôle d’une interface, comme le type d’appareils dont ils disposent. Par exemple, les personnes qui utilisent BlinkID via un navigateur (que ce soit sur un ordinateur de bureau ou un ordinateur portable) ne disposent pas nécessairement d’une caméra de la même qualité que celle d’un smartphone dernier cri. 

Afin d'éviter une mauvaise qualité d'image, les numérisations répétées et les difficultés rencontrées par les utilisateurs, nous allons bientôt mettre en place une fonctionnalité permettant de passer d'un appareil à l'autre. Désormais, les utilisateurs qui se connectent via un navigateur pourront basculer vers leur téléphone doté d'un appareil photo pour obtenir une meilleure qualité d'image, puis revenir à leur appareil d'origine pour terminer la procédure d'inscription, le tout sans aucune interruption du processus.

Fonctionnalités de personnalisation

La plupart de nos clients mettent en œuvre notre solution de numérisation de pièces d'identité telle quelle. Toutefois, pour ceux qui souhaitent modifier le parcours utilisateur ou en créer un à partir de zéro, nous proposons également plusieurs options de personnalisation permettant de créer une expérience en marque blanche en un clin d'œil, allant jusqu'aux variations de police, de couleur ou d'autres éléments graphiques.

// An example on how to start the scan with customized UI
class MainActivity : AppCompatActivity() {

    private lateinit var recognizer: BlinkIdMultiSideRecognizer
    private lateinit var recognizerBundle: RecognizerBundle

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        recognizer = BlinkIdMultiSideRecognizer()
        recognizerBundle = RecognizerBundle(recognizer)
    }

    fun onScanButtonClick(view: View?) {
        // Create UI with default settings
        val uiSettings = BlinkIdUISettings(recognizerBundle)

        // Hide introduction dialog
        uiSettings.setShowIntroductionDialog(false)

        // Start scan activity based on UI settings
        blinkIdScanLauncher.launch(uiSettings)
    }

    private val blinkIdScanLauncher = registerForActivityResult(MbScan()) { result: ScanResult ->
        // Do something with result
    }
}
@IBAction func didTapScan(_ sender: AnyObject) {

  self.blinkIdMultiSideRecognizer = MBBlinkIdMultiSideRecognizer()

  /** Customize BlinkID UI settings */
  let settings: MBBlinkIdOverlaySettings = MBBlinkIdOverlaySettings()
    
  /** Hide introduction dialog */
  settings.showIntroductionDialog = false

  /** Continue with initialization... */
  let recognizerList = [self.blinkIdMultiSideRecognizer!]
  let recognizerCollection: MBRecognizerCollection = MBRecognizerCollection(recognizers: recognizerList)
  
  let blinkIdOverlayViewController: MBBlinkIdOverlayViewController = MBBlinkIdOverlayViewController(settings: settings, recognizerCollection: recognizerCollection, delegate: self)
      
  guard let recognizerRunnerViewController: UIViewController = MBViewControllerFactory.recognizerRunnerViewController(withOverlayViewController: blinkIdOverlayViewController) else {
    return
  }

  self.present(recognizerRunnerViewController, animated: true, completion: nil)
}
<!-- Change default UI by providing HTML attributes -->
<blinkid-in-browser
  license-key="..."
  scan-from-image="false"
  hide-feedback="true"
></blinkid-in-browser>

<script type="text/javascript">
  const blinkId = document.querySelector("blinkid-in-browser");

  // Get results on every successful document scan
  blinkId.addEventListener(
    "scanSuccess",
    (ev) => console.log("Extracted information", ev.detail)
  );
</script>

Vous souhaitez en savoir plus sur l'intégration de BlinkID ? Rendez-vous sur notre espace développeurs pour consulter la liste complète des liens vers la documentation sur la page GitHub de notre entreprise.

Découvrez nos solutions

L’exploration de nos solutions est à portée de clic. Essayez nos produits ou discutez avec l’un de nos experts pour approfondir notre offre.

Rapport
Analyse de la montée en puissance de la fraude à l'identité alimentée par l'IA

L'IA n'a pas seulement accéléré la fraude. Elle en a fait un véritable système. Nous avons analysé des millions d'interactions liées à l'identité afin de cartographier l'évolution des attaques d'usurpation d'identité selon les régions, les types d'attaques et les niveaux de sophistication — et d'identifier ce que les organisations doivent repenser pour rester dans la course.

Consultez les données