Thus, a better performance metric is time to first meaningful interaction.
2. 53% of mobile users abandon websites that take longer than 3 seconds to load
How long does the user have to wait before interacting with the site? A lot of thought is put into optimizing the critical render path. The main optimization method is to postpone the loading of content that is not essential for the first render. This typically leads to a situation where most content, styles and behavior are lazy-loaded. When a user sees the first screen of a page or starts to read the page non-visually, they will start to interact with it. They will scroll down and activate buttons and links. They assume these controls already work, and assume these controls are more or less stable.
After the first render, content is changed and moved around. New content is added not just at the end but also right in the middle. The most common examples are images, videos, menus, sidebars, interactive widgets and advertisement banners. Also custom fonts affect the overall layout.
These content changes not only confuse the user and interrupt the current interaction, they also cause layout reflows. This is a computationally expensive recalculation of element positions. This is especially frustrating if the user has already scrolled down and content is added above the current scroll position.
So why do mobile websites perform so badly? In my opinion, developers follow best practices. If they are applied without consideration, these practices may kill us:. The basic idea of progressive enhancement is treating every web device according to its abilities.
Progressive enhancement helps to focus on the core features of a website, which should lead to high performance. Although I am a strong proponent of progressive enhancement , I think our understanding is yet incomplete and our practices need to be improved continually. It seems that progressive enhancement is misunderstood: Enhancements are applied during load time while the user is watching. While the user is riding a skateboard , it suddenly transforms into a bicycle, then into a motorcycle, then into a car. Not that the user does not enjoy driving a car, but when they just learned to ride the skateboard, they get angry when you take it away shortly after.
Some are fine per se but applied without consideration. I have compiled some guidelines to update the rules we have. It improves and impairs the user experience at the same time. Choose wisely what is loaded later and on demand. This critical code should block the first render. Styles and scripts may even be inlined into the HTML for performance gains.
List of Web performance books
It is fine to render parts of the page multiple times when additional content or behavior is loaded. But every rendering should present a usable and stable interface.
The user interaction should not be interrupted. A particular interface control should not change while the user interacts with it. There should be no reflows affecting existing content. An easy way to achieve this is adding content at the bottom of the page.
This works well with the natural top-down reading order. Scrolling while the page is loading should be possible and should not be tampered with. Avoid scroll position jumping. Content should be lazy-loaded into placeholders with a fixed height, typically when the user reaches the scroll position.
Either reserve an empty space e. The first screen should not change significantly during page load. I cannot present a complex site that implements these guidelines. Most complex news sites today display a loading performance that is not user-friendly. This slow connection allows to investigate the loading behavior thoroughly. On a faster connection, there will be the same events but in a faster sequence. The loading performance of a site is best examined in the filmstrip view and by watching the video.
The BBC News site is clearly optimized for the first render time. It lazy-loads images, navigation widgets and ads. Is it only because of loading time from server?
- 13 Statistics Showing The Importance of Mobile Web Performance!
- How To Create High-Performance Mobile Websites.
- Advanced Level Practical Work for Physics;
- Workflow Patterns: The Definitive Guide (Information Systems);
- Americas Environmental Legacies: Shaping Policy through Institutions and Culture.
Image Optimization | Web Fundamentals | Google Developers
First 10 Free. Why is mobile web app performance slow compared to native app? Ask Question. Asked 5 years, 8 months ago. Active 1 year, 8 months ago. Viewed times. Native apps will be compiled where as webapps will be interpreted. Robert Christie Robert Christie 14k 6 6 gold badges 35 35 silver badges 36 36 bronze badges.