Front End Engineer
Develops lightweight, optimized client-side code that minimizes device energy consumption and network resource usage.
15 patternsDevelopment
The greater the amount of nodes that are defined in HTML, the greater the time spent processing and rendering each element.
Avoid chaining critical requestsMost web experiences require a lot of work from the user's browser. The greater the length of the chains and the larger the download sizes, the more significant the impact on page load performance and the energy required to render a page.
Avoid tracking unnecessary dataUser tracking, user data collection and targeting in things like advertisements are responsible for significant energy use in many digital products, and services.
Cache static dataFrom an energy-efficiency perspective, it's better to reduce network traffic by reading the data locally through a cache rather than accessing it remotely over the network. Shortening the distance a network packet travels means that less energy is required to transmit it. Similarly, from an embodied carbon perspective, we are more efficient with hardware when a network packet traverses through less computing equipment.
Compress transmitted dataFrom an energy-efficiency perspective, it's better to minimise the size of the data transmitted so that less energy is required because the network traffic is reduced.
Defer offscreen imagesWeb pages offer a lot of images that aren't displayed on the first loaded screen and can thus be loaded dynamically.
Deprecate GIFs for animated contentOne direct replacement of the GIF is the MP4 video format which provides much smaller file sizes and higher quality at the same time.
Keep request counts lowAccessing a web page usually retrieves a HTML file from the web server. The HTML may then reference additional resources that the browser has to download.
Minify web assetsMinification removes unnecessary or redundant data without affecting how the resource is processed by the web browser.
Minimize main thread workLong-running JavaScript on the browser's main thread underutilises multi-core CPUs; offloading heavy computations to Web Workers or server-side implementations reduces energy consumption and improves efficiency.
Optimize image sizeIdeally, the stored pixel dimensions are exactly the same, or smaller, as the display size in pixels so that no bandwidth or storage space is wasted.
Reduce transmitted dataFrom an energy-efficiency perspective, it's better to minimize the size of the data transmitted so that less energy is required because the network traffic is reduced.
Remove unused CSS definitionsCSS files are very complex and need energy intensive parsing and processing. Each added CSS definition increases the amount of time and processing power needed in this process.
Serve images in modern formatsModern image formats can help to reduce bandwidth, storage and computing requirements on the displaying device.
Use server-side rendering for high-traffic pagesUse server-side rendering for high-traffic pages