Dot matrix button
An AI button whose icon is a grid of dots, seven by seven, that pictures what the button will do. It reads its own label, so Summarize deal shows lines getting shorter and Suggest next steps shows a staircase.
Why
I designed it for the boilerplate my team builds products on, where AI actions sit beside ordinary ones. The usual sparkle on every AI button says only that a model is involved. These pictures also say what it is about to do, and the button acts that out while it works.
Try it
Light theme
Primary
Secondary
Dark theme
Primary
Secondary
Point at a button, or tab to it, and its picture moves. Press one, and its label says what it is doing while the picture keeps moving, for about three seconds.
A long wait
When the work takes a while, the loader plays other shapes between repeats of the action’s picture: a beating heart, a winking face, a space invader, a snake. They mean nothing, so the action’s picture comes back after each one, and the meaning is never gone for long.
Here each shape is in its own color: a red heart, a yellow smiley, blue rain. The action’s picture keeps the page’s ink, as on the buttons. The colors are new here; in the boilerplate every dot takes the label’s color.
Light theme
- 72px
- 32px
- Button, 20px
Dark theme
- 72px
- 32px
- Button, 20px
Summarize: a paragraph’s lines shrinkThe action being waited for. It comes back after every shape.
Nothing plays until you press Play the wait. Each shape then plays for five seconds before the next.
Seven pictures
Each picture at rest is the finished state of its own animation, so the still icon and the moving one are the same drawing.
Lines of falling length
- Moving
- A paragraph’s lines shrink
- Labels
- Summarize, Condense, Shorten, Generate summary
A staircase
- Moving
- Built step by step, then a dot climbs it
- Labels
- Suggest, Recommend, Plan, Get next steps
Two lines, and a cursor in the middle of a third
- Moving
- The cursor erases the line and types it again
- Labels
- Rewrite, Rephrase, Improve, Translate
Four lines, the last one short
- Moving
- The lines type out
- Labels
- Draft, Write, Compose, Generate email
A speech bubble with three typing dots
- Moving
- Its typing dots appear one by one
- Labels
- Ask, Explain, Get answer
Four bars
- Moving
- The bars grow to their values
- Labels
- Analyze, Forecast, Compare, Generate insights
A four-point sparkle
- Moving
- It flares into a star and settles
- Labels
- Generate, Brainstorm, anything else
How it reads the label
It takes the first word. Summarize, Condense and Shorten mean a summary. Suggest, Recommend and Plan mean next steps. A general verb such as Generate or Get hands the choice to the word after it, so Generate summary is a summary and Get next steps is a staircase.
A label it does not know gets the sparkle. So does one that names an ordinary action, such as Save as template: an AI button never pictures a save or a delete.
What I decided
- Still until asked. A screen of AI buttons that all move is noise, and the movement would stop meaning anything. A picture moves when someone points at it, focuses it or presses it.
- Working is the same picture. A pressed button keeps acting out its action, and its label turns into what is happening: Draft follow-up email becomes Drafting follow-up email. A spinner would only say busy.
- The dots are the label’s color. The first version drew them in a fixed light blue for AI, which measured about 2:1 on the filled button, and the dots all but disappeared. In the label’s color they pass wherever the label does.
- The words carry the meaning. The icon is hidden from screen readers. The label says what the button does, and on this page a status line says when it is working and when it is done.
What is still open
- Reduced motion. Here, a reader who asked for less motion sees the pictures hold still, and the label alone says the button is working. The boilerplate plays them at half speed instead, because a loader that stops looks like work that has stopped. I have not settled which is right.
- English only. The label reading knows English verbs. A translated label gets the sparkle, which is safe but says less.
- Seven dots at button size. The icon is 20px, so each dot is 2px. Seven by seven has room for a heart or a staircase, and an odd grid gives every shape a center; whether the icon still reads at a glance, or needs the boilerplate’s five by five, is not settled.
The grid started from the DotLoader in PaceUI. The pictures, the label reading and the working state are new. The boilerplate draws every picture five dots by five; this page redraws each one seven by seven.