Thought Pieces
Some people create beautiful perspective illustrations to visualise and storyboard their virtual reality designs And it’s tempting to think you’re not a strong designer if you’re not doing that too…
Planning out a linear VR experience requires thinking about where the viewers attention might be. Thinking about the focal points…
In traditional cinema, TV, or even the more modern phone screen, there’s limited screen real-estate. But removing that limitation creates a design problem…
Let’s not pretend the importance of prompt engineering is ubiquitous. The most prevalent power of generative AI is in the way it adapts to us, not the other way around…
A deep dive into carefully considered date formatting, line length and general typography attributes of filenames…
Rapid authoring tools like Articulate Storyline and Evolve Authoring make sharing projects possible across a team of non-programmers, but your design must often adapted to the limited range of possibilities the tool allows…
Projects
-
Interaction Stripper
Interaction Stripper is a plugin for Penpot that enables bulk removal of interactions across selected boards.
-
Focus for Trello
A browser plugin that adds new styling options to help you adapt to your current focus on your Trello boards.
-
Google Keep Import
A plugin for Obsidian that enables easy import of exports from Google Keep.
Technical Articles
Certain closure combinations and asynchronous code can result in stale closures – where react state variables seem to not update in specific places…
View existing local storage If you want to check all localStorage values for the current web page, there are a couple of ways. One way that I often find myself doing is running this little snippet of code. But it’s not the most accessible way. The reason I like the above bit of code is…
Make SVG shapes transform like Dom elements For a previous article on this blog I found myself rotating an SVG shape using CSS. At which point I immediately realised that the usual way of shifting the origin of rotation to the centre worked differently for SVG shapes than it did for standard dom elements. For…
Styling SVGs with CSS When utilising SVGs in your HTML, you may find yourself inserting them using the img tag. This is nice and clean and keeps them formatted and styled in the same way as your other images However, this adds a limitation to your ability to dynamically style them. Html: If you’re working…
Vite’s auto refreshing can sometimes get in the way. Here’s a way to stop it…
React Native apps using Expo won’t connect to your physical device on locked down networks without tunnelling…
Most examples online define defaultProps after the class or function. Here’s why I define it before…
Obsidian plugin development allows you to add support for new filetypes…
Pulling the extension from a filename in javascript can be done in many ways. And it’s easy to do in a way that will create errors…