Skip to main content
Dublin Library

The Publishing Project

Getting into a performance mindset

Web performance is hard. There is no one size fits all solution and the amount of work we do to make our content performant is more than what we may want to do. This post will explore the process of...

A-frame: 3D Markup

a-frame addresses a different problem space in VR and AR. Authoring WebGL is really hard. We will skeep the raw WebGL version, don't want to scare readers away by talking about shaders and compiling...

WebXR and <model-viewer>

WebXR is an evolutionary development of the old WebVR APIs that addresses user feedback and additional use cases that were not available when the original WebVR APIs were created. The Immersive Web...

Open Type Features in CSS

I've been playing a little with Open Type font variations (and their CSS equivalents) for a few weeks now and I've revisited a few areas I had played with before and left because, at the time, I...

WebAssembly: A new Swiss Army Knife

WebAssembly and its predecessor asm.js provide a portable target for compilation of high-level languages like C, C++, Go, and Rust among others, enabling deployment on the web for client and server...

Fetch and Axios: When and How

Fetch, the replacement for XmlHTTPRequest object (xhr for short) has been around long enough for me to consider it well baked into the platform and safe to use. As a quick refresher, this script will...

What is the modern view-source?

I started working on the web in 1994 and I've been privy to the evolution and complication of the web and its component technologies. The web was much simpler then, with a limited set of tags and...

Using SVG as images

Most of the work I've done recently has been as inline SVG meaning that the SVG is inserted directly into the document; this has advantages and disadvantages. In this post we'll discuss why we would...

Archive Navigation