Instant Loading Web Apps With A Service Worker Application Shell Architecture
Application shell architecture is a method of building progressive web apps today, taking advantage of a range of technologies.
You can find my latest AI engineering articles on Substack, leadership on LeadDev, or browse my topic guides and personal blog posts below.
Application shell architecture is a method of building progressive web apps today, taking advantage of a range of technologies.
Iterators, generators and array comprehensions; The similarities between JavaScript and Python continue to increase over time and I for one could not be more excited. Today we’r...
In my write-up on medium.com, I look at the powerful new auto-formatting feature in JSCS for automatically applying style guide rules in scripts. This has been in-development fo...
As the complexity of the web apps you build keeps moving, so do the Chrome DevTools. In DevTools State of the Union, I walk through the latest updates on your favourite debuggin...
In my new write-up on Medium, I look at the state of application architecture in the JavaScript community as we ebb our way towards 2015. In it, I talk about composition, functi...
View slides on SpeakerDeck
Linting is a common step in our JavaScript iteration workflow. Most developers probably use JSHint (or ESLint) for this purpose. However, when a tool is capable of informing you...
These are the slides from my CSS performance tooling talk, presented at CSSConf.eu earlier this month.High-performance sites need to feel instant and deliver the goods in < 1...
The video from my talk at London WebPerf about finding and fixing memory leaks in JavaScript is now up. Covers DevTools, V8 & more. I hope it is useful.
Presented at at the Google WebPerf Special (London WebPerf Group), August 26th 2014.Efficient JavaScript webapps need to be fluid and fast. Any app with significant user interac...
Today we'll look at how to wrap React components using Custom Elements, allowing us to interop with Web Component-based libraries using the DOM as a simple configuration API. Si...
If you travel, you've probably found yourself stuck with zero network connectivity on more than one occasion. This sucks, especially if you just want to look up a few previously...
Cross-posted from my article on the Pastry BoxA problem we regularly face in this industry is an abundance of choice. We have a plethora of tools, frameworks, languages, abstrac...
Web Components are ushering in a HTML renaissance, encouraging us to think about how we can bring back the declarative simplicity of HTML to the components we write to...
Cross-posted to HTML5RocksWeb performance can have a huge impact on your entire user experience. If you’ve been looking at improving your own site’s perf lately, you’ve probably...
I’ve been wondering why DOM Mutation Observers, which can monitor changes to one or more DOM elements and return a report of what changed, aren’t used more often in the wild. Mu...
A revolution is coming. There’s a new addition to JavaScript that’s going to change everything you think you know about data-binding. It’s also going to change how many of your ...
Delays in performance have the potential to impact user engagement, experience and revenue. Thankfully, Google's 'Make The Web Faster' team recommend a set of best-practice rule...
Cross-posted from my article on the Pastry BoxIf a task can be done in less than two minutes, do it right now.I find myself consciously procrastinating more than I would like. I...
The way that languages in the web platform evolve are in direct response to the pain caused by complexity. Pain is generally a bad thing and so it's with better patterns and pla...
[caption id="attachment_6609" align="aligncenter" width="640"] The tough economic times on Tatooine hit everyone hard, including the Jawas.[/caption]Delivering a fast experience...
Practical strategies for engineering careers in the future
A field guide and why we need to rethink our expectations
Engineering with user empathy is the foundation of great products
How to thrive in imperfect conditions
Navigating comparison with mindfulness
Actionable advice for empowerment
My lessons learned along the way.
Extending your influence past your immediate circle isn't as straightforward as you'd like to hope. But there are a few strategies you can employ to help.
Building a tech strategy requires a lot of moving parts. Learn about what routes to take and whether decisions should be top-down.
With so many developments in the tech world it's difficult to keep up. Here are some strategies to stay on top of your upskilling.
How can you prioritize when everyone's ask is an urgency and you don't have time to fit it all in?
It's time to examine the good, the bad, and the very ugly elements of context switching. Even better, we'll take a look at some strategies for managing it.
Software engineering teams should focus on outcomes over outputs to deliver the best user and business value.
Being a good software engineer is not necessarily the same as being an effective one. Here, Google's Addy Osmani identifies the ten key traits of effective software engineers.