Principle

I like good design principles. I collect design principles—of varying quality—at principles.adactio.com. Ben Brignell also has a (much larger) collection at principles.design.

You can spot the less useful design principles after a while. They tend to be wishy-washy; more like empty aspirational exhortations than genuinely useful guidelines for alignment. I’ve written about what makes for good design principles before. Matthew Ström also asked—and answered—What makes a good design principle?

  • Good design principles are memorable.
  • Good design principles help you say no.
  • Good design principles aren’t truisms.
  • Good design principles are applicable.

I like those. They’re like design principles for design principles.

One set of design principles that I’ve included in my collection is from gov.uk: government design principles . I think they’re very well thought-through (although I’m always suspicious when I see a nice even number like 10 for the amount of items in the list). There’s a great line in design principle number two—Do less:

Government should only do what only government can do.

This wasn’t a theoretical issue. The multiple departmental websites that preceded gov.uk were notorious for having too much irrelevant content—content that was readily available elsewhere. It was downright wasteful to duplicate that content on a government site. It wasn’t appropriate.

Appropriateness is something I keep coming back to when it comes to evaluating web technologies. I don’t think there are good tools and bad tools; just tools that are appropriate or inapropriate for the task at hand. Whether it’s task runners or JavaScript frameworks, appropriateness feels like it should be the deciding factor.

I think that the design principle from GDS could be abstracted into a general technology principle:

Any particular technology should only do what only that particular technology can do.

Take JavaScript, for example. It feels “wrong” when a powerful client-side JavaScript framework is applied to something that could be accomplished using HTML. Making a blog that’s a single page app is over-engineering. It violates this principle:

JavaScript should only do what only JavaScript can do.

Need to manage state or immediately update the interface in response to user action? Only JavaScript can do that. But if you need to present the user with some static content, JavaScript can do that …but it’s not the only technology that can do that. HTML would be more appropriate.

I realise that this is basically a reformulation of one of my favourite design principles, the rule of least power:

Choose the least powerful language suitable for a given purpose.

Or, as Derek put it:

In the web front-end stack — HTML, CSS, JS, and ARIA — if you can solve a problem with a simpler solution lower in the stack, you should. It’s less fragile, more foolproof, and just works.

ARIA should only do what only ARIA can do.

JavaScript should only do what only JavaScript can do.

CSS should only do what only CSS can do.

HTML should only do what only HTML can do.

Have you published a response to this? :

Responses

Andrew Travers

Nice to see Co-op’s design principles feature in @adactio’s list linked here. Pretty proud of that collective effort. You have to be inside an org to appreciate the context but they were, for us, part intent, part provocation. Said with feeling. adactio.com/journal/15559

Patrick Haney

@adactio should only do what only @adactio can do”, which is to say that Jeremy once again has thoughtfully explained why the “appropriate” technology stack is more important than the “latest” one adactio.com/journal/15559

Stuart Robson

> “It feels “wrong” when a powerful client-side JavaScript framework is applied to something that could be accomplished using HTML. Making a blog that’s a single page app is over-engineering.” Principle from @adactio adactio.com/journal/15559

Šime Vidas

Even a blog site requires a tool that builds, generates, renders the site. Why couldn’t that tool be a JS framework? Depending on how you use it, it doesn’t have to be over-engineering.

Andy Bell

Eleventy is JavaScript and pre-builds a static HTML website. This is fine. What the quote references are projects like Gatsby that do similar but then push a ton of JavaScript down the pipe which makes the blog behave like an SPA, which is completely unnecessary.

# Posted by Andy Bell on Saturday, July 27th, 2019 at 5:47am

Gerry McGovern

“Any particular technology should only do what only that particular technology can do. — Take JavaScript, for example. It feels “wrong” when a powerful client-side JavaScript framework is applied to something that could be accomplished using HTML.” adactio.com/journal/15559

Gerry McGovern

“Choose the least powerful language suitable for a given purpose. Or, as Derek put it: “In the web front-end stack — HTML, CSS, JS, and ARIA — if you can solve a problem with a simpler solution lower in the stack, you should.” adactio.com/journal/15559

2 Shares

# Shared by Jacky Alciné on Friday, July 26th, 2019 at 7:29pm

# Shared by Aleksi Peebles on Saturday, July 27th, 2019 at 4:54pm

7 Likes

# Liked by Chris M. on Thursday, July 25th, 2019 at 7:24pm

# Liked by Aleksi Peebles on Sunday, July 28th, 2019 at 12:21am

# Liked by Danny on Wednesday, October 20th, 2021 at 8:43am

# Liked by Thomas Michael Semmler on Wednesday, October 20th, 2021 at 8:43am

# Liked by Nicole Sullivan on Wednesday, October 20th, 2021 at 8:44am

# Liked by Adam Argyle on Wednesday, October 20th, 2021 at 3:42pm

# Liked by Tesssssssssssssssssssssssssssssssssssss 🐍🐍🐍🐍🐍 on Wednesday, October 20th, 2021 at 7:45pm

Related posts

Making the Patterns Day website

The joy of getting hands-on with HTML and CSS.

Media queries with display-mode

I never would’ve known about the `display-mode` media feature if I hadn’t been writing about it.

Unobtrusive feedback

An interface pattern for Ajax interactions that’s borrowed from video games.

Mind the gap

If you’re making a library or framework, treat it like a polyfill.

Putting design principles into action

There are observational principles, and there are imperative principles. Let’s put them together.

Related links

Introducing TODS – a typographic and OpenType default stylesheet | Clagnut by Richard Rutter

This is a very handy piece of work by Rich:

The idea is to set sensible typographic defaults for use on prose (a column of text), making particular use of the font features provided by OpenType. The main principle is that it can be used as starting point for all projects, so doesn’t include design-specific aspects such as font choice, type scale or layout (including how you might like to set the line-length).

Tagged with

New magic for animations in CSS | Chase McCoy

Hallelujah! We’re finally getting our two wishes for CSS animations and transitions:

  1. Animating to and from display: none; for the sake of enter/exit animations.
  2. Animating to and from the intrinsic size of an element (such as height: auto;).

Tagged with

An Interactive Guide to CSS Container Queries

Another terrific interactive tutorial from Ahmad, this time on container queries.

Tagged with

Retrofitting fluid typography | Clagnut by Richard Rutter

Here’s a taste of what Rich will be delivering at Patterns Day on Thursday—can’t wait!

Tagged with

Designing better target sizes

This is a wonderfully in-depth interactive explainer on touch target sizes, with plenty of examples.

Tagged with

Previously on this day

6 years ago I wrote The history of design systems at Clearleft

From pattern portfolios to Fractal.

8 years ago I wrote Animating

A few examples of animation on the web.

8 years ago I wrote Class teacher

When abstraction becomes obfuscation.

12 years ago I wrote How do I convince…?

All of this has happened before. All of this will happen again.

19 years ago I wrote Geekend in the country

I spent the weekend in Oxfordshire in the company of my fellow geeks and Brit packers. A photo pool has been set up on Flickr so you can see exactly who was there and what merry japes we got up to.

21 years ago I wrote Beach Guardian

Here’s the Guardian article about writing Guardian articles from the beach in Brighton.

22 years ago I wrote Band photos

There’s a local "what’s on?" type magazine here in Brighton called The Source. The next issue of The Source is going to run a feature with a passing mention of my band. Fame at last!