Visitor Monitoring Accurate Mobile Device Emulation Moves Towards a More Standards-based Approach | Keynote
Blog

Accurate Mobile Device Emulation Moves Towards a More Standards-based Approach

By Aaron Rudger | April 4, 2013

CATEGORIES: Mobile Quality
Webkit_Acid_3_Test_Results[1]

Clearly a big focus these days is understanding how to deliver the optimum performance of a mobile website and how customers are truly experiencing it over a wide range of smartphones and networks. The development and testing phases of a mobile site’s lifecycle require the use of emulated and real devices to assure excellent user experience. And when you move to monitoring a mobile site in production, device emulation can be a good, cost-efficient approach. Emulated device monitoring solutions offer the most detailed, network-level view of how well a site is working on real wireless carrier connections, but to download content accurately with an emulated device you’ll need more than just a simple user agent string.

In fact what we are seeing is a rallying around some key standards so, herewith, a primer on how to monitor mobile the right way taking advantage of the latest and greatest standards.

The Basics

There are two absolute must-haves in order to get an accurate read on downloads from emulated devices:

  1. A WebKit browser engine
  2. Device-specific JavaScript object properties

Without either of these, the website owner can never really be 100 percent certain that they are capturing a trust-worthy waterfall and an accurate representation of the end-user perspective. Also without these two ingredients there’s a good chance users won’t even be able to download many of today’s popular mobile sites. At this point they have become basic necessities.

WebKit

The WebKit Browser Engine is an open-source browser engine and the de facto standard for mobile. Apple iOS, Android, BlackBerry 6, Nokia S60 and other operating systems all use WebKit to download and render Web content for the smartphones they support.

Used in a device emulator, WebKit shows website content as it was intended for the web user. And because WebKit-based emulators download like a real browser, their measurements are much more accurate, delivering credible monitoring results. In fact, some websites cannot be accessed by an emulator unless using WebKit. WebKit supports HTML5, regarded by many as the future of web design. The WebKit browser engine therefore allows you to monitor websites that would otherwise be out of reach.

Device-Specific JavaScript Object Properties

The same goes for JavaScript Object Properties. Today’s smartphones are called smart for a good reason. One feature is that they are capable of client-side decision making for determining which content to download from a site. These decisions determine exactly the content most suitable for ultra-specific device capabilities. Gone are the days of simply matching a user agent string to a pre-selected website.

Client-side JavaScript execution can trigger additional network requests. This could be additional base-page redirections (necessary for proper handset detection) or requesting additional JavaScript or other elements such as CSS, images or other resources. If JavaScript is not executed correctly, the rendered page content could be completely different from what it is supposed to be.

Ipad_waterfall

So, with device-specific JavaScript object properties:

  1. They allow accurate client-side JavaScript execution
  2. They download the right content for a specific device for the most accurate measurement of the download.

Just this past February, on the same day they announced 300 million users, Opera also announced that it will use WebKit as its rendering engine and V8 as its JavaScript engine on all new products. Opera pointed to the fact that consumers will initially notice better site compatibility, especially with mobile-facing sites--many of which have only been tested in WebKit browsers.

John Resig's blog supported the Opera move saying, "WebKit is the jQuery of browser engines…We see this rallying around a de facto standard such as WebKit as a chance to accelerate development time, with less time spent worrying about implementing common standards."

Yesterday, Google announced that they will be forking WebKit to a new rendering engine they intend to develop for use in Chrome called Blink. It is unclear if Andriod browser will also move to Blink, but that seems likely. Opera will follow their lead and eventually move from WebKit to Blink, as well. While this will spur innovation around the edges of WebKit, Google has signalled that Blink will remain true to WebKit's core rendering prowess, Web standards and interoperability.

Keynote Mobile Web Perspective (MWP) is a mobile monitoring solution powered by a WebKit mobile browser engine and containing device-specific JavaScript object properties. MWP supports HTML5 and is capable of downloading the right websites while accurately emulating the behavior of today’s latest smartphones. When site performance is analyzed at the object-level detail in MWP using live wireless carrier connections, ops pros and developers can be certain they are looking at an accurate customer experience.

So there you have it – everything you need to know to get true mobile device emulation for the very best understanding of mobile web performance in production.

Back to Top