Frenchman Antoine de Saint-Exupéry was a writer, WWII pilot, and general designer-of-things. Perhaps you’re familiar with his quote, “‘Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.” I think about this quote a lot in my work, and it informs our product decisions at
There is a long-running discussion at LexBlog about the benefits and perils of third-party solutions. This discussion has been going on for so long that if you look closely enough, you can find evidence of it in this A List Apart post from 2014 by our own Scott Fennell. This post, is also the subject …
I’ve been writing WordPress themes and plugins for about a decade and recently I’ve been putting more effort into curating a personal “boilerplate” folder for new themes and plugins. In reading through it, I can see what concepts and components have become habitual for me, regardless of the subject matter of the project.
- Some `Constant`
Some years ago when I first interviewed with LexBlog, the CTO reiterated several times that he really wanted me to be fluent in plugins, in addition to themes. I knew my way around plugins generally, but I liked the vibe I got from the interview and I wanted the job to work out well, so…
I’ve been a big proponent of Zendesk after using their product(s) for several years at LexBlog. Like all businesses, LexBlog has gone through a variety of systems and processes cycles, and how we manage inbound requests is no exception. As I mentioned in my last post, a huge push over the last several years…
Accessibility, also known as “a11y”, refers to how well a website functions for people with disabilities. Common examples of disabilities in this space include visual conditions like color-blindness, vestibular conditions like animation nausea, and motor disabilities such as cerebral palsy, which happens to be the focus of this article.
I am tasked with creating a “jump menu” for navigating tag archives. Something like this:
There is no submit button. By merely selecting a menu item, the page navigates to that particular tag archive. The premise of this UI is that, by not having to click a “submit” button, we save the user time and decision-making, hopefully improving the experience.
This all works well enough, assuming you’re using a mouse. But what happens if you’re using a keyboard? …
The Global Object
We kick off a plugin/theme JS file with a global that is namespaced for that project, containing handy functions used throughout. Example:
I often work with exactly one plugin active, other than the plugin I’m working on and its dependencies. That plugin is Query Monitor. QM adds a button to the admin bar that turns red when I make mistake, and reveals a treasure land of begun info when I click on it.
[caption id=”attachment_2081″ align=”alignright”…
I try not to get overly technical in this space, but when I get a chance to implement one of my very favorite programming techniques, I have a hard time keeping it to myself. I want to tell you about recursion. Per wikipedia:
A common method of simplification is to divide a problem into subproblems of the same type […] where problems are solved by solving smaller and smaller instances.
Here’s the example. Earlier this week I was dealing with a problem where I needed to turn the english words “true” and “false” into the boolean values
false. This would be easy enough to do if it were simply one instance of the words:
There’s nothing wrong with making mistakes, in fact I highly recommend it. However, if I make a mistake and I have no plan for preventing it from happening again, that feels pretty lame. One mistake I have made before, is forgetting if I am on a live installation or a staging installation. When I say…