mPulse Performance Analytics Tool Tackles Single-Page Applications

Performance analytics company SOASTA Inc. has updated its mPulse 55 real user monitoring (RUM) solution, providing what the company claims is the unique ability to accurately measure single-page application (SPA) interactions that basically equate to traditional page views.

SPAs are an increasingly popular trend in Web and mobile development, wherein HTML5, JavaScript and CSS are used to present an initial page that loads once and then gets dynamically updated -- typically via AJAX requests -- with no further browser onload events being triggered when content is changed or added.

While they're smooth and fast, SPAs cause problems in some areas, such as search engine optimization (SEO) and RUM, the latter of which has traditionally relied upon onload event attributes to indicate page views. SPAs have seen increased use with the skyrocketing popularity of JavaScript frameworks such as AngularJS, Ember and Backbone.

SOASTA claims it has come up with the industry's first performance analytics solution that detects dynamic update requests fired from deep within those frameworks and measures them as page loads, as they're perceived by users.

"It is a new approach," said Matt Solnit, vice president of engineering, in an interview with ADT Mag. "We took our measurement JavaScript library and we enhanced it to have first-class awareness of how Angular does things -- and how Backbone and Ember do things -- and it hooks into their events the way that traditional monitoring tools hook into browser events. We're tied directly into the framework and listening on what they're firing off when a page load occurs."

Working with AngularJS
[Click on image for larger view.] Working with AngularJS (source: SOASTA Inc.)

SOASTA engineers took the open source Boomerang JavaScript library used by mPulse 55 and modified it to detect and measure the inner workings of the three popular JavaScript frameworks.

"mPulse's Boomerang library does have first-class awareness for each of these three frameworks, and we're adding support for more in the future," Solnit said. "So it does detect when Angular is actually initiating its own soft page load and when it's finished it, and we can detect all of the changes Angular makes to the browser during that process so we can see all the new HTML it injects, all of the images, resources, scripts etc., and measure that as an actual page."

One of the primary targets for that future support is React, a revolutionary JavaScript project from Facebook that started out on the Web and is being open sourced and moved to the mobile realm for building native apps.

But React will have to work hard to catch up with AngularJS, the most popular SPA-oriented JavaScript framework. The SOASTA team first provided AngularJS support before addressing the other two because of its popularity.

"We're kind of smack in the middle of this huge pickup of Angular so our view might be skewed -- we think it's huge," SOASTA chief marketing officer Ann Ruckstuhl told ADT Mag. "Angular is definitely, in terms of adoption, probably more than double or triple that of the next one, which is Ember, and then followed by Backbone. That's kind of the trend that we're seeing."

Indeed, the following Google Trends chart shows the term "AngularJS" catching up with the term "HTML5" recently:

Google Trends Shows AngularJS Catching Up with HTML5

Other RUM tools -- such as that from New Relic Inc. -- offer AngularJS support, but not with the same functionality, SOASTA claimed.

"They are capturing these AJAX requests, and in some cases they may even be detecting that the AJAX request resulted in come changes to the page," Solnit said, "but they don't measure it as a complete page view distinct from the original page view and they won't continue to see additional navigations as additional page views."

While mPulse works with Web apps, SOASTA added native iOS and Android app support a year ago, providing "the first and only multi-dimensional views of actual user behavior whether on mobile Web, Web or native mobile applications." Solnit said it also breaks down analytics by device type and model.

"SOASTA's solution not only includes performance data, it also provides demographic information about the user, including location, operating system, carrier, connection type and even what version of the application they're using," the company said in a statement. "mPulse 55 provides visibility to see not only the top device types in use, but also manufacturer and model as well, so that companies can prioritize their development and testing resources around creating the optimal experience for their users."

mPulse 55 comes in a free Lite version for one user with some limitations, a $99 per month Pro version for up

About the Author

David Ramel is an editor and writer for Converge360.