Hello.

I am Paul Kinlan.

A Developer Advocate for Chrome and the Open Web at Google.

Understanding Storage Quota | Workbox

Paul Kinlan

Jeff Posnick écrit, à propos de Workbox

A common source of unexpectedly high quota usage is due to runtime caching of opaque responses, which is to say, cross-origin responses to requests made without CORS enabled.

Browsers automatically inflate the quota impact of those opaque responses as a security consideration. In Chrome, for instance, even an opaque response of a few kilobytes will end up contributing around 7 megabytes towards your quota usage.

Lire l’article complet.

Les travailleurs du service font partie intégrante de l’écosystème Web, mais il ya encore beaucoup de pièges - et c’est l’un d’eux qui peut vous mordre si vous ne le savez pas à l’avance.

C’est génial de voir des outils comme Workbox en mesure de gérer cela et de vous informer pour savoir ce qui se passe.

Paul Kinlan

Trying to make the web and developers better.

RSS Github Medium

Emscripten's compiled Web Assembly, used minimally

Paul Kinlan

Sam Thorogood sur Dev.to écrit,

Why did I write this post? Emscripten is a wonderful tool, but it has a long history (for asm.js), and isn’t perfect. I think it errs too much on the side of “magic”, and many posts rave about how it’s so easy to EMASM or use binding-fu, but this all comes at a cost, and can introduce huge amounts of inadvertent overhead—think copying huge memory buffers around because we’re trying to make them immutable or easily exposed.

Every language that is being compiled to Web Assembly needs a runtime—whether it be Go, or Rust, or C/C++ as we have here. I don’t believe that we’ll ever really be able to directly import Web Assembly via ES2015 modules, at least not without changes on the JS side. But it behooves us to write the smallest one we possibly can.

Lire l’article complet.

Je pense que nous voyons tous le potentiel du wasm, mais pour beaucoup d’entre nous, beaucoup d’autres plates-formes qui sont maintenant capables de s’introduire sur le Web nous sont totalement étrangères et nous devons vraiment apprendre ces outils, améliorer l’expérience du développeur wasm. et imo offre des bibliothèques prédéfinies que les développeurs Web traditionnels peuvent utiliser.

Designing with the Gestalt principles

Paul Kinlan

Mustafa pour Google Chrome, sur Dev-Channel écrit,

The Gestalt principles are a series of laws that are used to explain why human beings naturally find organized patterns in objects they see around them. The goal with the principles was to explain why we group objects in some ways but not others.

There are many different principles, but here I am going to look at the ones that effect grouping, these are; proximity, similarity, common fate, continuity, closure, and prägnanz.

Lire l’article complet.

Web Share Target API

Paul Kinlan

Share Target API is now in Chrome breaking down one of the last silos of native platforms

Read More

onappinstalled - for when an app is installed.

Paul Kinlan

Use onappinstalled to detect when a progressive web app is installed.

Read More

Bookmarklet: Chrome DevTools trace page

Paul Kinlan

A simple bookmarklet that will performance trace the current page and open in an hosted devtools instance

Read More

Hosting Puppeteer in a Docker container

Paul Kinlan

A simple docker container that can host an instance of puppeteer and a custom app.

Read More

domcurl: curl + JavaScript

Using CSP Nonces effectively with service worker

Paul Kinlan

CSP nonce values can help you securely run inline content on you site. But it can be hard to get it working with Service Workers... until now.

Read More

We need DOM APIs in Workers

Paul Kinlan

If we are to build HTML in Workers then we need some 'DOM' in them.

Read More

A simple clientside templating langauge

Paul Kinlan

Templating libraries needn't be so hard

Read More

Challenges for web developers

Paul Kinlan

Summary of the challenges that I beleive we developers face every day.

Read More

Breaking down silos by sharing more on the web

Paul Kinlan

Cet article a plus d’un an de retard. Cela a longtemps été bloqué dans mes projets, mais je pense que l’idée doit être résolue en 2018. Il s’avère également que d’autres problèmes ont surgi au cours de l’année écoulée, ce qui la rend un peu plus pertinente. J’étais en Indonésie plus tôt en 2016, bavardant avec les développeurs et il est apparu dans la conversation que le Web était vissé (c’étaient les mots littéraux).

Read More

The Web is my API

Paul Kinlan

Michael Mahemoff m’a beaucoup appris sur les possibilités du web. Avant de travailler avec Mike, j’ai construit sur le Web et j’ai compris les avantages tels que la liaison et la découverte, mais je n’ai jamais vraiment eu une idée complète de ce qui serait possible. Une chose que Mike a dite était “le Web est mon API”, où il parlait de la possibilité d’exposer votre site et vos données sur une page via des microformats et d’autres données structurées et d’y accéder directement depuis un autre autre contexte de navigateur, utilisant un XMLHttpRequest simple et l’API CORS:

Read More

Reinventing Web Intents

Paul Kinlan

Je n’ai jamais surmonté la mort des intentions Web. J’ai toujours pensé qu’il y avait toujours un grave problème sur le Web, nous construisons des silos (1) qui bloquent l’utilisateur sur un seul site Web et nous ne connectons pas nos applications ensemble pour créer des expériences plus riches. Nous avons des liens qui nous permettent de naviguer vers un autre site, mais nous ne connectons pas nos applications à des fonctionnalités que nous pouvons utiliser sur nos sites.

Read More

Progressive Progressive Web Apps

Paul Kinlan

Building Progressive Web Apps progressively is possible. This is how I did it.

Read More

Building a simple PubSub system in JavaScript

Paul Kinlan

Dans un projet récent de création d’un service Web Push, je souhaitais que mon interface utilisateur réponde aux événements au niveau des applications (sémantiquement si vous voulez) car quelques composants nécessitaient des informations. le système mais ne sont pas dépendants les uns des autres et je voulais qu’ils puissent se gérer indépendamment de la «logique métier». J’ai cherché beaucoup d’outils différents pour m’aider, mais comme je souffre souvent du syndrome des NIH et que je pense que les gens peuvent rapidement mettre en place leurs propres éléments d’infrastructure, j’ai décidé de créer rapidement un simple client.

Read More

Barcode detection using Shape Detection API

Paul Kinlan

L’autre semaine, j’ai parlé de Détection de visage via l’API Shape qui se trouve dans le canal Canary dans Chrome. Maintenant, la détection de codes à barres est également dans Chrome Canary (Miguel est mon héros;) Les codes barres sont énormes! ils sont sur presque tous les produits que nous achetons. Même le très décrié QRCode est énorme en dehors des États-Unis et de l’Europe. Le code à barres et le QRcode constituent un moyen simple de faire le pont entre le monde physique et le monde numérique en transférant de petites quantités de données entre le support et vous.

Read More

Ideas for web apps with FFMPEG and ffmpeg.js

Paul Kinlan

J’ai récemment créé une application Web progressive qui prend un screencast à partir de votre appareil Android puis encapsule la vidéo dans un cadre de périphérique en utilisant FFMPEG.js comme ça: J’ai également réussi à trier la construction de ffmpeg.js de manière à créer relativement facilement des versions optimisées de ffmpeg. et lancez-le dans le navigateur. Je pense que les deux choses réunies offrent de nombreuses opportunités pour créer de nouvelles applications Web progressives de qualité, qui poussent ce que nous pensons que le Web est capable de faire en matière de manipulation audio et vidéo.

Read More

Building ffmpeg.js for Ubuntu

Paul Kinlan

FFMPEG.js est un projet incroyable et il m’a aidé à créer l’un de mes derniers projets: Device Frame. Il construit essentiellement ffmpeg (avec un bon ensemble de valeurs par défaut pour garder la taille petite et aussi petite que possible). Si la version par défaut ne prend pas en charge les filtres et les encodeurs dont vous avez besoin, vous devrez la créer vous-même. Ceci est plus une note pour moi à l’avenir, mais c’est ce que j’ai fait pour le faire fonctionner.

Read More