Skip to main content
UI Coach Logo

Learn the principles behind the interface

UX laws, made visual

Explore all UX laws

Latest from the design community

Adam Silver · Apr 21, 2019

Prototype kit extensions, small checkboxes and radio buttons, multi-select autocomplete

Recreated the GOV.UK Design System’s form components in Angular As I’ve been writing about in past weeknotes, this work is all done. We finally have Angular versions of the wonderful GOV.UK Design System form components. Big thanks to Franco . I wrote a little note of appreciation to Franco in his copy of Form Design.

Read

Adam Silver · Apr 7, 2019

Semantic HTML, design crits, GOV.UK form components in Angular, pattern sharing

Things that went well I wrote about the benefits of semantic HTML and ARIA In last week’s weeknotes I said I’d like to write about the benefits of semantic HTML and ARIA one day. And this week I did just that. If only all my plans would happen so quickly. I’m really happy with how it turned out and I’ll share it with.

Read

Adam Silver · Mar 31, 2019

React is not a library, Angular generates wrappers, semantic HTML, defining UX

Finished Insanity Max 30 After a very stressful day on Tuesday I woke up early on the Wednesday feeling like shit. So I ended up missing day 3—booooo! But hey that’s life. I got the rest of the final week done just fine and I can say for certain that I feel way fitter than I did and I’ve lost a bit of fat and my arms.

Read

Adam Silver · Mar 17, 2019

Angular forms, hiding elements, boring development, responsive design mindsets

Insanity Max 30—week 6 The first week of month two was hell. But I did way better in the second week which you can see in my times. First week fail times: 7:01 9:49 7:51 10:42 8:35 Second week fail times: 9:17 10:43 10:01 10:48 11:45 Third week fail times: 17:15 7:14 12:01 8:15 11:43 Fourth week fail times: 19:14 10:4.

Read

Adam Silver · Mar 10, 2019

Extending the GOV.UK Design System, progressive enhancement, naming patterns

Insanity Max 30—week 5 The first month of this program was impossible. And yet, the second month is a level up, which you’ll see in my max out times. First week fail times: 7:01 9:49 7:51 10:42 8:35 Second week fail times: 9:17 10:43 10:01 10:48 11:45 Third week fail times: 17:15 7:14 12:01 8:15 11:43 Forth week fail.

Read

Manuel Matuzovic · Mar 7, 2019

Improving the keyboard accessibility of Embedded CodePens

I'm a huge fan of CodePen (No, they didn’t pay me to write this). I'm using it for prototyping, experimenting, sharing code, and in my latest blog post, The Dark Side of the Grid , I'm also making use of their Embedded Pens . CodePen allows you to customize syntax highlighting, and background and text colors of UI ele.

Read

Adam Silver · Mar 4, 2019

User interfaces: hiding content should be a last resort

A disproportionate amount of time is spent designing complex interactions that hide content at the cost of usability. Links are hidden within menus; hints behind tooltips; images in carousels; all sorts inside accordions and tabs; and labels inside inputs . When we hide content, there’s a greater risk users won’t see.

Read

Adam Silver · Mar 3, 2019

Form builders, design system thoughts, new design system components

Insanity Max 30—first month done Let’s start with the easy one. I’m half way through this two month program. I have seen huge results in my fitness levels in just 4 weeks (results below). Looking forward to and dreading month 2 in equal proportions as I am pretty sure the level goes up a notch. Not to mention how badl.

Read

Manuel Matuzovic · Feb 7, 2019

The Dark Side of the Grid (Part 1)

CSS Grid Layout is one of the most exciting recent CSS specifications because of its flexibility, extent, and power. It makes our lives so much easier but it also creates new dangers regarding user experience and accessibility. Preface It has already been two years since the first browsers, Chromium 57 and Firefox 52,.

Read

Adam Silver · Feb 5, 2019

How to avoid optional form fields with a conditional reveal

The first rule of form design is to only ask for information you actually need to give users a good experience. But sometimes asking for additional information helps the user. Now you could just mark the field as optional. But a lot of the time this is not the best UX. For example, let’s say the user is applying for a.

Read

Adam Silver · Jan 5, 2019

Form design: when to use the number input

This is an excerpt from Form Design Patterns . We’re in the middle of chapter 2, A Checkout Form, where we’ve been looking at the payment details form consisting of card number, expiry, security code from fields etc. The number input ( ) lets mobile users more quickly type a number via a numeric keypad. On desktop, th.

Read

Manuel Matuzovic · Dec 16, 2018

I Threw Away my Mouse

Last year I attended JS Conf Budapest and I watched many great talks but “YES! Your site can (and should) be accessible” by Laura Carvajal was the most thought-provoking talk for me. Laura explained how the Financial Times made accessibility a core part of their development process and she shared several lessons she a.

Read

Adam Silver · Jul 1, 2018

Content is the user experience and what the deuce is content design?

When I was making the final edits to Form Design Patterns , I had to attribute this quote: “Content is the user experience” Caroline Jarrett told me it was Ginny Redish, the author of “Letting Go of the Words”. “Job done,” I thought but then my editor asked me for a reference. So I asked Ginny and she said “I don’t th.

Read

Lea Verou · May 19, 2018

Never forget type="button" on generated buttons!

I just dealt with one of the weirdest bugs and thought you may find it amusing too. In one of my slides for my upcoming talk “Even More CSS Secrets”, I had a Mavo app on a , and the app included a collection to quickly create a UI to manage pairs of values for something I wanted to calculate in one of my live demos. A.

Read

Lea Verou · May 14, 2018

Responsive tables, revisited

Many people have explored responsive tables . The usual idea is turning the table into key-value pairs so that cells become rows and there are only 2 columns total, which fit in any screen. However, this means table headers need to now be repeated for every row. The current ways to do that are: - Duplicating content i.

Read

Manuel Matuzovic · Apr 13, 2018

Another Collection of Interesting Facts about CSS Grid Layout

Last year, I assembled A Collection of Interesting Facts about CSS Grid Layout after giving a workshop. This year, I worked on another workshop and I've learned some more exciting facts about the layout spec we all so love. Of course, I'm not going to keep my knowledge to myself. I'm happy to share my findings once ag.

Read