Loading files
This file is pinned to the selected release. Download the original to open it in your design tool.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
<title>Human-Computer Interaction as Model Exchange | Greenforest I/O</title>
<meta name="author" content="Brian Greenforest">
<meta name="description" content="A practical grammar for human-computer interaction: listen, ask, answer, tell, observe, ignore, interrupt, and resume model-building conversations.">
<meta name="robots" content="index, follow, max-snippet:-1, max-image-preview:large">
<link rel="canonical" href="https://greenforest.io/human-computer-interaction-as-model-exchange.html">
<meta property="og:title" content="Human-Computer Interaction as Model Exchange">
<meta property="og:description" content="Interfaces become easier to reason about when every action is treated as part of a model-building conversation.">
<meta property="og:type" content="article">
<meta property="og:url" content="https://greenforest.io/human-computer-interaction-as-model-exchange.html">
<meta property="article:published_time" content="2022-02-20T21:02:47.516Z">
<meta property="article:modified_time" content="2026-07-28">
<link rel="icon" href="/favicon.ico">
<!-- greenforest:share-metadata:start -->
<!-- greenforest:preview-source:none -->
<meta property="og:site_name" content="Greenforest I/O">
<meta property="og:image" content="https://greenforest.io/social-previews/human-computer-interaction-as-model-exchange.png">
<meta property="og:image:secure_url" content="https://greenforest.io/social-previews/human-computer-interaction-as-model-exchange.png">
<meta property="og:image:type" content="image/png">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta property="og:image:alt" content="Human-Computer Interaction as Model Exchange - Greenforest I/O share preview">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:image" content="https://greenforest.io/social-previews/human-computer-interaction-as-model-exchange.png">
<meta name="twitter:image:alt" content="Human-Computer Interaction as Model Exchange - Greenforest I/O share preview">
<script src="/site-analytics.js" defer></script>
<!-- greenforest:share-metadata:end -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "TechArticle",
"headline": "Human-Computer Interaction as Model Exchange",
"author": {
"@type": "Person",
"name": "Brian Greenforest",
"url": "https://greenforest.io/"
},
"dateCreated": "2022-02-20T21:02:47.516Z",
"datePublished": "2022-02-20",
"dateModified": "2026-07-28",
"temporalCoverage": "2022-02-20/2022-10-18",
"additionalProperty": {
"@type": "PropertyValue",
"name": "Explicit-input refinement",
"value": "2022-10-18T18:37:25.251Z"
},
"description": "A practical grammar for human-computer interaction: listen, ask, answer, tell, observe, ignore, interrupt, and resume model-building conversations.",
"mainEntityOfPage": "https://greenforest.io/human-computer-interaction-as-model-exchange.html",
"proficiencyLevel": "Beginner",
"publisher": {
"@type": "Organization",
"name": "Greenforest I/O",
"url": "https://greenforest.io/"
}
}
</script>
<script src="/common-script.js" type="text/javascript"></script>
</head>
<body class="article-structured">
<header><h1 class="page-title">Human-Computer Interaction as Model Exchange</h1></header>
<address><time datetime="2022-02-20">February 20, 2022</time></address>
<section class="abstract">
<p class="eyebrow">Human-computer interaction</p>
<p class="lead">Every interface conducts a conversation in which people and machines build, inspect, and change models together.</p>
<p>Buttons, forms, search boxes, notifications, documents, dashboards, keyboards, and mice each perform a conversational act: listen, ask, answer, tell, observe, wait, ignore, interrupt, or resume. Naming that act turns many interface problems into familiar communication problems.</p>
</section>
<main>
<section>
<h2>Conversation Already Coordinates Complex Work</h2>
<p>Text alone can coordinate complex work. One person asks, another answers, a third states an intention, and someone announces a change before anybody asks.</p>
<p>Screens add images, controls, animation, audio, and spatial arrangement to that exchange. Showing an image resembles placing it on a table; following a link resembles accepting a document from another person. The medium changes while the need for shared meaning persists.</p>
<p>Each participant carries an internal model of the subject. Communication exposes selected parts of one model so another person can inspect, revise, combine, or act on them.</p>
</section>
<section>
<h2>Four Verbs Drive The Exchange</h2>
<p>Four verbs describe most visible interface work:</p>
<dl>
<dt><strong>Listen</strong></dt>
<dd>Open a particular channel and become ready to receive a message.</dd>
<dt><strong>Ask</strong></dt>
<dd>Request part of a model: current state, explanation, a needed value, or a possible next action.</dd>
<dt><strong>Answer</strong></dt>
<dd>Reveal the requested part of a model in a form that another participant can use.</dd>
<dt><strong>Tell</strong></dt>
<dd>Offer a state change, fact, warning, or invitation before anyone asks.</dd>
</dl>
<p>Listening deserves its own verb. A computer answers only requests that reach an active receiver. A person acts only on notifications that arrive through available, visible, and trusted channels. Message existence and recipient attention describe different states.</p>
<p>Ask and answer reach beyond HTTP. A filter asks a collection for a narrower model. A dashboard answers a recurring operational question. A disabled control explains present availability. A form tells the system which state the person wants to establish.</p>
</section>
<section>
<h2>Observe, Wait, Ignore, Think</h2>
<p>Conversation also contains quiet states. A person observes and waits. A computer waits for input. Either participant turns away from the channel and performs internal work.</p>
<p>That gives us a larger interaction alphabet:</p>
<ul>
<li>listen;</li>
<li>ask;</li>
<li>answer;</li>
<li>tell;</li>
<li>observe or wait;</li>
<li>ignore or think.</li>
</ul>
<p>An interface that represents waiting can avoid false progress. One that distinguishes thought from abandonment can remain calm instead of flashing, nagging, timing out, or stealing focus whenever silence appears.</p>
<p>Waiting can apply to one medium while the larger conversation continues. A loud noise can pause speech while text remains available. A network interruption can pause synchronization while local editing continues. A strong system tracks the unavailable channel and the living process separately.</p>
</section>
<section>
<h2>Every Message Needs A Subject</h2>
<p>A useful message points to a subject that the receiver can identify: this order, that paragraph, the selected motor, tomorrow’s meeting, the current simulation, or the renamed file.</p>
<p>A question explores the model. An answer shares its state. An imperative changes it. An announcement asks the receiver to update it with a passed build, open door, or late train.</p>
<p>Context loss can deliver every word while losing the addressed model. An approval request becomes meaningless when the receiver cannot identify its object. Restoring the subject forms part of message delivery.</p>
<p>Links, selections, visible history, stable names, and local previews keep the subject attached to the exchange and reduce the model reconstruction each person must perform.</p>
</section>
<section>
<h2>Interruption Belongs Inside The Protocol</h2>
<p>Someone can stop an answer halfway, revise a question before completion, or abandon an instruction after seeing its consequence. A machine can interrupt a person’s thought with an alert.</p>
<p>The interaction model should treat interruption as a normal transition and preserve four recoverable facts:</p>
<ol>
<li>What process was in progress?</li>
<li>Which part completed before the interruption?</li>
<li>Which part remains provisional or unsent?</li>
<li>What would resuming actually do?</li>
</ol>
<p>Those facts turn continuation from a gamble into a defined transition. The person can see whether the system saved, submitted, duplicated, discarded, or partially applied the work.</p>
<p>Documents, scripts, and task lists carry earlier thought back into the present conversation. A reminder can revive yesterday’s model at the right moment while respecting the work already in focus.</p>
<p>Messages, drawings, programs, and shared documents also carry another person’s earlier thought into present attention, complete with its subject and open requests.</p>
</section>
<section>
<h2>Medium, Channel, Session, And Process</h2>
<p>These four concepts solve different continuity problems.</p>
<p>A <strong>medium</strong> supplies a general form such as text, sound, or visible movement. A <strong>channel</strong> supplies a particular route through that medium: this chat window, that display, a printed sheet, or a spoken conversation across one table.</p>
<p>A <strong>session</strong> spans one connected period of interaction over a channel. Picking up a pen begins one session; putting it down ends it. A later session can resume the same larger task.</p>
<p>Intention holds the <strong>interaction process</strong> together across broken sessions, changed devices, and long pauses. A circuit can move from notebook to browser to FPGA tool to workbench while remaining one project.</p>
<p>Software gains resilience when it preserves process identity across sessions. A closed tab pauses the work, a dropped connection delays synchronization, and a device change offers another channel into the same continuing process.</p>
</section>
<section>
<h2>Attention Chooses The Active Conversation</h2>
<p>Many signals can arrive at once, but conscious attention usually brings one interaction into the foreground. Selecting a window, looking at a tool, or reaching for an object loads its working context: identity, available actions, recent change, and intended next step.</p>
<p>Familiar actions may continue in the background, yet they differ from several equally detailed foreground conversations. Interfaces that scatter one task across competing channels force repeated context reloads.</p>
<p>Focus represents more than keyboard routing or a highlighted border. It records the user’s present commitment of modeling effort. A focus change should preserve enough state for a clean return.</p>
<p>An object can therefore feel as though it waits. The person maintains an open interaction model: the editor awaits the next line, the instrument the next measurement, and the door the next push.</p>
</section>
<section>
<h2>Objects Answer Through Consequences</h2>
<p>An object responds to manipulation. A pen answers the hand through weight, texture, balance, and movement. A control answers intention through resistance, sound, display, and changed machine state.</p>
<p>When reality differs from anticipation, the difference carries information. A drawer sticks, a motor stalls, or a button moves while the action fails. A humane interface reveals that consequence clearly.</p>
<p>The strongest feedback describes the changed model. A ripple confirms pointer contact; a message that says local save succeeded while synchronization awaits a connection explains the state of the work.</p>
</section>
<section>
<h2><time datetime="2022-10-18">October 18, 2022: Explicit Input Senses Intention</time></h2>
<p>Keyboard and mouse input sense human state through deliberate expression. They complement computer vision by letting people state intentions directly.</p>
<p>Optical recognition sees pixels and infers posture, identity, emotion, or action. A key press names the chosen command; a pointer names a position. Interaction itself supplies evidence.</p>
<p>This shifts the design question from inference alone toward expression: can the interface give the person a comfortable, private, and correctable way to state what they want?</p>
<p>One surface can carry interaction in both directions. A display presents state and accepts touch. A keyboard tells the machine and answers through motion, sound, and light. Push and pull, imperative and declarative, control and presentation describe roles within an exchange rather than permanent device properties.</p>
</section>
<section>
<h2>Test The Conversation Beneath The Interface</h2>
<p>For every consequential screen or device, ask:</p>
<ol>
<li>Which model are the person and machine trying to share?</li>
<li>Who is listening, and through which channel?</li>
<li>Is this action an ask, answer, tell, observation, or intentional silence?</li>
<li>What happens if either party interrupts it halfway?</li>
<li>Can the interaction resume in another session without losing its subject?</li>
<li>Does feedback describe the resulting state, or only acknowledge the gesture?</li>
<li>Are we inferring human intent when we could let the person express it directly?</li>
</ol>
<p>These questions expose the conversational machinery beneath visual style. When that machinery carries subject, attention, state, and continuity correctly, the screen can become quieter and more powerful.</p>
</section>
</main>
<nav class="article-links">
<p>Next:</p>
<a href="/the-url-is-a-camera.html">The URL Is a Camera</a>
<p>Carry model exchange into web architecture, where path and role select the viewpoint that a server projects.</p>
<p>More:</p>
<a href="/linkedin-archive/2022-03-11-disseminated-thought-can-be-improved.html">Disseminated Thought Can Be Improved</a>
<p>Follow one message beyond the live session as publication makes thought available for revision and response.</p>
<a href="/">Back to greenforest.io</a>
</nav>
</body>
</html>
44b2ffa79This file is pinned to the selected release. Download the original to open it in your design tool.