The most pervasive trend in the delivery of Web-based applications is the shift toward single-page interfaces (SPIs), a technique that delivers highly responsive, interactive content that looks slick, responds quickly and delivers on the promise of an enjoyable end-user experience.
We are taking advantage of some interesting tricks with modern HTML5 features that browsers are exposing.
senior software engineer, SOASTA Inc.
Single-page interface upends page loading
With SPIs implemented using frameworks like AngularJS, the first thing a Web page does is load the framework. After the framework is loaded, the browser calls the onload function, which historically has indicated that the page has finished loading. By comparison, nothing could be further from the truth with the popular SPI frameworks on the market. For example, with an Angular page, the onload event fires once the Angular framework has loaded, but loading Angular is just the beginning of the process. Once initialized, Angular loads a variety of submodules and then does all of the work required to assemble the data needed to render the page, a process that inevitably involves a variety of other calls to the server to obtain JSON, XML and other data feeds. Angular itself decides what should be downloaded and where it should be displayed on the page, which causes problems because "traditional monitoring tools simply don't take this into account," said Nic Jansma, a senior software engineer with SOASTA Inc.
But simply figuring out how long it takes for an SPI framework to actually render the initial page isn't the end of the journey. Webpages are now filled with soft navigation points, on which a user can transition from one rendering of the page to another without actually triggering a full request-response cycle. Just think of a Pinterest page with an infinite scroll function. A page may finish loading, but as soon as a user scrolls down an inch, traffic gets generated and additional work begins. And if a user gets really aggressive and does scroll after scroll, performance issues may arise not only on the front end, but on the back end as well.
Metrics track page loads
And while page load time is an important metric, how well a page performs when a user navigates within the page using what are known as "soft clicks," (i.e., clicks that don't trigger a completely new page load) is important as well. It's a new challenge monitoring "all of the other links you click within the site that don't reload a new page," said Jansma, and it is in this area where application monitoring tools must innovate and adapt.
Clearly, webpage delivery has changed, and to keep up with the latest trends, application monitoring tools have needed to change as well. To learn more about how the world of Web-based performance monitoring is changing, download the associated podcast, in which TheServerSide speaks with Jansma.
User engagement question: What features are most important to you when it comes to application monitoring? Let us know.