From Magic Ink (Bret Victor):
Human intellectual activities can be classed as either:
- Learning
- Creating
- Communicating
We should consider how software should differ for each of these activities.
Information software
- How to most effectively transfer an idea to a human.
- The model exists outside of the human mind, the goal is to allow the person to prod at the model to build their own. Each person has a unique format that is best for them. The "perfect sentence to grok anything" (Reading).
- The model should present itself to the user in a way that is kind, gentle, and digestible. The user should be able to interact with it. Probe, prod, toss, dance.
Manipulation software
- Could argue it is the opposite goal of information software, the user has a model in their mind, and they want to communicate it to the machine. (How does this differ from communication software?)
- The machine should also be kind, that it accepts the user's inputs for what they are, and can weave a beautiful tapestry from loose twine. (Maybe this should make me update that Voice is not the ideal interface may actually be ok.)
See Playgrounds.
Communication software
- Communicating a model between humans.
- Is the best shape one with an intermediary, a man in the middle, interpreter agents for each person, who in/egress the model in the ideal form to their user?
- Could have the downside of increasing the surface for translation errors/things to get lost.
- Yes! This I am right. This is information software for the listener, and communication software for the speaker. It's both. (I do think this paper is a little old but it is fun to apply its framework to current thoughts with agents.)
- Different modes in Gmail for reading/writing, yeah makes sense.
Mechanical metaphors are extra noise
Most people using software are not creating, they are sitting down in front of their computer to rearrange their own neurons, ask questions, making comparisons, and drawing conclusions, for learning!
And to do this most people only care about the means to an end, they don't want to rotate a mechanical object in order to complete a task. Mechanical metaphors are extra noise.
For example, consider calendar or datebook software. Many current designs center around manipulating a database of "appointments," but is this really what a calendar is for? To me, it is about combining, correlating, and visualizing a vast collection of information. I want to understand what I have planned for tonight, what my friends have planned, what's going on downtown, what's showing when at the movie theater, how late the pizza place is open, and which days they are closed. I want to see my pattern of working late before milestones, and how that extrapolates to future milestones. I want to see how all of this information interrelates, make connections, and ultimately make a decision about what to do when.
(Bret Victor, Magic Ink)
Is the answer here given answers with simply probabilities (as hidden detail)? Either you will prefer going to dinner at 4pm if you want to work on that project, if you want to have fun go get pizza at 7. These can be the lists of options we talk about in MCQs. The good interface is not asking you every fine detail in an MCQ because that would be too frustrating and also many things are related! I would only get pizza if it's with a friend who only can if they finish working on Y, etc etc. The smart model should group a lot of these things together.
See Induced fit.