José M. Pérez

José M. Pérez

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

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