Hello.

I am Paul Kinlan.

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

Understanding Storage Quota | Workbox

Paul Kinlan

Jeff Posnick escribe, wrt a 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.

Leer publicación completa.

Los trabajadores de servicio son una parte increíble e integral del ecosistema web, pero todavía hay bastantes inconvenientes, y este es uno de ellos que puede morderlo si no lo sabe antes de tiempo.

Es genial ver que herramientas como Workbox puedan manejar esto y le informen para que sepa lo que sucede.

Paul Kinlan

Trying to make the web and developers better.

RSS Github Medium

Emscripten's compiled Web Assembly, used minimally

Paul Kinlan

Sam Thorogood en Dev.to escribe,

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.

Leer la publicación completa.

Creo que todos vemos el potencial del wasm. Para muchos de nosotros, muchas de las otras plataformas que ahora pueden acceder a la web son completamente ajenas a nosotros, y realmente necesitamos aprender esas herramientas, mejorar la experiencia del desarrollador de wasm. e imo ofrece bibliotecas pre compiladas que los “desarrolladores web tradicionales” pueden usar.

Designing with the Gestalt principles

Paul Kinlan

Mustafa para Google Chrome, en las escrituras Dev-Channel,

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.

Leer la publicación completa.

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

Este artículo tiene más de un año de retraso. Estuvo atascado en mis borradores durante mucho tiempo, sin embargo, creo que la idea es algo que tenemos que resolver en 2018. También resulta que han surgido otros problemas en el último año que lo hacen un poco más relevante. Estuve en Indonesia a principios de 2016 charlando ociosamente con los desarrolladores y surgió en la conversación que la web está jodida (eran las palabras literales).

Read More

The Web is my API

Paul Kinlan

Michael Mahemoff me enseñó mucho sobre las posibilidades de la web. Antes de trabajar con Mike, construí en la web y comprendí los beneficios, como la capacidad de enlace y el descubrimiento, pero nunca tuve una idea completa de lo que sería posible. Una cosa que Mike dijo fue “la Web es mi API”, donde habló sobre la posibilidad de exponer su sitio y sus datos en una página a través de microformatos y otros datos estructurados y poder acceder a él directamente desde otro contexto de navegador más, utilizando una simple XMLHttpRequest y la API CORS:

Read More

Reinventing Web Intents

Paul Kinlan

Nunca superé la muerte de Web Intents. Siempre sentí que todavía hay un problema grave en la web, construimos silos que bloquean al usuario en un sitio web y no conectamos nuestras aplicaciones para crear experiencias más enriquecedoras. Tenemos enlaces que nos permiten navegar a otro sitio, pero no conectamos nuestras aplicaciones a la funcionalidad que podemos usar en nuestros sitios. Ya sea que elija una imagen de un servicio en la nube para usarla en su aplicación o edite una imagen en el editor preferido de los usuarios; simplemente no vinculamos nuestros servicios de la forma en que vinculamos nuestras páginas.

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

En un proyecto reciente de creación de un servicio web push, quería que mi UI respondiera a los eventos de nivel de aplicación (semánticamente si lo hace) porque había un par de componentes que requieren información de el sistema pero no son dependientes entre sí y quería que pudieran administrarse independientemente de la ‘lógica de negocios’. Miré a mi alrededor muchas herramientas diferentes para ayudarme, pero debido a que con frecuencia tengo un caso fuerte de síndrome NIH y el hecho de que creo que las personas pueden implementar sus propios elementos infraestructurales con bastante rapidez, decidí llamar rápidamente a un simple cliente- servicio PubSub lateral & mdash; funcionó bastante bien para mis necesidades.

Read More

Barcode detection using Shape Detection API

Paul Kinlan

La otra semana hablé sobre Detección de la cara a través de la API Shape que está en el canal Canary en Chrome. Ahora la detección del código de barras también está en Chrome Canary (Miguel es mi héroe;) ¡Los códigos de barras son enormes! están en casi todos los productos que compramos. Incluso el muy difamado QRCode es enorme fuera de los EE. UU. Y Europa. El código de barras y el QRcode brindan una manera sencilla de unir el mundo físico y el mundo digital transfiriendo pequeñas cantidades de datos entre el medio y usted.

Read More

Ideas for web apps with FFMPEG and ffmpeg.js

Paul Kinlan

Hace poco construí una aplicación web progresiva que toma un screencast de su dispositivo Android y luego ajusta el video en un marco de dispositivo usando FFMPEG.js como ese: También logré ordenar building ffmpeg.js para que, con relativa facilidad, cree compilaciones personalizadas optimizadas de ffmpeg y ejecutarlo en el navegador. Las dos cosas juntas creo que presentan muchas oportunidades para construir nuevas y pequeñas aplicaciones web progresivas que impulsan lo que creemos que la web es capaz de manipular audio y video.

Read More

Building ffmpeg.js for Ubuntu

Paul Kinlan

FFMPEG.js es un proyecto increíble y me ayudó a crear uno de mis últimos proyectos: Device Frame. Básicamente construye ffmpeg (con un buen conjunto de valores predeterminados para mantener el tamaño pequeño y lo más pequeño posible). Si la compilación predeterminada no es compatible con los filtros y codificadores que necesita, tendrá que compilarlo usted mismo. Esto es más una nota para mí en el futuro, pero esto es lo que hice para que funcione.

Read More