Who likes to wait?



Speed matters for everything and on the Internet this is not an exception. Just like anybody waiting in line to buy a product feels frustrated by the fact that time is passing by, on the Internet people feel the same feeling while waiting to complete a purchase or load a webpage.

In a physical shop many customers would ask themselves “why do I have to wait to buy a product? Shouldn’t this shop be prepared for this? Shouldn’t they have more cashiers?” Some clients will even avoid buying at this shop next time simply because they hate waiting. Latency, the time needed to complete a process, matters in a physical store. However, its importance is greater on the online world because leaving a store is as easy as closing the browser tab and competitors are only a click away. Online businesses struggle to maintain visitors on their sites without noticing that one of their biggest enemies is time. 




When delivering content on the Internet, administrators must focus on ensuring that loading times are kept as low as possible. People are generally impatient and, when online, patience turns out to be complete stranger; nobody likes to wait. Amazon found that every 100ms of latency meant a 1% drop in sales. Google found an extra 0.5 seconds in search page generation responsible for 20% traffic lose. Therefore, sites designed to deliver rapidly are mandatory in order to avoid losing clients, optimizing content and processes to minimize waiting times while ensuring reliability and efficiency. Considering the importance of short time lapses, even very small delays can result in substantial and costly drops in revenue.

Simple A/B tests are an easy way to evaluate the effects of latency. By comparing the number of abandonments between two different versions of the same site that load at different speeds, it is possible to determine the consequences of a delay, even if it is very small.  According to Marissa Mayer, a Google VP, “Users really respond to speed. A new version of Google Maps that was lighter (in page size) and rendered much faster immediately saw substantial boosts in traffic and usage.” An extra 500ms might be the reason behind many sales losses. User satisfaction is highly dependable on the user experience, where speed is a crucial factor.

Bandwidth and latency are two related concepts. Bandwidth determines the amount of data that a client can process at a time. On the other hand, latency accounts for the delay between an action and a response (e.g. clicking a submit button and receiving an O.K message) or the time to get from point A to point B. The further away a web server is from a user, the higher the latency will be. Reducing the size of images and eliminating unnecessary code in websites results in faster loading times. Nevertheless, latency is also found on checkout gateways, forms, processes that require complex objects and even in sophisticated visual content that could be eliminated to reduce loading intervals. However, it does not depend on the user’s bandwidth but more on the speed of processes inside a site (e.g. when searching for available tickets on an airline’s website). Every process must be optimized to reduce response time.

Typically, the issue is to identify where latency is happening after having discovered a site’s low performance (e.g. a low conversion rate). Although other factors such as design could be the cause, high latency levels are often the result of a poor design. Using a packet sniffer it is easy to discover which parts of a site take more time to load. Additionally, ICMP packages such as the ping and trace route utility are used to calculate the time to reach a server and understand the path followed to get to it respectively. There are many tools that provide an insight based on known best practices for speeding up a website (e.g. YSlow).



    Elapsed time (in seconds) to load Google.com with an empty cache.
    Source: Own elaboration using Wireshark packet sniffer.

By fixing coding errors in server requests (e.g. PHP, CGIs) it is possible to significantly reduce the waiting time necessary to generate a response. Reducing the number of HTTP requests required to render a page is the key to fight against latency, this can be done by reducing the number of components on a site. However, there are ways of minimizing the number of HTTP requests without having to give up an enriched webpage, for example, by using CCS style sheets and image maps that combine multiple images into a single one. A clever design and user interface disguises time delays, Ajax minimizes the perceived latency and makes a website look faster that it really is.

A more expensive but highly beneficial solution to reduce latency is to use a CDN, a collection of web servers, also known as mirrors, distributed across multiple locations to deliver content based on network proximity. Facebook, located in Palo Alto, California, opened a new datacenter on the east coast of the United States in order to save 70 milliseconds to its users in this area. Additionally, servers connected to the Internet with a fast connection help minimize latency.

Differentiating between new or returning visitors with web analytics will give an insight on the amount of browsers that are loading a site for the first time. New visitors do not have a saved copy of the webpage or any of its elements in their browser cache. Therefore, the loading time for these users will be considerably higher. Returning visitors that have emptied their cache will also be affected by the delays experimented on a first visit. Maximizing the use of cache content and minimizing traffic is possible by making use of expire headers in the web server.