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

Ich war vor ein paar Wochen für den Google Developer Day in China und habe allen meinen QRCode-Scanner gezeigt, es funktionierte großartig, bis ich offline ging. Wenn der Benutzer offline war (oder teilweise verbunden war), konnte die Kamera nicht starten, was dazu führte, dass QR-Codes nicht ausgelöst werden konnten. Ich brauchte ein ganzes Alter, um herauszufinden, was passierte, und es stellte sich heraus, dass ich irrtümlich die Kamera bei meinem Onload-Ereignis gestartet hatte und die Google Analytics-Anfrage hängen blieb und nicht rechtzeitig gelöst werden konnte.

Read More

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

Paul Kinlan

Am Wochenende habe ich mit einem Boomerang-Effekt-Video-Encoder herumgespielt, man kann es quasi in Echtzeit arbeiten lassen (ich werde es später erklären). Ich habe es auf Chrome auf dem Desktop funktioniert, aber es würde nie richtig in Chrome unter Android funktionieren. Siehe der Code hier. Es sieht so aus, als wenn Sie captureStream () auf einem verwenden <canvas>das hat eine relativ große Auflösung (1280x720 in meinem Fall) ist die MediaRecorder API nicht in der Lage, die Videos zu codieren und es wird kein Fehler und Sie können nicht feststellen, dass es das Video nicht vor der Zeit codieren kann.

Read More

Why Microsoft and Google love progressive web apps | Computerworld

Paul Kinlan

Ein schöner Post über PWA von Mike Elgan. Ich bin mir über Microsofts Ziel bei PWA nicht sicher, aber meiner Meinung nach ist es ziemlich einfach: Wir möchten, dass Benutzer sofort und auf eine Art und Weise Zugriff auf Inhalte und Funktionen haben, von denen sie erwarten, dass sie auf ihren Geräten mit ihnen interagieren können. Das Web sollte jeden über jedes angeschlossene Gerät erreichen und ein Benutzer sollte in der Lage sein, auf seine bevorzugte Modalität zuzugreifen, als eine App, wenn sie es so erwarten (Handy, vielleicht), oder Stimme auf einem Assistenten usw.

Read More

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

Paul Kinlan

Das erste Problem, das ich gefunden habe, versucht einen Videoeditor im Internet zu erstellen. Ich habe mehrere Videostreams (Desktop und Web Cam) und wollte zwischen den Videoströmen eines Videoelements wechseln können, um schnell zwischen der Webcam und dem Desktop wechseln zu können und den MediaRecorder nicht zu zerbrechen. Es sieht so aus, als ob Sie dies tun können, indem Sie die Eigenschaft selected auf demvideoTracks Objekt auf dem <video>Element, aber Sie können nicht, das Array von Tracks enthält nur 1 Element (die erste Videospur auf dem MediaStream).

Read More

Barcode detection in a Web Worker using Comlink

Paul Kinlan

Ich bin ein großer Fan von QRCodes, sie sind eine sehr einfache und nette Möglichkeit, Daten zwischen der realen Welt und der digitalen Welt auszutauschen. Seit ein paar Jahren habe ich ein kleines Nebenprojekt namens QRSnapper & mdash; Nun, es hatte ein paar Namen, aber das ist die, auf die ich mich festgelegt habe & mdash; Diese nutzt die API “getUserMedia”, um Live-Daten von der Kamera des Benutzers zu empfangen, so dass sie fast in Echtzeit nach QR-Codes scannen kann.

Read More

Running FFMPEG with WASM in a Web Worker

Paul Kinlan

Ich liebe FFMPEG.js, es ist ein nettes Tool, das mit asm.js` zusammengestellt wurde und ich kann JS Web-Apps erstellen, die Videos schnell bearbeiten können. FFMPEG.js funktioniert auch mit Web Worker, sodass Sie Videos codieren können, ohne den Hauptthread zu blockieren. Ich liebe auch Comlink. Mit Comlink kann ich leicht mit Web-Arbeitern interagieren, indem ich Funktionen und Klassen offen lege, ohne mich mit einem komplexen `postMessage’-Zustandsautomaten auseinandersetzen zu müssen. Ich habe vor kurzem die beiden zusammen zu kombinieren.

Read More

Translating a blog using Google Cloud Translate and Hugo

Paul Kinlan

Ich bin vor kurzem von einer Reise nach Indien zurückgekommen, um an der Google4India Veranstaltung teilzunehmen (Bericht bald) und mich mit vielen Unternehmen und Entwicklern zu treffen. Eine der interessantesten diskutierten Änderungen war die Forderung nach mehr Inhalten in der Sprache der Nutzer in dem Land, und es wurde besonders offensichtlich bei allen Google-Produkten, die von der Erleichterung der Suche in der Benutzersprache, der Suche nach Inhalten, und es auch an die Benutzer in Text- oder Sprachform zurückzulesen.

Read More

Apple - Web apps - All Categories

Paul Kinlan

Erinnern Sie sich daran, wann Web Apps eine empfohlene Methode zur Verwendung von Apps auf dem iPhone waren? What are web apps? Learn what they are and how to use them. Vollständigen Beitrag lesen. Um 2013 herum begann Apple, das Verzeichnis / webapps / top-level nach / iphone / umzuleiten. Die Sache ist, das Verzeichnis war eigentlich ziemlich gut, viele der Apps dort funktionieren noch heute. Mit Blick auf den AppStore löste es jedoch viel mehr Probleme, die Entwickler hatten: Bessere Entdeckung und Suche speziell, weil der AppStore direkt auf dem Gerät war.

Read More

Gears API

Paul Kinlan

Ich schreibe einen Blogpost über die frühen Mobile Web APIs und Alex Russell erinnert mich an 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 Vollständigen Beitrag lesen. Ich denke, es ist interessant zu sehen, dass AppCache und WebSQL, Geolocation und WebWorker aus den Ideen in Google Gears herauskamen und nur die letzten beiden wirklich überlebten.

Read More

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

Paul Kinlan

Wir verwenden Google Chat intern sehr oft, um über unser Team zu kommunizieren - es ist ein bisschen wie unser Durchhang; Wir erstellen auch eine Menge Inhalte, die über RSS-Feeds zugänglich sind. Wir haben sogar einen Team-Feed, den Sie alle ansehen können. Erst vor kurzem habe ich herausgefunden, dass es ziemlich einfach ist, einen einfachen Post-Only-Bot über WebHooks und das zu erstellen gab mir die Idee, ich kann einen einfachen Dienst erstellen, der RSS-Feeds abfragt und diese dann an unseren Webhook sendet, der direkt in unserem Team-Chat posten kann.

Read More

'Moving to a Chromebook' by Rumyra's Blog

Paul Kinlan

Ruth John wechselte vorübergehend zu Chrome OS: 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 schreibt: 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 hat einen tiefen Einblick in eine neue API, an der das Chrome-Team gearbeitet hat, um Ihnen (dem Entwickler) die Kontrolle darüber zu geben, wie Sie reagieren müssen, wenn der Browser Ihre Tabs auslädt. 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 schreibt über wichtige Änderungen an Add to Homescreen in 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

Ein großartiger Überblick über Pinterests PWA 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

Standardmäßig liefert Hugo keine .mjs-Dateien mit dem richtigen Inhaltstyp. In der Tat war es bis vor kurzem, dass hugo mehr als eine Dateierweiterung pro Mimetyp anbieten konnte. Es sieht aus wie mit v0.43 das wurde behoben. [mediaTypes] [mediaTypes.“text/javascript”] suffixes = [“js”, “mjs”] Vollständigen Beitrag lesen. Der obige Code ermöglicht es mir, mjs-Dateien für ES-Module mit dem richtigen Mime-Typ zu liefern (Hinweismodule müssen mit ‘text / javascript’ geliefert werden). Dies ist nur für lokale Tests erforderlich, Hosting ist ein anderes Problem :)

Read More

Thoughts on importing npm modules to the web as JavaScript modules

Paul Kinlan

Ich habe Gedanken über die Post, die ich gestern über ES-Module geschrieben habe 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 von This Dot hat einen ordentlichen Livestream organisiert, der viele der Browser-Anbieter dazu brachte, einen Überblick darüber zu geben, woran sie arbeiten: 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 Vollständigen Beitrag lesen.

Read More

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

Paul Kinlan

Sam Thorogood von unserem Team schreibt: 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