算法艺术创作
algorithmic-art
通过代码和可调参数创作生成艺术与交互式视觉效果。
chunking【设计与创意】Use this skill whenever the user must hold a sequence of items in working memory — phone numbers, OTP codes, account IDs, address strings, multi-step instructions, long forms, navigation menus with many items. Trigger when designing OTP / verification UIs, formatting numeric strings, breaking long forms into sections, grouping nav items, or reviewing…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Chunking is the practice of grouping a long string of items into a smaller number of meaningful units, each containing a few items. The classic insight: working memory can hold only a handful of independent items, but each "item" can itself be a chunk containing several pieces. Phone numbers are easier to remember as 555-867-5309 (three chunks) than as 5558675309 (ten digits). The same principle applies broadly across UI design.
Working memory is a small, short-lived store for the items the user is actively manipulating. Its capacity is roughly four to seven independent units. When information is presented as one long unbroken sequence, the user has to hold all of it as separate units and quickly hits the limit. When information is grouped into a few meaningful chunks, the same total content fits within the working-memory budget. Chunking is the design technique for fitting information to that budget.
When users must hold multiple items in mind — to dial a phone number, type a confirmation code, follow multi-step directions, complete a multi-part form — the amount they can hold determines whether they succeed. Exceeding working memory means they make mistakes, look back, or give up.
Chunking expands the effective capacity by packing more information into each chunk. A user can hold roughly 4 chunks; if each chunk contains 3 digits, that's 12 digits total — meaningful for phone numbers. Without chunking, 12 raw digits is well past the limit.
Chunking also accelerates learning: chunked patterns become familiar units (the "555" prefix becomes one chunk, not three) and free up capacity for new information.
The book's specific warning: don't chunk reference content the user scans rather than memorizes.
The discriminator: are users holding the items in mind (apply chunking) or finding them (don't)?
Different sources give different numbers; the working consensus:
These are heuristics; specific tasks may justify different sizes. The grouping should always be perceptually clear (visual gap, dash, slot separation).
Most common chunking case. A 10-digit US phone number formatted three ways:
5558675309 ← unchunked: 10 digits, hard to verify or recall
555-867-5309 ← three chunks: 3-3-4
(555) 867-5309 ← same three chunks, with area code marked
555 867 5309 ← spaces instead of dashes
The chunked versions are easier to read aloud, easier to verify, easier to remember briefly. Most international phone formats follow similar logic.
A 6-digit OTP entered into a single field is hard to verify mid-entry. Chunked input fields make each digit's position visible:
<input type="text" inputmode="numeric" maxlength="6" /> <!-- unchunked -->
<!-- vs. chunked input -->
<div class="otp-input" role="group" aria-label="Verification code">
<input type="text" inputmode="numeric" maxlength="1" />
<input type="text" inputmode="numeric" maxlength="1" />
<input type="text" inputmode="numeric" maxlength="1" />
<span class="separator" aria-hidden>—</span>
<input type="text" inputmode="numeric" maxlength="1" />
<input type="text" inputmode="numeric" maxlength="1" />
<input type="text" inputmode="numeric" maxlength="1" />
</div>
The chunked version (3-3) helps users verify they typed the right digits and matches the chunked format that's typically displayed in the originating email or SMS.
A 24-field signup form is overwhelming. Group into 4 sections of ~6 fields each, with named headings:
<form>
<section>
<h2>Account</h2>
<!-- 5 fields: email, password, name, etc. -->
</section>
<section>
<h2>Profile</h2>
<!-- 4 fields: title, bio, photo, etc. -->
</section>
<section>
<h2>Workspace</h2>
<!-- 6 fields: workspace name, members, etc. -->
</section>
<section>
<h2>Preferences</h2>
<!-- 5 fields: notifications, language, etc. -->
</section>
</form>
The user holds in mind "I'm in the workspace section" rather than "I'm at field 17 of 24." Each section is a manageable chunk.
A sidebar with 18 nav items is hard to scan; grouped into 3 themed sections of 6 items each:
<nav>
<h3>Workspace</h3>
<ul>
<li><a href="/dashboard">Dashboard</a></li>
<li><a href="/projects">Projects</a></li>
<li><a href="/team">Team</a></li>
<li><a href="/calendar">Calendar</a></li>
<li><a href="/files">Files</a></li>
<li><a href="/inbox">Inbox</a></li>
</ul>
<h3>Reports</h3>
<ul>...</ul>
<h3>Settings</h3>
<ul>...</ul>
</nav>
Users learn the section structure quickly and use it to predict where things live.
An address string is a chunked structure even when displayed compactly:
1234 Main Street, Apt 5B
San Francisco, CA 94110
Two-line break separates "street" chunk from "city/state/zip" chunk. The internal commas chunk apartment from street and city from state from zip. Users parse and recall this far better than the same characters in one continuous line.
"To set up your account: Open Settings, click Notifications, choose Email, set frequency, save changes" — five steps in one sentence. Chunked as a numbered list:
1. Open Settings
2. Click Notifications
3. Choose Email
4. Set frequency
5. Save changes
Easier to follow; users can mark progress and look back at any step.
Western music notation chunks notes into measures (typically 3 or 4 beats). Beats group into bars; bars group into phrases; phrases group into sections. Musicians read music as nested chunks, not as individual notes.
Skilled readers don't process individual letters; they process chunks (common letter combinations, then whole words, then phrases). Speed reading techniques are largely about recognizing larger chunks more efficiently.
Expert chess players recall positions vastly better than novices — not because their working memory is larger, but because they chunk pieces into meaningful patterns (a defensive formation, an opening structure). De Groot's classic studies (1965) showed that experts and novices recalled random piece arrangements equally; the expert advantage came entirely from recognizing meaningful chunks.
Area codes are mnemonic chunks that group geography into recognizable units. "212" is Manhattan; "415" is San Francisco. The numeric chunk doubles as a categorical signal.
performance-load — chunking is the canonical reduction of cognitive load.hicks-law — fewer visible options means faster decisions; chunking and Hick's Law often combine in nav design.progressive-disclosure — disclosure works between chunks (show one section, hide others); chunking works within the visible content.mnemonic-device — chunking is itself a mnemonic technique; explicit mnemonics layer on top.signal-to-noise-ratio (perception) — well-chunked content has less perceptual noise.proximity (perception) — proximity is the visual mechanism for showing chunks: closer items group, gaps mark boundaries.hierarchy (perception) — chunked content carries a hierarchy of structure (sections > items).chunking-form-grouping — applying chunking to long forms.chunking-numeric-and-otp — applying chunking to numeric strings, OTP codes, and identifiers.Chunking is the cheapest cognitive lift available in design — it costs only structure, not new content. The discipline is recognizing when content is being held in working memory (chunk it) versus scanned for retrieval (don't add chunks; use search). When applied correctly, chunking turns "too much to hold" into "manageable."