65.9K
CodeProject is changing. Read more.
Home

The BlackBerry 10 User Agent String Has Arrived!

Dec 20, 2012

CPOL

2 min read

viewsIcon

6991

The BlackBerry 10 User Agent String Has Arrived!

Guest post from Steve W. detailing a change in our BlackBerry® 10 browser user agent – Ed.

We have been busy making the BlackBerry® 10 browser one of the most advanced browsers on the market with class leading HTML5, CSS3, and WebGL support. However, even if you build one of the greatest browsers to ever hit the mobile web, you still need content providers to serve up a rich mobile experience. To help ensure our users receive high quality content, we have changed our user agent string. It’s not an ideal solution, but feature detection and responsive design have not yet become the norm among web designers, and we needed an interim solution.

Thus, without further ado, I introduce to you the new and improved BlackBerry user agent string!

Mozilla/5.0 (BB10; <Device Model>) AppleWebKit/<WebKit Version> (KHTML, like Gecko) 
Version/<BB Version #> Mobile Safari/<WebKit Version>

Explained

  1. Mozilla/5.0 Mostly customary, historically used to indicate Mozilla compatible browser
  2. BB10 The primary identifier of a BlackBerry 10 device
  3. <Device Model> Device product name
  4. AppleWebKit/<WebKit Version> The WebKit Version number
  5. KHTML, like Gecko The engine WebKit originated from
  6. Version/<BB Version #> The software version number
  7. Mobile Indicates the device is mobile; it may have a small physical screen and potentially limited bandwidth
  8. Safari/<WebKit Version> Mostly customary, historically used to indicate Safari-compatible browser

What has changed?

  1. Many websites are filtering on the word “BlackBerry” and providing our very capable browser with the most basic of mobile web pages, while rich content is being pushed to our competitors. To avoid this pitfall, we removed the word “BlackBerry” from our user agent and replaced it with “BB10”. This change will require web administrators to add this new identifier to their user agent detecting scripts
  2. We cleaned up the user agent string by removing both the locale (e.g. “en-US”) and the strong encryption indicator (e.g. “U”) [don’t worry, we still support strong encryption]

Suggested Identification Pattern

  • BlackBerry10 Smartphone: 'BB10' + 'Mobile'

Example: htaccess file

RewriteEngine On

RewriteCond %{HTTP_USER_AGENT} BB10.+Mobile 
RewriteRule ^$    http://www.example.com/mobile [L]

So there you have it, our updated BlackBerry 10 user agent string!