José M. Pérez

José M. Pérez

Engineer at Spotify and GDE in Web Techologies.

PerformanceObserver and Paint Timing API

In a recent post about Chrome 60 Beta, Google announced the support of the Paint Timing API to get metrics on when your page starts rendering and when the user gets content that can be consumed (more info on the definition of the events below). Here I’m going to describe this new API a bit and show you how to use it.

Continue reading about PerformanceObserver and Paint Timing API...

Speaking at JSDayES 2017

I just attended JSDayES 2017 in Madrid, where I gave my talk about images and web performance. It feels great to be back to the same venue where I gave my first talk 4 years ago in SpainJS with Tomás Pérez, who also made it to the event.

I have caught up with lots of colleagues I used to work with in Tuenti, and lots of JS devs from the Spanish community. There is a lot going on in Madrid and the rest of Spain, with very interesting companies building awesome products.

Continue reading about Speaking at JSDayES 2017...

Playing with the Spotify Connect API

Spotify released recently a set of endpoints in beta to fetch information of what is playing and send playback commands. This allows for a wide range of integrations and I wanted to hack a bit with it.

Spotify Connect

Continue reading about Playing with the Spotify Connect API...

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...