Speaking at CSSConf Australia 2016

I just attended CSSConf Australia in Melbourne, where I gave a talk about images and web performance. It was a blast! Very well organised and with a great atmosphere. In this post I give a short introduction about the event and I include links to the slides, videos and the script. The CSSConf AU 2016 sign at the entrance

Continue reading about Speaking at CSSConf Australia 2016...

JPG compression level, SSIM and Jpeg.io

The size of images in JPG varies a lot based on the compression level we choose when saving them. Often, we tweak this level by hand until we consider we don’t have too many artifacts and the resulting image is close enough to the original one.

The same compression level doesn’t generate the same amount of artifacts in two different images. We need to find an automated approach that measures how different (or similar) two images are, and loop through several compression levels to find the most suitable one.

Continue reading about JPG compression level, SSIM and Jpeg.io...

Some things I learned implementing Data Fetching for Universal Web Apps

Javascript is not just a language for the browser. Node.JS is becoming popular as a platform to run JS on the server. We are learning how to build modular websites where business logic and state are not coupled with the markup. And finally we are getting the tools to build universal web apps. But what are universal apps, and why should we care about data fetching?

Continue reading about Some things I learned implementing Data Fetching for Universal Web Apps...

The importance of personal side projects

This blog you are reading is more a tool for me to consolidate some ideas and experiences I come across. So is my GitHub account, where I upload some small projects that otherwise would remain on my computer and eventually die. It is also a way of giving back: I have learned may things reading other people’s posts and code, and I hope someone can find what I do useful.

Continue reading about The importance of personal side projects...

Spotify's new brand identity using feColorMatrix SVG filters

This is a short post where I show how to use SVG and a feColorMatrix filter to apply a duotone effect to an image.

Continue reading about Spotify's new brand identity using feColorMatrix SVG filters...

SVG Optimisation using SVGOMG and FontForge

Lots of websites have started replacing their icon fonts and small icons with SVGs. They support CSS manipulations, animations and are great for responsive sites. But it is important to keep an eye on their size.

Continue reading about SVG Optimisation using SVGOMG and FontForge...

Drawing images using edge detection and SVG animation

Back in the days SVG was barely used and supported. Some time after we started using them as an alternative to classic bitmaps for some icons, and finally we discovered it was the holy grail for providing responsive graphics. The flat and clean design trends have also make SVG as a very useful image format.

But SVG allows for even cooler features, thanks to the ability of modifying it using CSS and JS. And with some clever techniques we can make fun things, like drawing the borders of an image.

Continue reading about Drawing images using edge detection and SVG animation...

Farewell Rdio

The news about Rdio shutting down have been unexpected. It’s always sad when a company building great products closes down. And even though I am working at Spotify, I still want to see good competitors, both smaller and bigger, that make everyone else strive for improving. All in the benefit of users.

Continue reading about Farewell Rdio...

Using WebP to create tiny preview images

Following with the image optimization topic, I am going to have a deeper look to Facebook’s technique to create preview photos, and will show how WebP can simplify their solution.

WebP vs JPEG when encoding tiny images

tl;dr WebP produces tiny files when compressing small images. This makes it ideal for implementing preview photos. Check the demo.

Continue reading about Using WebP to create tiny preview images...