Web Demos

BARCODE READER SDK DEMO

Explore the flexibe barcode reading settings to optimize for your specific usage scenario.

WEB TWAIN SDK DEMO

Try the most popular web scanner features: scan images, import local images and PDF files, edit, save to local, upload to database, and etc.

BARCODE READER JAVASCRIPT DEMO

Transform any camera-equipped devices into real-time, browser-based barcode and QR code scanners.

MRZ SCANNER WEB DEMO

Detects the machine-readable zone of a passport, scans the text, and parses into human-readable data.

APP STORE DEMOS

BARCODE READER SDK FOR IOS

BARCODE READER SDK FOR ANDROID

VIEW MORE DEMOS >

Get Dynamic Web TWAIN Ready for Chrome User-Agent String Phase-Out

Get Dynamic Web TWAIN Ready for Chrome User-Agent String Phase-Out

Google has announced that the good old user-agent string will be deprecated in the Chrome browser later this year. This change will provide better monitoring abilities, and let people know who is using this information and ultimately improve the end-users’ privacy. It is worth noting that this phase-out is currently considered experimental and its implementation may change in the next versions of Chrome. It’s important to be aware of the upcoming changes and learn how it might affect your web application.

What is User-Agent

User Agent (UA) is a string that contains information and details about the client’s browser and the platform it’s running on. UA is included in every request which gets sent by the browser and dependent on by many sites in various ways and for various purposes. Web applications use it in order to serve the clients the relevant site format, how it’s optimized for desktop or mobile devices, and to customize the page content according to the client’s browser and more. 

What has Changed

Google plans to reduce the information that will be stored in the UA string gradually over the next year. Keep in mind that Google will not stop or block the ability to track and collect the end-user browser and platform information, but it will make it safer and easier to track. The phase-out will happen gradually over the next year.

How to Prepare for the Change

The web development is complex and it changes quickly which requires developers to keep posted to the latest updates. Luckily, we are here to help you navigate the ever-changing web environment and be prepared to adapt to those changes. 

One of Dynamsoft’s products, the SDK Dynamic Web TWAIN, makes use of the user-agent string to perform runtime environment detection and this change will have some impact on this library. 
For future Chrome versions, we will check for the existence of the new API userAgentData. If userAgentData doesn’t exist, which indicates the browser still uses the good old userAgent API, the library continues down the old route the same way as before. Otherwise, we use userAgentData for environment detection in a new workflow as follows.

First, we use the following line of code to determine whether the browser is running on mobile devices:

navigator.userAgentData.mobile  

Next, we use the following lines of code to get the browser name and version:

var _browser = navigator.userAgentData.uaList[0].brand.toLowerCase(); 
var _browserVersion = navigator.userAgentData.uaList[0].version; 

At last, we use the following code snippet to get the operating system information:

navigator.userAgentData.getHighEntropyValues([  
    "platform",          
    "platformVersion",      
    "architecture"              
]).then(function(highEntData){  
    var _platform = highEntData.platform.toLowerCase(); 
    var _platformVersion = highEntData.platformVersion; 
    var _architecture = highEntData.architecture.toLowerCase(); 
}) 

With the implementation above, we ensure that the library will continue to work as expected in both future versions of Chrome and the current/old versions of Chrome. We will continue to monitor Google’s new implementation and update this article as new changes occur. 

If you have any questions or comments, please contact us at support@dynamsoft.com

Subscribe Newsletter

Subscribe to our mailing list to get the monthly update.

Subscribename@email.com