Welcome!

IoT User Interface Authors: Elizabeth White, William Schmarzo, Roger Strukhoff, Sematext Blog, Pat Romanski

Related Topics: Java IoT, IoT User Interface

Java IoT: Article

Performance as Key to Success

How Online News Portals could do better

What factors make you think a web page is good or not? What keeps on that page longer than others? On the one hand it is the content on the page and whether this content is of interest to you. On the other it is the velocity with which you can navigate through the individual pages. High-Speed internet and performance-optimized pages make our day-to-day browsing easier when accessing our emails, tweets, latest updates on sports or news. With all the changes in the recent years in Web Performance Optimization (WPO) we’ve been spoiled by those sites that follow all these Best Practices and boosted their web site experience. No wonder that we start losing our patience with a site that doesn’t respond as fast as we’ve come to expect.

For this particular reason Google modified their ranking algorithm to now also include web performance as one of their metrics. The speed of a web page – the time from entering the URL in the browser until the page has been fully loaded – has now become one factor that defines whether your site shows up on the top or on the bottom of a search result. A good reason to pick “fast by default” as the main theme for this year’s Velocity 2010 Conference. Steve Souders – the driving force behind Web Performance Optimization – hosted this conference and it became clear the significant impact Web Site Performance has on end user behavior and thus the success of a web site.

At last year’s Velocity the first results on Business Impact of Performance were presented to the public. Microsoft, Yahoo and Google presented their results of their internal tests that showed that slower pages have a direct impact on banner clicks – and therefore generated revenue. On the contrary – Shopzilla presented the results of a web site overhaul showing how a faster web site positively impacts the number of users, time spent on site, number of clicks and generated revenue.

Who is faster? Who is better? Bild.de or Spiegel.de?

Similar to my analysis of the FIFA World Cup Website, the Golf Masters or the web site for the Winter Olympic Games in Vancouver I wanted to take a closer look at the two biggest German news portals: Bild.de and Spiegel.de.

Based on Alexa, these are the top two news portals in Germany. Both portals probably have a very different reader community as both publishers have a different way to “present” news. My analysis focuses on how well these pages follow the Best Practices on Web Performance Optimization – therefore the actual content doesn’t matter, as it is all about how to deliver the content. Both pages deliver high-volume, multimedia content. Both pages make money with online ads and therefore it is in their interest that many users visit their site, stay as long as possible on their site and click as many ads as possible. We’ve learned from Google, Bing, etc… that speed is a critical factor in keeping user on the page – now let’s see how these two sites do:

There are three great and free tools available that we can use for an analysis like this:

All three tools analyze individual web sites based on the Best Practices from dynaTrace, Yahoo and Google and provide a nice overview on whether the rules discussed in these documents were met or not.

The Test scenario
On both sites – www.bild.de and www.spiegel.de – I looked at two individual pages: the start page and the overview page for politics. Important for my testing is to start with a cleared browser cache in order to analyze the page as a First Time Visitor. It is recommended to run the same test again – this time with a primed browser cache – and then compare the timings.

The Result
Using any of the three mentioned tools is rather simple. dynaTrace AJAX allows me to record a complete browser session which includes all 4 pages I am testing. The following screenshot shows the Performance Report that is opened when double clicking on the recorded session showing the four tested pages:

dynaTrace Performance Report shows all 4 pages in performance comparison

dynaTrace Performance Report shows all 4 pages in performance comparison

We can make the following interesting observations:

  1. Both sites have a First Impression Time of less than 2 seconds. This means that it takes less than 2 seconds until the user gets a first visual impression of the website – which is considered acceptable
  2. The Fully Loaded Time of both start pages is very high – both take about 14 seconds to fully load. The main reason for this is the amount of multimedia content (mainly images)
  3. Bild.de requires 289 HTTP Requests to fully load – that’s 113 more than Spiegel.de
  4. Bild.de uses JavaScript and XHR (XmlHttpRequests) to dynamically load content
  5. The full page size of bild.de is 4.6MB. That is 2.5 times more than Spiegel.de which “only” has 1.8MB

Lifetime of a Web Page
One of the nicest features of dynaTrace AJAX is the Timeline View. This view shows all activities (HTTP Requests, JavaScript execution, Rendering, XHR Requests and page events) that happen on a single page in chronological order. We can also see all requests split up by domain which makes it easy to spot which domains serve a lot of content or which domains serve the content very slowly. Especially on pages that include external 3rd party content, e.g.: Ad-Banners, it is interesting to see how this type of content slows down your page. Google’s PageSpeed has a new feature in their latest version which allows you to focus on your own or external content when analyzing page performance.

The following two screenshots show the dynaTrace Timeline for the start page of Bild.de and Spiegel.de:

Bild.de loads most of their images from a dedicated image domain. Rendering activity seems to very high as well

Bild.de loads most of their images from a dedicated image domain. Rendering activity seems to very high as well

Spiegel.de serves all images from its primary domain. It also hardly uses JavaScript or excessive rendering

Spiegel.de serves all images from its primary domain. It also hardly uses JavaScript or excessive rendering

There are some fundamental differences between the two start pages:

  • Bild.de uses multiple domains to deliver multimedia content, e.g.: bilder.bild.de or newscase.bild.de. Splitting content on multiple domains is a Best Practice that is called Domain Sharding. It has the advantage of letting the browser use more physical network connections to download more content in parallel
  • Spiegel.de delivers most of its multimedia content from the primary www.spiegel.de domain which is the bottleneck of their deployment. A browser has a limited number of physical network connections to a single domain, e.g: IE 7 uses 2 connections. If there are more than 2 resources to be downloaded from a domain they need to get queued up and have to wait for a connection to become available. Domain Sharding solves this problem by splitting content on multiple domains
  • both pages have individual resources that take extraordinarily long to load, e.g.: initial HTML page and CSS files on spiegel.de or 2 Flash components on bild.de
  • Bild.de shows a constantly high rendering activity – caused by animated images as well as the large number of images on that page

Key Performance Indicators
Additionally to the performance metrics as shown in the dynaTrace AJAX Performance Report Overview the Key Performance Indicator (KPI) tab shows a set of additional important KPI’s:

Key Performance Indicators for Bild.de - showing high load time, server-time, wait time and number of requests

Key Performance Indicators for Bild.de - showing high load time, server-time, wait time and number of requests

As mentioned earlier, bild.de requires many HTTP Roundtrips (289) in order to load the full page. The number one rule in Web Performance Optimization says to minimize HTTP Roundtrips. 289 roundtrips from browser to server is definitely too much. Every roundtrip needs to wait on a free physical network connection (read more on The Two HTTP Connection Limit Issue). Every roundtrip includes the overhead of network latency between browser and server as well as the overhead of the HTTP Protocol itself (HTTP Headers very often contribute a large percentage of the total roundtrip size).

The KPI Report also shows how many resources (images, CSS, …) are being cached or have to be retrieved from the server every time. The first table shows that 80 resources do not use any browser cache headers. That means that these resources have to be re-downloaded on every subsequent visit of the same user.

Usage of the Browser Cache
The Browser Caching Tab on the dynaTrace AJAX Performance Report performs a detailed analysis of HTTP Cache Headers on every downloaded resource. It is recommended to read Best Practices on Browser Caching which explains available browser caching options.

Bild.de and Spiegel.de don’t make optimal use of the browser cache. The following illustration shows a list of all resources that have no cache setting, a cache setting with a past date or a very short cache expiration date:

Many resoures on the page will not be cached at all or have a very short expiration date

Many resources on the page will not be cached at all or have a very short expiration date

Obviously it doesn’t make sense to cache every image on a page. Images that have a short life time should not fill up the local browser cache unnecessarily. If we have a closer look at some of the images on these pages here it seems that at least some of them could be cached for a longer time as they won’t change that frequently. The following section of the website shows images that are cached only shortly (< 48 hours):

Some examples on images that can be cached longer as they won't change that frequently

Some examples on images that can be cached longer as they won't change frequently

These logos will probably not change every 2 days – therefore it makes sense to specify a Far-Future Expiration Header. This reduces the number of roundtrips for revisiting users.

Reducing HTTP Roundtrips
I talked about this several times now – the top rule is to reduce network roundtrips. Besides making use of the browser’s cache there are other ways to reduce the roundtrips for every user (not just revisiting). dynaTrace AJAX has the Network tab that shows those roundtrips that are considered “unnecessary”:

7 unnecessary HTTP Redirects, CSS, JavaScript and Images on this page

Seven unnecessary HTTP Redirects, CSS, JavaScript and Images on this page

HTTP Redirects allow implementing some important use cases, e.g.: authentication, short memorable URLs or end-user monitoring. Too often though HTTP Redirects are caused by wrong configuration settings on the web server. Redirects that can be avoided are a great way to improve web site performance. On the start page of spiegel.de we have 5 redirects – bild.de has 7. A redirect means an additional HTTP Roundtrip as the browser needs to follow the redirect and request another URL in order to get to the originally requested resource.

Great savings can also be achieved on CSS, JavaScript and image resources. All 3 types can potentially be merged into fewer resources. The Best Practice on Network Requests and Roundtrips talks about CSS and JavaScript merging and compression. It also talked about CSS Sprites. CSS Sprites is a technique to combine multiple images in a single resource and use CSS styles to show the individual images on the correct location on the page. Check out the Best Practices on CSS Sprites.

Reducing resources not only brings the advantage of fewer roundtrips. It also means that fewer resources need to be downloaded from the same domain which reduces waiting time (remember the limitation of 2 connections per domain on IE7 mentioned earlier in this blog?).

On all pages of the two sites (Bild and Spiegel) we can observe too many JavaScript, CSS and image resources. It is not possible to merge all of these files – as this is technically not always feasible. It looks like some of these files could be merged and would therefore greatly enhance load time.

Dynamic content
Even though the majority of the content on a news site is static for at least a while (new news doesn’t arrive every second) there is enough content that needs to be generated dynamically for every user. Examples for this are any type of ticker information, weather or personalized ads.

dynaTrace identifies dynamic content based on the rules defined in Best Practice on Server-Side Performance. All these requests are listed on the Server-Side tab in the Performance Report. The Server-Time is the time also known as Time-To-First-Byte. It is the time from the last byte of the HTTP Request sent until the first byte of the response is received. This also includes network latency between the browser and the server – it is however the closest you can get to the server-time without actually measuring the time on the server. The following illustration shows the dynamic resources of bild.de:

dynaTrace shows slow running server-side requests - both on bild.de as well as Ad-Service domains

dynaTrace shows slow running server-side requests - both on bild.de as well as Ad-Service domains

The slowest requests are stock information requests, the initial page request itself as well as the weather information. We also see some requests to an external ad-service and requests to a web-tracking service (not visible in the screenshot above). Server-side performance mainly becomes an issue for dynamically generated content – and usually only in a scenario where many users want to access data from the server. In this case it becomes an even bigger problem because it prevents a larger number of users to actually click on those ads that generate revenue.

Top 10 Performance Problems taken from Zappos, Monster, Thomson and Co lists the typical server-side performance problems and shows how to prevent them.

Conclusion: Who delivers the fastest News?
In our tests, neither site does particularly well. Both sites deliver lots of content without following the Best Practices on Browser Caching or Network Roundtrips. The fully-loaded time of both pages is very high with 14 seconds each (obviously this also depends on your connection speed). Both sites deliver an acceptable first visual impression (<2 seconds).

dynaTrace, PageSpeed and YSlow allow uploading performance results to ShowSlow. ShowSlow is an Open Source Platform and can be used as performance repository for web metrics. ShowSlow.com hosts a public instance of the ShowSlow server and allows you to upload and compare results:

Performance comparision between the sites using all available Web Performance Tools

Performance comparison between the sites using all available Web Performance Tools

The difference in ranking and grading is that every tool puts the focus on different rules. dynaTrace puts its focus on load time first and then on rules such as browser caching or network roundtrips. YSlow and PageSpeed focus more on the Best Practice rules. A good mix of tool usage is therefore recommended – especially because no tool supports every browser anyway.

Now – who is the winner of this analysis? Let’s hope it is us – the readers of these online news portals. With the result of this analysis, with the help of the tools and with the help of people like Steve Souders, Web Site Performance is put in the spotlight and will ultimately lead to better and faster websites:

Performance == More Users == More Revenue

Related reading:

  1. How better Caching helps Frankfurt’s Airport Website to handle additional load caused by the Volcano Along with so many others I am stranded in Europe...
  2. Hands-On Guide: Verifying FIFA World Cup Web Site against Performance Best Practices Whether you call it Football, Futbol, Fussball, Futebol, Calcio or...
  3. Video on Common Performance Antipatterns online [caption id="attachment_1020" align="alignleft" width="250" caption="Parleys - Common Performance Antipatterns"][/caption] Last...
  4. Thomson Reuters on How they deliver High Performance Online Services We have had some great Webinars with our customers in...
  5. www.utah.travel in minutes">How to analyze and speed up content rich web sites likes www.utah.travel in minutes One of my daily activities is checking interesting blog posts...

More Stories By Andreas Grabner

Andreas Grabner has been helping companies improve their application performance for 15+ years. He is a regular contributor within Web Performance and DevOps communities and a prolific speaker at user groups and conferences around the world. Reach him at @grabnerandi

@CloudExpo Stories
Identity is in everything and customers are looking to their providers to ensure the security of their identities, transactions and data. With the increased reliance on cloud-based services, service providers must build security and trust into their offerings, adding value to customers and improving the user experience. Making identity, security and privacy easy for customers provides a unique advantage over the competition.
There are several IoTs: the Industrial Internet, Consumer Wearables, Wearables and Healthcare, Supply Chains, and the movement toward Smart Grids, Cities, Regions, and Nations. There are competing communications standards every step of the way, a bewildering array of sensors and devices, and an entire world of competing data analytics platforms. To some this appears to be chaos. In this power panel at @ThingsExpo, moderated by Conference Chair Roger Strukhoff, Bradley Holt, Developer Advocate a...
SYS-CON Events announced today that Niagara Networks will exhibit at the 19th International Cloud Expo, which will take place on November 1–3, 2016, at the Santa Clara Convention Center in Santa Clara, CA. Niagara Networks offers the highest port-density systems, and the most complete Next-Generation Network Visibility systems including Network Packet Brokers, Bypass Switches, and Network TAPs.
SYS-CON Events announced today that Secure Channels will exhibit at the 19th International Cloud Expo, which will take place on November 1–3, 2016, at the Santa Clara Convention Center in Santa Clara, CA. The bedrock of Secure Channels Technology is a uniquely modified and enhanced process based on superencipherment. Superencipherment is the process of encrypting an already encrypted message one or more times, either using the same or a different algorithm.
If you’re responsible for an application that depends on the data or functionality of various IoT endpoints – either sensors or devices – your brand reputation depends on the security, reliability, and compliance of its many integrated parts. If your application fails to deliver the expected business results, your customers and partners won't care if that failure stems from the code you developed or from a component that you integrated. What can you do to ensure that the endpoints work as expect...
So, you bought into the current machine learning craze and went on to collect millions/billions of records from this promising new data source. Now, what do you do with them? Too often, the abundance of data quickly turns into an abundance of problems. How do you extract that "magic essence" from your data without falling into the common pitfalls? In her session at @ThingsExpo, Natalia Ponomareva, Software Engineer at Google, provided tips on how to be successful in large scale machine learning...
If you had a chance to enter on the ground level of the largest e-commerce market in the world – would you? China is the world’s most populated country with the second largest economy and the world’s fastest growing market. It is estimated that by 2018 the Chinese market will be reaching over $30 billion in gaming revenue alone. Admittedly for a foreign company, doing business in China can be challenging. Often changing laws, administrative regulations and the often inscrutable Chinese Interne...
In his general session at 18th Cloud Expo, Lee Atchison, Principal Cloud Architect and Advocate at New Relic, discussed cloud as a ‘better data center’ and how it adds new capacity (faster) and improves application availability (redundancy). The cloud is a ‘Dynamic Tool for Dynamic Apps’ and resource allocation is an integral part of your application architecture, so use only the resources you need and allocate /de-allocate resources on the fly.
Enterprise IT has been in the era of Hybrid Cloud for some time now. But it seems most conversations about Hybrid are focused on integrating AWS, Microsoft Azure, or Google ECM into existing on-premises systems. Where is all the Private Cloud? What do technology providers need to do to make their offerings more compelling? How should enterprise IT executives and buyers define their focus, needs, and roadmap, and communicate that clearly to the providers?
Complete Internet of Things (IoT) embedded device security is not just about the device but involves the entire product’s identity, data and control integrity, and services traversing the cloud. A device can no longer be looked at as an island; it is a part of a system. In fact, given the cross-domain interactions enabled by IoT it could be a part of many systems. Also, depending on where the device is deployed, for example, in the office building versus a factory floor or oil field, security ha...
More and more companies are looking to microservices as an architectural pattern for breaking apart applications into more manageable pieces so that agile teams can deliver new features quicker and more effectively. What this pattern has done more than anything to date is spark organizational transformations, setting the foundation for future application development. In practice, however, there are a number of considerations to make that go beyond simply “build, ship, and run,” which changes ho...
SYS-CON Events announced today that Commvault, a global leader in enterprise data protection and information management, has been named “Bronze Sponsor” of SYS-CON's 19th International Cloud Expo, which will take place on November 1–3, 2016, at the Santa Clara Convention Center in Santa Clara, CA. Commvault is a leading provider of data protection and information management solutions, helping companies worldwide activate their data to drive more value and business insight and to transform moder...
SYS-CON Events announced today that eCube Systems, a leading provider of middleware modernization, integration, and management solutions, will exhibit at @DevOpsSummit at 19th International Cloud Expo, which will take place on November 1–3, 2016, at the Santa Clara Convention Center in Santa Clara, CA. eCube Systems offers a family of middleware evolution products and services that maximize return on technology investment by leveraging existing technical equity to meet evolving business needs. ...
Using new techniques of information modeling, indexing, and processing, new cloud-based systems can support cloud-based workloads previously not possible for high-throughput insurance, banking, and case-based applications. In his session at 18th Cloud Expo, John Newton, CTO, Founder and Chairman of Alfresco, described how to scale cloud-based content management repositories to store, manage, and retrieve billions of documents and related information with fast and linear scalability. He addres...
The many IoT deployments around the world are busy integrating smart devices and sensors into their enterprise IT infrastructures. Yet all of this technology – and there are an amazing number of choices – is of no use without the software to gather, communicate, and analyze the new data flows. Without software, there is no IT. In this power panel at @ThingsExpo, moderated by Conference Chair Roger Strukhoff, panelists will look at the protocols that communicate data and the emerging data analy...
Fifty billion connected devices and still no winning protocols standards. HTTP, WebSockets, MQTT, and CoAP seem to be leading in the IoT protocol race at the moment but many more protocols are getting introduced on a regular basis. Each protocol has its pros and cons depending on the nature of the communications. Does there really need to be only one protocol to rule them all? Of course not. In his session at @ThingsExpo, Chris Matthieu, co-founder and CTO of Octoblu, walk you through how Oct...
We’ve been doing it for years, decades for some. How many websites have you created accounts on? Your bank, your credit card companies, social media sites, hotels and travel sites, online shopping sites, and that’s just the start. We do it often without even thinking about it, quickly entering our personal information, our data, in a plethora of systems. Sometimes we’re not even aware of the information we are providing. It could be very personal information (think of the security questions you ...
Digital innovation is the next big wave of business transformation based on digital technologies of which IoT and Big Data are key components, For example: Business boundary innovation is a challenge to excavate third-party business value using IoT and BigData, like Nest Business structure innovation may propose re-building business structure from scratch, as Uber does in the taxicab industry The social model innovation is also a big challenge to the new social architecture with the design fr...
Is your aging software platform suffering from technical debt while the market changes and demands new solutions at a faster clip? It’s a bold move, but you might consider walking away from your core platform and starting fresh. ReadyTalk did exactly that. In his General Session at 19th Cloud Expo, Michael Chambliss, Head of Engineering at ReadyTalk, will discuss why and how ReadyTalk diverted from healthy revenue and over a decade of audio conferencing product development to start an innovati...
All clouds are not equal. To succeed in a DevOps context, organizations should plan to develop/deploy apps across a choice of on-premise and public clouds simultaneously depending on the business needs. This is where the concept of the Lean Cloud comes in - resting on the idea that you often need to relocate your app modules over their life cycles for both innovation and operational efficiency in the cloud. In his session at @DevOpsSummit at19th Cloud Expo, Valentin (Val) Bercovici, CTO of So...