# Data into meaning · Explaining with interaction

<!-- https://learn-ui.com/chapters/explaining/data-into-meaning -->

[Amelia Wattenberger](https://wattenberger.com) introduces herself in one sentence: “I create things on the web, explore novel interfaces, turn data into meaning, and empower devs with AI.” She is “a Principal Research Engineer exploring novel UIs + playing with ML on a tiny R&D team within GitHub,” GitHub Next; Maggie Appleton’s collection lists her as “Research & development at GitHub. Previously Designer at Adept.” Her 2019 archive says what she taught front-end developers for years: Combining React and D3, Use the d3 force, The CSS Cascade, Scaling SVG Elements, Thinking in React Hooks, How to learn D3.js.

### Charts as an x-ray

Before GitHub she was a front-end developer at The Pudding, and [Fullstack D3 and Data Visualization](https://www.newline.co/fullstack-d3) condenses “the past ten years that I’ve been visualizing data.” “Charts are like an x-ray for your data,” the book is “not a reprint of the API docs,” and “Within the first 10 minutes you’ll be creating your own custom D3 charts.” It covers design principles and when to use which chart, not only code; readers quoted on the page name the bar chart and Sankey chapters, the enter-exit-update pattern, and `join()`; the course runs to more than five hours of video across more than fifty lessons. The thread through everything after is data into meaning, with the reader in control of the view.

### Code you can see

Her GitHub Next work applies the same instinct to code. The [repo-visualizer](https://githubnext.com/projects/repo-visualization/) draws “each file and folder as a circle,” colour for type and size for size, a “fingerprint” redrawn by a GitHub Action on every change. [GitHub Blocks](https://blocks.githubnext.com) argued that “READMEs don’t have to be static.” [Collaborative coding workspaces](https://githubnext.com/projects/workspaces/) held that “Remote collaboration isn’t about multiple cursors, it’s about sharing context.”

[Code Brushes](https://githubnext.com/projects/code-brushes/) in Copilot Labs made editing feel like painting: “select a few lines, choose your brush, and see your code update.” [Copilot for Docs](https://githubnext.com/projects/copilot-for-docs/) asked “What would it feel like to have an expert on hand?” and insisted on citations into the docs, “Instead of acting like an oracle.”

[Code Atlas](https://githubnext.com/projects/code-atlas/) took the tension of the moment, that LLMs bring **fluid reasoning** (The biggest revolution from Large Language Models (LLMs) is the introduction of fluid reasoning.) while “we still need rigid reasoning for trust, safety, and reliability,” and made the model build its answer as a visible workflow of small JavaScript blocks with inputs and outputs, so “the user can play with it at almost no cost” (counting letters, which models struggle with, is easy in a snippet). The Blocks, Copilot Labs, and Copilot for Docs previews all ended on December 15, 2023; the ideas did not.

### Why chatbots are not the future

[Why Chatbots Are Not the Future](https://wattenberger.com/thoughts/boo-chatbots) gives four reasons. Affordance: gloves are hand-shaped, but a chat box “looks the same as a Google search box, a login form, and a credit card field.” Context: “the burden to learn what works still lies with every single user. When it could instead be baked into the interface.” Isolation: comparing two responses means scrolling line by line, and the lack of a **working buffer** (I can't help but see the inability to have a 'working buffer' as a complete non-starter.) is “a complete non-starter.”

The craft loop: a painter alternates between smooshing paint and stepping back, and “Good tools let the user choose when to switch between implementation and evaluation.” The essay ends on a spectrum from human task to machine with a **No man’s land** (There's a No man's land where the human is still required to make decisions, but they're not in control of the outcome.) between, and a position: “I want to see more tools and fewer operated machines.”

Three shorter essays sharpen it. [Our interfaces have lost their senses](https://wattenberger.com/thoughts/our-interfaces-have-lost-their-senses) says the digital world is “Reduced to text under glass screens,” lists outputs (text, visualizations, sound, haptics) and inputs (typing, clicking and dragging, tapping and swiping, gesturing, speaking), and concludes “We made painting feel like typing, but we should have made typing feel like painting.”

[Fish eyes](https://wattenberger.com/thoughts/fish-eye) borrows from maps and proposes the **fish eye** (A fish eye lens doesn't ask us to choose between focus and context): a detailed article in the centre with broader, similar, narrower, and related topics around it, or an editor where “the function you’re working on is fully expanded, related functions are summarized nearby.” A chatbot answer is “as if you opened a book to one random sentence, read it, and closed the book again”; “Is 42 a high number? A low one? Without context, it’s impossible to say.” [Putting knowledge in its place](https://wattenberger.com/thoughts/this-is-not-a-rant-about-chatbots) likens follow-up questions to “searching a dark room by pointing a flashlight and turning it on for a second at a time”; show the chosen pizza in the distribution of prices and ratings and the reader is oriented.

### From critique to construction

[LLMs as a tool for thought](https://wattenberger.com/thoughts/llms-as-a-tool-for-thought) says most people use chatbots “only as a way to steer somewhere,” but “A good tool for thought is an extension of your mind” that matches the cadence of thinking. [Bridging the hard and the soft](https://wattenberger.com/thoughts/hard-and-soft) frames interfaces as the meeting of soft humans and hard machines; ChatGPT “can feel too soft,” and her model is a spine, hard segments joined by soft material: hard-coded modules “to give the user solid ground to stand on,” and interfaces that start rigid and loosen with familiarity.

[Getting creative with embeddings](https://wattenberger.com/thoughts/yay-embeddings-math) builds PenPal, a writing app “In defiance of the ‘AI will write everything for us’ narrative,” around “making the implicit explicit”: her 2020 tool mapped sentence lengths to a colour scale; with embeddings she averages examples of each extreme into two points and places a sentence on the vector between them, so “a sentence with a score of 0.5 is halfway between the two examples.” [Code was our medium for thought](https://wattenberger.com/thoughts/code-is-a-medium-for-thought) turns to agentic coding: “We thought code was the output,” she writes, “but code was also where we did our thinking,” and asks, “What if agents created a custom whiteboard or playground for us, as soon as we started working?”

Aside

Maggie Appleton agrees from her side. In [Language Model Sketchbook](https://maggieappleton.com/lm-sketchbook) she calls the chatbot “the lazy solution” and “only the obvious tip of the iceberg,” and [her Enlightenment essay](https://learn-ui.com/chapters/explaining/digital-gardens) blames “the generic interface of the helpful chatbot assistant.”

Read together, these are one argument in different materials: a chart is data made visible and steerable, a repo drawn as circles is a codebase made visible, Code Atlas is a model’s reasoning made visible and editable, and the chatbot critique says a text box shows none of that. The practical test is hers: when a tool you build shows a result, can the reader see where it sits (the distribution, the neighbours, the structure above and below) and reach in to adjust it without starting over? If the answer is a scroll of text, you have built an oracle where a tool was needed.
