José M. Pérez

José M. Pérez

Engineer at Facebook and GDE in Web Technologies. Ex Spotify.

Speaking at Render Oxford 2017

I just attended Render 2017, where I gave a talk about images and web performance. It’s my first time in Oxford and I was impressed by its beauty. The organisation was great and I had a lot of fun.

The Render Conf 2017 sign by the entrance of King's Centre

Continue reading about Speaking at Render Oxford 2017...

More examples of Progressive Image Loading

In a past post I dissected a technique used by Medium to display images, transitioning from a blurry image to the final one. Since then I have found some more sites following a similar approach. Let’s see how Quora, Quartz and Clicktorelease do it.

Continue reading about More examples of Progressive Image Loading...

SSL, HTTP/2, Service Worker, Offline Mode? This blog has all of them

I usually see myself spending more time migrating from one setup to another one than writing valuable content. After all, I consider my blog a playground where I try some concepts.

It is still not very over-engineered and being open sourced and available on GitHub I thought someone could benefit from it.

Continue reading about SSL, HTTP/2, Service Worker, Offline Mode? This blog has all of them...

Reading List

I have decided to collect some of the best posts and articles I have read during last days. It is inspired by Bruce Lawson’s reading lists and web development newsletters. I write it to keep track of interesting content for myself, but you might also find it useful.

Continue reading about Reading List...

Assessing New Technology

Try this library, it’s the best thing ever. Try this technique, it will make your site automatically faster. I read and hear people praising libraries or technologies very often. It can come as a blog post, talk at a conference or informal conversation. It is fine to talk about the benefits of using A over B, but be alert if A doesn’t seem to have any drawbacks.

Continue reading about Assessing New Technology...

My 2016

I don’t usually post a summary of the year, but I’m particularly happy about how 2016 developed and want to do balance. It’s been very positive, both personally and professionally, and hope 2017 will be even better.

Continue reading about My 2016...

Using MediaRecorder API for screen recording on the web

At CSSConf AU 2016, Soledad Penadés gave a talk called “Real time front-end alchemy“. It was full of examples of combining MediaStreams with audio and video manipulation.

Something I didn’t know was that you can record audio and video on the browser without any plugins. You can combine audio from the microphone, video from a canvas, dynamically generated content… you name it. Even recording a window or the entire screen and exporting it as a video.

Continue reading about Using MediaRecorder API for screen recording on the web...

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

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