Happy 4th of July, observed!
I was talking with a friend recently the challenges of working at the fringes of several established fields. I see computers as a medium for thinking. My goal is to make computers a more expressive medium so my current research interests are all aimed at improving expressiveness. But what do you call that? What “field” is my research in? If I were going to join an academic department, what would the name of that department be? If I were going to write a grant, what category would that grant be under? The best shorthand “name” I have right now is “tools for thought.” While evocative, it’s too broad and non-specific and it’s also seen a lot of hype around it lately.
Here are some of the questions I’m pondering:
- How might we represent knowledge visually? With text? Images? Video? Or would a video game more accurately convey knowledge? This is near the field of HCI. With a little information science and epistemology thrown in.
- How should we represent knowledge within the computer? Currently, a lot of “knowledge” is held in text, or in relational databases. Are there other ways we could better represent it? Graph databases are catching on in the “personal knowledge management” space. What characteristics do they have that lend themselves well to representing knowledge? This sounds like the field of databases.
- What does it even mean for someone to know something? If our goal is to build an expressive tool for representing and transmitting knowledge, we should probably have a good idea of what our goal is. How do we know we’ve accomplished the goal? Ok, this is definitely epistemology and maybe some ontology as well. Are we doing philosophy now?
- How might humans collaborate to simultaneously interact with some knowledge representation? What should the interface be like? How do we collaborate in real-time, with as little delay as possible? Now we’re into distributed systems territory.
- If knowledge is represented in a dynamic way via a simulation, how do we allow people to rapidly construct simulations of what they know? Can effective simulations be built without code? Can we make it easier to write code that represents a simulation? Now we’re thinking about programming languages, formal systems, and dynamic simulations.
I think you can see the rub.
When you’re working at the fringes, research questions can fall across several fields while not being wholly contained by any of those fields. We’re not researching databases or HCI. We’re not doing philosophy or researching programming languages. At the same time, we’re drawing from all of those fields.
Why does all of this even matter? Because names matter. Names grant legibility. They give people something to rally around, they define the scope of an idea, they give you a shorthand for referring to the work that’s being done. A field can’t be defined simply by intersection.
One of my favorite analogies for innovative work is the mapmaker. In making a map, the map maker defines the edges, mark out what’s in and what’s out, and give names to places. When innovating in a new space, a Very Important role is making the map.
Over the past year, I’ve been scouting out all the interesting things that I could find related to “tools for thought”–people, projects, books, talks, research papers–and compiling it all together.
Think of this update as a weekly report from a mapmaker, sharing my findings with you every week.
Things that caught my eye
- GitHub released Copilot this past week, a program synthesizer powered by OpenAI that’s integrated directly into VS Code with an interface that resembles autocomplete. I wrote an exploration of how program synthesizers could lead us to a style of conversational programming where we dialogue with the AI around the code we’re writing.
- I’m going to help organize some discussion around Tools for Thought over the coming months under the heading of the Tools for Thought Interchange. The last two meetings (recap of event one and event two) were great! Some really fund demos and great discussion. If you’re interested in speaking, let me know!
- Cities are large-scale, complex dynamic systems, and a lot of our tools for thinking about and creating cities aren’t terribly effective. I really enjoyed this Metamuse podcast where Devon Zeugel, Mark McGranahan, and Adam Wiggins talked cities, complex systems, and the challenges and opportunities in creating cities of the future. Give it a listen!