Hello.

I am Paul Kinlan.

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

Performance and Resilience: Stress-Testing Third Parties by CSS Wizardry

Paul Kinlan

J’étais en Chine il y a quelques semaines pour la journée des développeurs Google et je montrais à tout le monde mon scanner QRCode, cela fonctionnait très bien jusqu’à ce que je passe au mode hors connexion. Lorsque l’utilisateur était hors ligne (ou partiellement connecté), la caméra ne démarrait pas, ce qui signifiait que vous ne pouviez pas prendre de code QR. Il m’a fallu un certain temps pour comprendre ce qui se passait, et il s’avère que j’ai démarré la caméra par erreur lors de mon événement onload et que la demande de Google Analytics était bloquée et non résolue rapidement.

Read More

Chrome Bug 897727 - MediaRecorder using Canvas.captureStream() fails for large canvas elements on Android

Paul Kinlan

Le week-end, je jouais avec un encodeur vidéo à effet Boomerang, vous pouvez le faire fonctionner presque en temps réel (je l’expliquerai plus tard). Je l’ai obtenu sur Chrome sur le Bureau, mais cela ne fonctionnerait jamais correctement sur Chrome sur Android. Voir le code ici. Cela ressemble à lorsque vous utilisez captureStream () sur un <canvas>Avec une résolution relativement importante (1280x720 dans mon cas), l’API MediaRecorder ne pourra pas encoder les vidéos, elle ne provoquera pas d’erreur et vous ne pourrez pas détecter qu’elle ne peut pas encoder la vidéo à l’avance.

Read More

Why Microsoft and Google love progressive web apps | Computerworld

Paul Kinlan

Un bel article sur PWA de Mike Elgan. Je ne suis pas sûr de l’objectif de Microsoft avec PWA, mais je pense que le nôtre est assez simple: nous voulons que les utilisateurs aient accès au contenu et aux fonctionnalités instantanément et d’une manière qu’ils espèrent pouvoir interagir avec ce contenu sur leurs appareils. Le Web doit atteindre tout le monde sur chaque appareil connecté et un utilisateur doit pouvoir accéder à sa modalité préférée, en tant qu’application si c’est ce à quoi il s’attend (mobile, peut-être), ou de la voix sur un assistant, etc.

Read More

894556 - Multiple video tracks in a MediaStream are not reflected on the videoTracks object on the video element

Paul Kinlan

Le premier numéro que j’ai trouvé en essayant de créer un éditeur de vidéo sur le Web. J’ai plusieurs flux vidéo (ordinateur de bureau et webcam) et je voulais pouvoir basculer entre les flux vidéo sur un élément vidéo afin de pouvoir basculer rapidement entre la webcam et le bureau et ne pas casser le MediaRecorder. Il semble que vous devriez pouvoir le faire en basculant la propriété selected sur l'objetvideoTracks du <video>élément, mais vous ne pouvez pas, le tableau de pistes ne contient qu'un seul élément (la première piste vidéo sur le flux multimédia).

Read More

Barcode detection in a Web Worker using Comlink

Paul Kinlan

Je suis un grand fan des QRCodes, ils sont un moyen très simple et pratique d’échanger des données entre le monde réel et le monde numérique. Depuis quelques années, j’ai un petit projet parallèle appelé QRSnapper & mdash; Eh bien, il porte quelques noms, mais c’est celui sur lequel j’ai opté pour & mdash; qui utilise l’API getUserMedia pour extraire des données en direct de la caméra de l’utilisateur afin de lui permettre de rechercher les codes QR en temps quasi réel.

Read More

Running FFMPEG with WASM in a Web Worker

Paul Kinlan

J’aime FFMPEG.js, c’est un outil soigné compilé avec asm.js` qui me permet de créer des applications Web JS pouvant éditer rapidement des vidéos. FFMPEG.js fonctionne également avec les travailleurs Web afin que vous puissiez encoder des vidéos sans bloquer le fil principal. J’aime aussi Comlink. Comlink me permet d’interagir facilement avec les travailleurs Web en exposant des fonctions et des classes sans avoir à traiter avec une machine à états postMessage complexe.

Read More

Translating a blog using Google Cloud Translate and Hugo

Paul Kinlan

Je suis récemment rentré d’un voyage en Inde pour assister à l’événement Google4India (rapport prochainement) et rencontrer de nombreuses entreprises et développeurs. L’un des changements les plus intéressants abordés concernait la demande de contenu dans la langue des utilisateurs du pays et était particulièrement visible dans tous les produits de Google, allant de la recherche dans la langue de l’utilisateur à la recherche de contenu, et aussi de le lire aux utilisateurs sous forme de texte ou de voix.

Read More

Apple - Web apps - All Categories

Paul Kinlan

Rappelez-vous que lorsque Web Apps était * une * méthode recommandée pour utiliser des applications sur l’iPhone? What are web apps? Learn what they are and how to use them. Lire l’article complet. Vers 2013, Apple a commencé à rediriger le répertoire / webapps / top-level vers / iphone / Le fait est que le répertoire était en fait très bon, beaucoup d’applications fonctionnent encore. Cependant, en regardant l’AppStore, cela résolvait beaucoup plus de problèmes que les développeurs avaient: Une meilleure découverte et une meilleure recherche en particulier parce que l’AppStore était directement sur l’appareil.

Read More

Gears API

Paul Kinlan

Je rédige un article sur les premières API Web mobiles et Alex Russell m’a rappelé Google Gears Gears modules include: LocalServer Cache and serve application resources (HTML, JavaScript, images, etc.) locally Database Store data locally in a fully-searchable relational database WorkerPool Make your web applications more responsive by performing resource-intensive operations asynchronously Lire l’article complet. Je pense qu’il est intéressant de voir qu’AppCache et WebSQL, Geolocation et WebWorkers sont issus des idées de Google Gears et que seules les deux dernières ont réellement survécu.

Read More

RSS Feed to Google Chat Webhook using Cloud Functions for Firebase and Superfeedr

Paul Kinlan

Nous utilisons beaucoup Google Chat pour communiquer au sein de notre équipe. Nous créons également beaucoup de contenu accessible via les flux RSS, nous avons même un flux d’équipe que vous pouvez voir tous. Ce n’est que récemment que j’ai découvert qu’il était assez facile de créer un simple post-only bot via WebHooks et que m’a donné l’idée, je peux créer un service simple qui interroge les flux RSS et les envoie ensuite à notre webhook qui peut poster directement dans notre chat d’équipe.

Read More

'Moving to a Chromebook' by Rumyra's Blog

Paul Kinlan

Ruth John a déménagé à Chrome OS (temporairement): The first thing, and possibly the thing with the least amount of up to date information out there, was enabling Crostini. This runs Linux in a container on the Chromebook, something you pretty much want straight away after spending 15 minutes on it. I have the most recent Pixel, the 256GB version. Here’s what you do. Go to settings. Click on the hamburger menu (top left) - right at the bottom it says ‘About Chrome OS’ Open this and there’s an option to put your machine into dev mode It’ll restart and you’ll be in dev mode - this is much like running Canary over Chrome and possibly turning on a couple of flags.

Read More

What are the pain points for web designers? - Mustafa Kurtuldu

Paul Kinlan

Mustafa écrit: Tooling is complicated, we are a tooling focused industry, and they change so much. I have used maybe rough eight different tools, from Photoshop to Sketch. That’s before we add prototyping tools to the mix. This may be something we just have to accept. After all, type standards only really started to settle in the 90s, and typography is a 500-year-old discipline. Designers are still finding it difficult to prove the importance of the process.

Read More

Page Lifecycle API - Philip Walton

Paul Kinlan

Philip Walton a une formidable plongée dans une nouvelle API sur laquelle l’équipe Chrome a travaillé pour vous donner (le développeur) le contrôle de la réponse lorsque le navigateur décharge vos onglets. Application lifecycle is a key way that modern operating systems manage resources. On Android, iOS, and recent Windows versions, apps can be started and stopped at any time by the OS. This allows these platforms to streamline and reallocate resources where they best benefit the user.

Read More

Add to homescreen changes in Chrome 68 - Pete LePage

Paul Kinlan

Pete LePage écrit à propos des changements importants à ajouter à l’écran d’accueil dans Chrome Add to Home Screen changes If your site meets the add to home screen criteria, Chrome will no longer show the add to home screen banner. Instead, you’re in control over when and how to prompt the user. To prompt the user, listen for the beforeinstallprompt event, then, save the event and add a button or other UI element to your app to indicate it can be installed.

Read More

A one year PWA retrospective - Pinterest Engineering

Paul Kinlan

Un excellent aperçu de PWA Pinterest The verdict Now for the part you’ve all been waiting for: the numbers. Weekly active users on mobile web have increased 103 percent year-over-year overall, with a 156 percent increase in Brazil and 312 percent increase in India. On the engagement side, session length increased by 296 percent, the number of Pins seen increased by 401 percent and people were 295 percent more likely to save a Pin to a board.

Read More

Configuring hugo server to serve 'mjs' ES modules

Paul Kinlan

Par défaut, Hugo ne fournit pas les fichiers .mjs avec le type de contenu correct. En fait, ce n’est que récemment que hugo pourrait servir plus d’une extension de fichier par type MIME. Il semble que la version 0.43 ait été corrigée. [mediaTypes] [mediaTypes.“text/javascript”] suffixes = [“js”, “mjs”] Lire l’article complet. Le code ci-dessus me permet de servir des fichiers mjs pour les modules ES avec le type MIME correct (les modules doivent être servis avec ‘text / javascript’).

Read More

Thoughts on importing npm modules to the web as JavaScript modules

Paul Kinlan

J’ai des réflexions sur le post que j’ai fait hier à propos des modules ES I needed a quick way import a simple module get-urls into my project. The module is well tested and it does what I needed … ignore the fact that it’s pretty easy to implement in a couple of lines of JavaScript. The problem I had is that my project is built in ES6, uses modules and I didn’t want to have to bundle up using CommonJS (require).

Read More

This.Javascript: State of Browsers - YouTube

Paul Kinlan

Tracy Lee de This Dot a organisé un live-stream plutôt soigné qui a amené de nombreux fournisseurs de navigateurs à donner un aperçu de leur travail: Browser representatives from Brave, Beaker, Edge, Chrome, & Mozilla get together to talk about recent updates and the state of browsers. Featured Speakers: Brendan Eich -  Creator of Javascript, Co-founder & CEO at Brave Software Paul Frazee - Works on Beaker Browser Matthew Claypotch - Developer Advocate at Mozilla Paul Kinlan - Senior Developer Advocate at Google Patrick Kettner - Edge at Microsoft Amal Hussein - Senior Open Web Engineer at Bocoup Tracy Lee - GDE, RxJs Core Team, This Dot Co-founder Lire l’article complet.

Read More

PWACompat: the Web App Manifest for all browsers - @ChromiumDev

Paul Kinlan

Sam Thorogood de notre équipe écrit: You’ve designed a webapp, built its code and service worker, and finally added the Web App Manifest to describe how it should behave when ‘installed’ on a user’s device. This includes things like high-resolution icons to use for e.g. a mobile phone’s launcher or app switcher, or how your webapp should start when opened from the user’s home screen. And while many browsers will respect the Web App Manifest, not every browser will load or respect every value you specify.

Read More