This is a post about doing performance right when building large and complex web applications. Much advice is available about optimising for every last ounce of performance on the web, but that won't help much if we don't already have 'good' to begin with.
Caching frontend application bundles isn't as effective when they're updated frequently. In this post, I'll explore the idea of using deltas to update already-cached bundles, and cover some approaches - including one that's feasible today using service workers.
The 'Performance' tab of Chromium (Google Chrome) DevTools isn't always enough for analysing complex multi-window Electron web-desktop applications. In this post, I'll introduce the related but lesser-known Tracing tool, and show how it can be used with Electron.
The WebHID API will allow web applications to use human input/output devices connected via Bluetooth or USB. This post takes an early look at where it fits in, the possibilities enables, and how to use it.
Where does one start when looking to write better code? And how do we maintain code quality and consistency when working in a team? These two questions drove me to create a language-agnostic guide to writing decent code.
Beneath the user interface of our applications, we as developers both define and use default values in code and configuration. Choosing carefully helps make what we build quicker, easier, and less error-prone to use.
Conflicts sometimes arise when merging two npm-shrinkwrap.json files from different source control branches. Git might be able to solve some of these - but should you let it, and what should you do if it can't?
It's easy to get started building data-bound user interfaces in the browser using the KnockoutJS MVVM library. This post covers some practices and techniques that help with using it successfully in large single page applications.