José M. Pérez

José M. Pérez

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

How to Estimate Web Performance Impact Before Making Fixes

Web Performance is important for user experience and business metrics. Estimating its impact is key to be able to prioritize it, yet it’s difficult to quantify its benefits until the work has been done.

We need to break this chicken-and-egg loop. This post explains several ways of assessing the potential performance gains with little effort and, more importantly, without actually implementing fixes.

Continue reading about How to Estimate Web Performance Impact Before Making Fixes...

The role of Solutions Engineer at Facebook

Before joining Facebook as a Solutions Engineer I had many questions about what the role implied and if it was a good fit for me. After almost one year into the role I wanted to share more about what we do and inspire you.

Solutions Engineer sign at Facebook

I had been working as a software engineer for 10+ years, mainly building web applications. I was starting to feel that I didn’t enjoy dedicating 100% of my time to code, and wanted to understand why I was building what I was building.

Continue reading about The role of Solutions Engineer at Facebook...

Building Spotify’s New Web Player

Spotify’s tech blog has just published my post Building Spotify’s New Web Player. I explain why we decided to start from scratch and write a brand new Spotify experience on the web, and how the team is thinking about the future of the project.

A picture of a laptop showing Spotify's Web Player

Replacing a working product with a new one is a though decision, and doing it from scratch instead of iteratively always raises red flags. However, sometimes it’s the best option in order to move forward.

Spotify’s web player has been my biggest challenge at Spotify. The most difficult one but the most rewarding.

Read article on Spotify’s tech blog.

Continue reading about Building Spotify’s New Web Player...

What PWAs for Desktop means for Users and Developers

As Progressive Web Apps make their way on desktop I wanted to talk about why I consider this is a breakthrough. I have talked in the past about different uses cases for PWA. In this post I want to focus on PWAs for desktop.

A screenshot of Spotify's Web Player running as Progressive Web App

The current version of Google Chrome stable is Chrome 73. This version lets you install Progressive Web Apps natively on macOS. You can find more information about the release on Pete LePage’s “New in Chrome 73” notes.

Continue reading about What PWAs for Desktop means for Users and Developers...

Developing modern sites with good performance

Poor performance leads to exclusion. When we create heavy sites we limit what users can access our content. Those with more powerful devices and better network will get sites loaded faster. Those with older devices and slower network will need to wait more.

A user with a mobile phone on their hand
Continue reading about Developing modern sites with good performance...

My 2018

As I expected, this year I have dedicated more time to my family and less to side projects. I have been on parental leave for 7 months and it has been a great time to put things in perspective.

Continue reading about My 2018...

The different shades of Progressive Web Apps

Implementing a PWA or adapting an existing site to “become a PWA” can be daunting. There are many new technologies to learn about, but you don’t need to use all of them to improve your website performance and user experience greatly.

On this post I will describe several use cases where Progressive Web Apps (PWA) can be useful to make your website achieve better performance and be more reliable.

Continue reading about The different shades of Progressive Web Apps...

Common Pitfalls when Serving SVGs and How to Solve Them

Optimizing SVGs is great for performance, but can we go beyond? In this post I will show some common issues with inlined and responsive SVGs applied to a real website.

Scalable Vector Graphics (SVG) are ideal to show logos and drawings on the web due to their small size. SVGs also have other useful applications, such as placeholders for lazy loaded images and animations. In a past post I also explained how to optimize a SVG with several tools that remove unneeded code and simplify shapes.

Even if we optimize our SVG assets, we can still make mistakes delivering those to the browser. In this post I am going to explain some issues I found on Spotify’s website, where the same SVG is inlined several times and where a responsive SVG logo could save additional network requests.

Spotify SVG logo showing its arcs and points

Continue reading about Common Pitfalls when Serving SVGs and How to Solve Them...

PiterCSS 2018

A few weeks ago I attended PiterCSS, the first international front-end conference in Saint Petersburg, Russia. There I gave a talk about creating a performance culture, based on the blog post I wrote recently. You can find the slides online.

Speaking at PiterCSS about Forstering Web Performance Culture

Continue reading about PiterCSS 2018...

Fostering a Web Performance Culture

Web Performance is not only about understanding what makes a site fast. It’s about creating awareness amongst both developers and non-developers. Performance is a feature and needs to be prioritized as such.

Forstering Web Performance Culture

Continue reading about Fostering a Web Performance Culture...