A Tinder Progressive Web App Performance Case Study

Addy Osmani: Tinder recently swiped right on the web. Their new responsive Progressive Web App — Tinder Online — is available to 100% of users on desktop and mobile, employing techniques for JavaScript performance optimization, Service Workers for network resilience and Push Notifications for chat engagement. Today we’ll walk through some of their web perf learnings. Their PWA is …

ProvisionQL – Finder Quick Look plugin for .ipa and .mobileprovision files

One of the Finder Quick Look plugins I have installed is ProvisionQL. It allows one to have a quick preview of .ipa and .mobileprovision files. Installation possible via Brew-Caskroom: brew cask install provisionql ProvisionQL → Related: macOS Quick Look plugins for JavaScript, Markdown, JSON, …

Axel — Command Line Download Accelerator

Via @benschwarz: Axel tries to accelerate the downloading process by using multiple connections for one file, similar to DownThemAll and other famous programs. It can also use multiple mirrors for one download. Axel → Getting sudden flashbacks to this old fart here: Think it was 1999 or 2000 when I first use FlashGet (then named …

JavaScript Object and Array Explorers

If you’re starting out with object and array manipulations in JavaScript these handy tools by Sarah Drasner might come in handy. The reason they work so well is that it’s one page, and it’s driven by natural language. JavaScript Object Explorer →JavaScript Array Explorer → Do not however that the yielded code mutate the original …

React Food Truck – A curated set of Visual Studio Code extensions for React Developers

Burke Holland: I spent a lot of time combing the depths of the VS Code Extension Marketplace to find the tastiest and most delicious extensions that are guaranteed to make your life as a React developer 129% more enjoyable. All you have to do is install the React Food Truck extension and it will automatically …

Scrollama – Scrollytelling with IntersectionObserver

Scrollama is a modern & lightweight JavaScript library for scrollytelling using IntersectionObserver in favor of scroll events. The code that accompanies the markup pictured above: // instantiate the scrollama const scroller = scrollama(); // setup the instance, pass callback functions scroller .setup({ container: ‘.scroll’, // wrapping container step: ‘.scroll__text .step’, // all steps graphic: ‘.scroll__graphic’, …

How far ahead of Apple Maps is Google Maps?

In succession to Google Maps’s Quiet Transformation, a new – and very extensive and highly interesting – comparison by the same author. He start off by taking a look at the level of detail when it comes to buildings. But these buildings are more than just a pretty detail—they appear to be the foundation for …

Feeding the Audio Graph – Using Web Audio’s AnalyserNode

Good article on 24ways (yes, that still is a thing) on using Web Audio’s AnalyserNode. const waveform = new Uint8Array(analyser.fftSize); const frequencies = new Uint8Array(analyser.frequencyBinCount); const ctx = canvas.getContext(‘2d’); const loop = () => { requestAnimationFrame(loop); analyser.getByteTimeDomainData(waveform); analyser.getByteFrequencyData(frequencies); ctx.beginPath(); waveform.forEach((f, i) => ctx.lineTo(i, f)); ctx.lineTo(0,255); frequencies.forEach((f, i) => ctx.lineTo(i, 255-f)); ctx.stroke(); } loop(); I especially …

Getting started with Mapbox GL JS

Good intro by Arden de Raaij on setting up a basic Mapbox GL JS map with clickable markers that zoom upon getting clicked. Mapbox GL JS is a JavaScript library that uses WebGL to render interactive maps from vector tiles and Mapbox styles. It’s my favorite alternative to Google’s service and in this article I’ll …