Discuss this episode in the Muse community
Follow @MuseAppHQ on Twitter
Show notes
00:00:00 - Speaker 1: One of the luxuries of industrial research is that
you’re not bound to the traditional rigor and neutrality required of
academic research or just science in general. We’re allowed to have an
opinion. We had a number of people who are reviewing the essay comment,
what’s what the feelings, take this feeling section out, it’s not
defensible, and I felt like it needed to be addressed, because to me,
that’s the most important part.
00:00:30 - Speaker 2: Hello and welcome to Meta Muse. Muse is a tool for
deep work on iPad and Mac. This podcast isn’t about Muse product, it’s
about the small team and the big ideas behind it. I’m Adam Wiggins,
joined by our guests today, James Lindenbaum. Hey there. And Shimon
Kjeski. Hello, both from Ink and Switch. And James, you and I have been
colleagues and friends for a pretty long time now, so I happen to know
that similar to Muse team member Yula, you are a huge cocktail nerd. Any
experiments in that area these days?
00:01:04 - Speaker 1: Oh, there’s always ongoing experiments. Yeah, I
recently decided to move to keging cocktails when you have a bunch of
guests coming over. I often will batch up a cocktail. So it’s faster to
serve, and you can also be really persnickety about, you know, micro
adjustments to amounts and things like that and really dial in the
recipe, and I decided to move to kegging the cocktails on low pressure
nitrogen, so they could be cold and pre-diluted and ready to drink.
It’s basically front loading the work so that I don’t have to do much.
I can actually hang out with my guests, but there’s always interesting
things you learn when you start changing things around like that.
00:01:40 - Speaker 2: And I do feel like the cocktail preparation is
part of the experience of being a host or something like that. I guess
if you have a lot of people there and then you’re doing nothing but
being heads down in your bar, then that’s not really being a very good
host, but there also is something to the, yeah, the prep tool, I guess.
00:01:59 - Speaker 1: Well, as you well know, I’m a bit of a
perfectionist. I enjoy having the time to really like try to perfect a
cocktail, really dial it in. And one of the ones I made recently, I
stole from this really awesome bar in San Francisco called Kona Street
Market, and there’s this drink called the Banana stand. It’s an
Arrested Development reference.
00:02:18 - Speaker 2: It’s the first thing that popped into my mind,
always money in the banana stand.
00:02:23 - Speaker 1: And it really blew my mind when I had it, and then
I’ve talked to the guys there about it, and then I’ve been just like
gradually trying to recreate it on my own and get it dialed in. But I
think we’re there, I think we’re close enough to perfection. We’re
certainly close enough that you would have made me ship it at this
00:02:37 - Speaker 2: It’s a little inside joke there for the
listeners, James and I have a long time, let’s call it productive
tension, usually productive of, I like to ship stuff, and he likes to
make it perfect, and hopefully somewhere in the middle of that is sort
of an ideal place to be. And we’d love to hear a little bit about both
your backgrounds, maybe Shimon, you can start us out.
00:02:57 - Speaker 3: Yeah, sure. So, for the last 2 years or so, I’ve
been principal investigator at GSwitch and occasionally doing consulting
research projects. Before that, my background is I’ve been running a
small R&D studio and we’ve been basically working on unusual interface
problems, things like designing and building the Spola acting engine for
European Space Agency or some kind of like interface for exploring
machine learning for molecular synthesis. And before that, my background
was in actually creative coding. I was doing work on museum art pieces,
doing for interactive art, data visualization, stuff like that. What I
do also, other than work, I make a little bit of experimental music and
various computing projects for fun.
00:03:40 - Speaker 2: Yeah, I feel that the music experiments that you
do and performances sometimes, right? Also bleeds into your, yeah,
creative coding, artistic interfaces, a little bit.
And I think I personally take a lot of inspiration from the prosumer
world of like audio gear and the interfaces there that are sort of
designed to create art but also intended to be pragmatic, right? You’re
doing a performance or something like that and those knobs. You gotta be
able to grip it in the right way or whatever, so I feel like you often
bring your music world, electronic music world stuff, and you work in I
can switch, and I always enjoy that personally, but I’m also a person
with a little bit of an electronic music background, so maybe that’s
00:04:21 - Speaker 3: Yeah, the word there is definitely a little bit
different and interesting, so I know if there are any UI designers
listening to this, I encourage you to just browse Pinterest for music
stuff. There’s a lot of interesting differences there.
00:04:33 - Speaker 2: And James, you and I have worked together for a
very long time, including perhaps most notably in co-founding Hiroku,
and we also created the In Code Switch Research Lab together with some
other great folks, but maybe you can fill in a little more of the story
00:04:48 - Speaker 1: Sure, yeah, well, I have always been, as I like to
say, constitutionally unemployable, so I started a number of things over
the years, but yeah, most notably was probably Hiroku with you and our
After that, I found that there were a lot of people coming to me,
founders of developer facing companies who, you know, wanted help, and I
ended up advising and sitting on boards and whatnot, and eventually
starting what is now a venture capital firm called Heavy Bit, which
specializes in, you know, developer facing infrastructure kind of stuff.
And so I’m still there, I spent a lot of time there, though I’ve kind
of worked my way from being a founding full-time partner there to being
a more part time. Yeah, and then you and I co-founded the lab and can
switch, which is where I spend, let’s say more of my time these days.
I’d like to spend all of my time there, but, you know, there’s so many
00:05:39 - Speaker 2: Well, let’s be honest, when it comes to paying
the bills, investing in developer tools companies is probably a better
00:05:47 - Speaker 1: Yeah, I mean, you know, the path to money is more
clear, that’s certainly true. It’s still enjoyable though, there’s so
much innovation happening on that front, it’s still intellectually
interesting, and there’s a lot of fun stuff happening there, but it
certainly feels a lot closer in than the weird stuff we’re doing at the
00:06:04 - Speaker 2: And you both recently published an essay on your
latest research project called Ink Base. Of course, I’ll like that in
the show notes, but can you give us an overview for folks who haven’t
00:06:14 - Speaker 1: Sure, yeah. So, in the lab, we have a research
track that is all about programmable ink, sort of a combination of doing
stuff on tablets, thinking about digital ink, and thinking about end
And this project Inkbase, it was basically the 5th, depending on how you
count the 5th project in that track of 8 that we are now that we’re
currently working on project number 8.
Yeah, in that track, and we’re publishing this essay a little bit out
of order because we wanted to take the time and this one to sort of lay
a little bit more of the groundwork, sort of define what the problem is,
what we’re trying to do. So we spent a little bit more time writing it
than some of the write-ups of projects that came subsequently, like
Crosscut and Untangle. But yeah, we’re happy to have this out there and
have people, you know, start to grok what it is that we’re doing here
with this weird program of link stuff.
00:07:05 - Speaker 2: Yeah, so this whole track of end user programming
is certainly one that, I mean, you know, that concept is something that
It was something that was a kind of founding idea that we knew we wanted
The three of us worked on an essay titled End user Programming that kind
of touched on a history of that field and some light experiments, some
of the first work you had done with the Lapshaman.
But part of what I like about this ink-based project specifically is
this is taking the idea of sketches and trying to kind of take what do
we like about spreadsheets and the rough computation that you can do
there kind of on the fly interacting with the document in a way to take
advantage of the dynamic medium, but not something that’s writing an
Certainly has much in common with, for example, potluck.
We had Maxson. Jeffreon just recently, but they were very focused on OK,
classic plain text and the searches, etc. and I feel like this is almost
a complete other take on that tablets, stylus, sketching, kind of very
loose and informal, but informal and programming are not things that we
normally think of as being combinable and indeed it is that for me, at
least observing this kind of track of research from the outside in this
specific project, it is that tension between the formality of
And the systems thinking and so forth that we want from our
computational tools and the looseness, sketchiness, I’m just figuring
it out, I’m not sure yet, messiness that is part of thinking tools,
So I think it’s a very evocative idea to start with and then the
resulting project itself, which you can see some videos of in the essay
also is only further teases that.
00:08:49 - Speaker 1: Yeah, that’s one of the reasons we like working
with digital ink. I mean there’s a number of reasons, but one of them
is that it sort of forces you into this sort of sketching, informal,
loose, fast and loose kind of mindset, and It just underscores how not
fast and loose most of our programming capabilities are.
And so it kind of forces us to think about, you know, what are the right
affordances, how could we design a system that would let you stay in
that sort of frame of mind but still get some of the benefits of a
dynamic medium. This sort of weird analogy that was sort of the prompt
for the Inkbase project was, you know, we look at spreadsheets and I
personally am a huge fan of spreadsheets, as I think many of us are, and
I think about the analogy, you know, if you think about spreadsheets as
we have them today, as they compare to their analog predecessors, you
know, a giant pad of paper and a slide rule or a calculator, it’s not
just that modern spreadsheets let you do what you would have done with
the analog version a little bit faster, it’s that they actually let you
have thoughts you wouldn’t have had. Using the old version, because you
can see this dynamic model and you can get intuitive understanding of
how it works. You can play what if scenarios, it sparks new ideas. And
so, we think, OK, you’ve got the traditional sort of actual
spreadsheet, you know, the paper analog version, that is to modern
spreadsheets as sketching in a notebook is to Question mark, right?
Like, what is the thing that goes in that box? And I don’t feel like we
know what it is or have really seen it. And so, Inkbase was sort of a
little bit of a study or an experiment around that prompts. Like, what
would that thing look like? What would it feel like? What would it be
like to be able to work in that spreadsheet like way, but with ink.
00:10:28 - Speaker 2: Now I think a question that might be in the
audience’s mind is how this prompt that you just described relates to
visual programming, which visual programming is something where, yeah,
maybe it’s more accessible to the average person or requires less
programmer brain, less symbolic manipulation. Do you see it as related
to that world of things or is it its own beast?
00:10:51 - Speaker 3: So I have a little rant.
00:10:53 - Speaker 2: I forgive you that.
00:10:54 - Speaker 3: Yeah, that might be too early in the podcast for a
rant, but I don’t think a lot of these projects that people mention as
visual program are really visual in the sense that we talk about or we
think about, uh, things like, like not to taxonomize the whole field,
but there’s things like projection editors, maybe scratch comes to mind
where you have blocks of code that just snap together or maybe things
like Max MSP for musicians, which is Basically nodes and wires
interface. So, these kinds of interfaces.
Still require thinking in this very like abstract symbolic way. You just
manipulate the code, not in a text buffer, but on a screen, like moving
it around in dimensions. What we think about in this thread is more
about visual programming as a way of working with like actual embodied
objects that you can see on the screen and interact with. So you’re not
thinking symbolically, but concretely about the domain, the problem at
hand, and this is kind of the thread we’ve been following. So, In a
sense, both are visual, you could argue that code in a text box is also
visual, but the meaning of visual is kind of different, the way we think
about this and the way these sorts of projects think about it.
00:12:05 - Speaker 2: Right, when you think of one of those nodes and
wires, kind of visual programming languages or something like Scratch,
which I think is a great product for kids to learn to program, it is
really about sort of taking a conventional program and making it not
text, not pure text, but something that’s a little more gooey, point
and clickable. There’s a lot of value to that and there’s many domains
where that makes sense, but that does seem like almost a different realm
from I have the sketch and I want to bring it to life using the dynamic
00:12:36 - Speaker 1: Yeah, there’s a really important distinction
between programming with ink versus programmable ink, right? So, you
know, what we’re not trying to do is help you write programs with the
use of ink. What we’re trying to do is just use ink, you know, for the
properties that ink has, digital ink, but also allow it to be dynamic in
the ways that you would expect from, you know, the dynamic digital
medium, and so, The programming is not the end, it’s the means to have
ink that does more interesting things than just, you know, sit
You know, a lot of times we have these amazing devices and we have this
pen and all this computational power in the iPad, let’s say, but a lot
of the iPad apps that make use of that basically just let you paint
pixels on the screen with the pen. And it’s just, there could be so
And that’s a big part of, you know, what we’re thinking about with
digital ink in general at the lab, and then with the programmability in
particular, you know, what if that ink could respond the way that a
spreadsheet does reactively to other things on the canvas, or, you know,
what is the nature of digital ink even at all, right? I think that’s a
question that we’re still kind of asking ourselves and doing studies
around, you know, what if it worked more like string that you could pull
around the page, or what if it worked more like paper clips, right? Like
a little wire thing. Where you, you drew it, but then it wants to retain
its shape. So when you pull on it or bend on it, it tries to retain some
of its shape so it preserves a little bit more of the intention or of
the movements of the person who made that mark, right? A fun prompt that
I like is thinking about digital ink as a byproduct of someone moving
their hands. It’s more the moving of their hands that’s interesting
and the ink is a byproduct. And if you think about it that way, then you
start thinking about totally different kinds of affordances and ways to
treat ink. So there’s a whole realm there that we’re kind of thinking
about that sort of intersects in this Venn diagram with sort of end user
programming and dynamic behavior.
00:14:27 - Speaker 2: I think you already teed up our topic there, which
obviously is programmable ink, and I always like to start with
definitions. I think we’ve gotten into it a little bit, but yeah,
you’ve mentioned digital ink, and I assume here maybe the first thing
that comes to mind there is I scribble on an iPad or potentially another
tablet and stylus, and yeah, some ink like marks appear on my screen,
and that’s it. Is that basically what you mean by digital ink or is
there more nuance to it than that?
00:14:56 - Speaker 1: Yeah, I mean, I think that working out that
definition is sort of part of the work that we’re doing that, you know,
I expect to take a while, so I, I don’t have a crisp answer on that.
When I say digital ink, yes, I’m mostly thinking of, you know, the
things that appear on the screen when you move a, you know, pen or
stylus around on an iPad or a a remarkable or, uh, you know, some kind
of device like that. But I think there is this interesting question of,
aside from those pixels, you know, what is it really that’s there? What
is ink in general and certainly what is the digital version? I think
those are really interesting questions.
00:15:29 - Speaker 2: And then, how would you define programmable link?
00:15:33 - Speaker 1: Well, you know, again, I think, or maybe taking a
very shallow stab at it with this ink-based essay, but, you know, when
we think about programmable objects or dynamic objects, we often think
about objects that they have some behavior, you know, they respond in
some way, or they change in some way, or they’re able to be changed by
And so that’s mostly what we’re thinking about when we think about
programmable ink or dynamic ink is just something that is aware of its
environment and can be manipulated either by itself or by something
else, you know, on the canvas or in that environment, or even by the
I mean, a lot of ink that you make in these tablet programs are It’s
sort of dead, ink, it’s difficult then to pick that ink up and move it
around, you know, some will allow you to have selections or drag some
things, but even basic things like scaling or deforming ink in a way
that’s smart, like a classic example is you draw an arrow from one
thing to another in your notebook, and then you wanna move. One of those
items around, the arrow doesn’t follow. You then have to manually move
the arrow yourself and reposition it and rotate it and scale it. And
when you scale that arrow, it scales proportionally, sort of naively,
and it no longer looks like an arrow, right? Or it no longer points in
the right direction or the arrowhead, you know, isn’t facing the right
way or whatever. And so, That’s a very difficult problem to solve from
a sort of computer science perspective, from just like a human doing
stuff on a screen perspective, it seems crazy that that doesn’t work
correctly. And so, we try to look for places where there is that strong
sort of dichotomy, where it seems like we’ve just gotten used to
something being a certain way, but it actually seems kind of terrible
from just a human experience perspective, especially when you get in the
context of tools for thought, where I think The tools have a really huge
impact on the thoughts that we have and the work that we do, and the
output of that work. And so these small differences or small bits of
friction, or small biases that the tools create actually are really
00:17:31 - Speaker 3: I think it’s hard not to mention McLuhan at this
point, right? Like, first we make the tools and then they make us. I
think we really believe in this feedback loop of how the things you use
impact what you can do. And this is like a hope of being better at
sketching, being able to sketch dynamic models.
00:17:48 - Speaker 2: Yeah, maybe one way to think about the, it’s
called the current implementation of digital link, of which Muse, you
know, counts in with us, but I think it’s something we’ve thought
about a bit more than others, probably because I think it’s pretty
clear if you’re procreate, you know, you’re a pure art tool and it’s
just like you want nice brushes, so you can create a beautiful picture.
And maybe if you’re a diagramming tool, it’s really clear that it’s
important that your arrows and boxes connect to vertices on the thing,
and you don’t want to just like draw a rough circle around something or
But one of my favorite small examples that I certainly hope we’ll
implement at some point is the idea if you highlight something with a
highlighter, and then you go in and like, type in that text, as the
highlight kind of stretch out the way that it would if you had selected
the text and, you know, right click, select highlight, something like
that. And that does get into the realm of, OK, how much do you want it
to like automatically detect what you’re doing and make inferences
about it. But if we do think of today’s digital link as mostly being
just a direct transliteration of well I could draw on a sketchbook
before, now I’ve got an iPad or a remarkable or a Android tablet and
that more or less looks like a sketchbook and I can load an app that
gives me a blank page that probably looks like a sketchbook and I can
draw things and yeah, maybe I have a few more tools for manipulating. I
can erase, I can undo, I can select and move things, I can duplicate,
that’s nice, but it’s a pretty direct thing, maybe in the same way
that the first word processors were essentially just, hey, what if we
had a typewriter on this computer thing? And it was only later on that
we started to get into much richer things like say hypertext, where you
could never, yeah, that concept doesn’t make sense in a tight document,
but once you’re in the virtual realm and the dynamic medium of the
computer, now you can do more, but you start with that transliteration,
and then over time you figure out how it can grow into something that
goes beyond its kind of analog roots.
00:19:39 - Speaker 1: Yeah, I mean, I think there’s a lot of shared
roots obviously between Muse and this track of work, you know, they have
kind of shared roots philosophically and some of the ideas of the lab,
and I think one of those big areas is when we talk about tools for
thought, I think there are a lot of questions around what is thought
work, right? What is thinking, what is thought work, what is the product
of thought work. A lot of our current tools today don’t really respect
the work product of thought work. You know, just a basic example that
I’m always ranting on is browser tabs. One thing that a lot of people
spend a lot of time doing these days in the course of thought work or
knowledge work is basically curating their own sort of research path,
right? Whether you’re researching, you know, a new toaster to buy or
doing real serious academic research or whatever. A lot of times it
starts in a browser and you click a bunch of links and open a zillion
tabs, and then you go through those tabs and you decide, you know, each
of these tabs, is it interesting or not, is it? relevant or not, you
close some, you leave some open. Maybe you open some additional tabs
from links that you see in there.
And that is actually work that you’re doing. And then you end up with
this sort of browser window full of tabs or multiple windows full of
tabs, and that’s your work product. You just spend a bunch of time and
used your brain to produce that work product, and you may want to come
back to that or do something with it, or pause or whatever, but most of
our tooling. With the exception of some interesting, you know, newer
experiments, most of our tooling does not respect the placement of those
windows or the locations of those tabs or the fact that they’re open or
not as your actual work product. And so, it’s treated as ephemeral, it
gets lost, it’s very difficult to manage.
When we make notes in a notebook, most sort of personal note taking apps
treat your notes as like this very important sacred thing that they
But to me, they have the same value, the same amount of work has gone
into them as, you know, these browser tabs that are open, for example.
And so, I think when we start thinking about what is thought work, what
is work product, we start to get into these questions of what would
tools look like that are more respectful of these different stages of
thinking. And to me, you know, rumination, I always thought was an
interesting word that was used around a lot of the muse idea, you know,
there’s this point where you’ve piled all your stuff, at least for me.
I think that there is a point where I’ve kind of gathered all my stuff,
laid it all out on the floor, and I just want to stare at it for a
while, and just like, move it around with my hands. And that’s a really
important step that most people can relate to, but it’s not really
supported directly as a first class thing by most tools. That are
available today digitally.
And I think similarly sketching, not the art version of sketching, like
you might do with Procreate, but sketching, as in thinking with your
hand, you know, sketching by putting marks on a page, whether it’s
words or drawings or doodles, or whatever, that is also, in my opinion,
a very under-supported activity. That is a really critical activity. And
the earlier you are in the process of having an idea, the more fragile
that idea is, and the more sensitive to your tooling. Those ideas are.
So, you know, imagine trying to do that thinking type of sketching in a
tool like Adobe Illustrator. It’s basically impossible because the
interface is designed for this high precision, high fidelity outcome,
and so, you just wanna like, stick a box in the corner and keep going,
but in order to make that box, you’ve got to select the right tool,
you’ve got to decide which kind of box, you gotta decide what kind of
corner radius you want. Does it have a drop shadow? By the time you’re
done with all of that, You’ve lost, at least for me, maybe this is ADD
brain, but I’ve completely lost the idea by then, you know, ideas are
like these little wisps that you’re trying to capture quickly before
they, you know, dissipate. And so the nature of that tooling is really
00:23:09 - Speaker 3: Yeah, I’d like maybe to add two things to this,
both kind of tangential. Like one thing that we started talking about,
or maybe being able to like vocalize lately at the lab is this idea of
the same way we have like napkin math or back of the envelope like
mathematics, just figuring out orders of magnitude or something or
whatever. And interesting parallel is back of the envelope computation,
like how do you make these little interactive things with the same
approach of like roughly just hand waving at the thing. And another idea
bookmark maybe here is I lost it.
00:23:41 - Speaker 1: So you’re just proving my point.
00:23:45 - Speaker 2: Well, actually one thing I’d love to hear from
you, Shimon, is, you know, there’s been a number of projects in this
track. thinking base is certainly a very notable one, but you have
become pretty accomplished.
Obviously you were instrumental in creating the tool, but you also are
probably the most accomplished user of these various research tools, you
know, prototypes in the world, and indeed you’ve given some good talks
including recently. Strange loop where you kind of give live demos or
maybe they’re videos, I’m not sure, but in any case, it shows your
depthness with these different tools. So I guess I have to just ask
like, what does it feel like? What does it feel like to have
programmable link at least in this early stage?
00:24:26 - Speaker 3: The phenomenology of to use.
It’s kind of maybe hard to describe, right, like. It definitely feels
distinctively different to how you approach doing things on your
So like, for example, like one thing that comes to mind is an idea we
play around with crosscut, like a different paper in the same thread,
where we basically create like a little drum machine, just about
connecting a couple of dynamic objects together.
We have one that moves left to right. We connect the line that says
vertical, a box that finds things inside that box and that controls a
So working this way is completely different to how like, Create my own
drum machine if I wanted to, which I did a couple of times, which often
means I have to turn on my Max MSP or like Python or whatever, figure
out what is the correct like MIDI signal to send somewhere, basically
switch to this logical thinking, Oh, I will have like 16 steps, so
there’s an array that I need to care about now. And this array has
values in it and whatever and start thinking about very symbolically.
I’m trying to solve versus kind of the tinkering pre-college like
approach of the other things we’re doing.
And there’s a lot of parallels like that to me where I have a very
strong maybe programmer brain because I’ve been doing it for a while
where The way you approach solving problems in these tools is totally
different. Like, you explicitly tried not to have these things that feel
Like one example often comes to my mind is this spooky action at a
distance, where you say, oh, there’s this database over there. It has
like an abstract ID. I’m gonna grab that entity. And bound it,
whatever, like grab a property from it, and so on. Where in inkbase, you
say, oh, this thing the left, make it red. And that feels like very
concrete. You can see results of your actions immediately and you also
think it is very humane spatial way where like something to the left is
much more obvious that ID with like UI ID that has 64 characters or
whatever, right? Like there is a different way you use your brain and
think about things and that really left a strong impression on me.
00:26:27 - Speaker 2: I think that is somewhat how research works,
right? If you were starting with like a really burning pain point to
solve in the kind of classic sense, you’d really be starting a
Whereas research, I think is, at least for me, is driven by a sense of
how things can be different.
You see the capabilities of the computational medium, particularly maybe
emerging new technologies like tablet, you know, low stylus latency as
one example that I think was an inspiration for us. And you think about
how you would like computers and our computing tools to be, and you see
what the potential is with either the way technology is today or the way
it’s evolving, and you can kind of extrapolate out and think of some
end state. You you’re not really starting with a specific use case,
you’re starting with a vision of how things could be, so necessarily
use cases do get a little bit kind of backed in there. To me that seems
00:27:21 - Speaker 1: I also think we often have, at least for me, I
have a lot of use cases that I want to have a tool like this for, but
you need to have a pretty full fledged version of this tool in order to
actually carry out that use case and experience it, and we’re quite a
long ways from being there, I think.
And so, with some of these projects, we’re trying to see how one of
these use cases could be implemented.
In some of them, it’s really more about the feeling of the tool, and
Inkbase is one of those projects. We explicitly said with Ibase. OK,
we’re gonna kick the can down the road on, like, what is the right
programming model and what is the right interface for doing this
programming and all that, and we just want to get to a place where we
have dynamic ink that we have programmed, that’s on the screen that we
can interact with, just so we can get sort of a little glimpse, a little
vignette of that and see what it feels like. And I found the results to
be very compelling, but again, these feelings are very sort of subtle
and nuanced, and I think important for when you put them in context of
the way that the tools you use bias the results, I think the nuanced
differences and feelings of tools are really important, but they’re
also kind of hard to describe, and we’re kind of grasping at that in
this essay, one of the things we’ve started to talk about in the lab
when we think about the design of different tools, is sort of the quote
unquote natural grain of the tool. And we give a little definition in
this essay, we think about how tools, most tools, physical hand tools as
well as digital tools, have some sort of natural grain. A way or set of
ways that the tool can be used that are easy, fluid, efficient, sort of
encourages you to use the tool that way, and then there are ways to use
tools that are against that grain. And not that you can’t use them for
those things, but they just don’t work super well. Think, you know,
using a machete as a screwdriver instead of as a machete, or think using
Microsoft Excel to do artwork, you can absolutely do that. It’s just
kind of against the grain of the tool, and so a lot of times we ask,
what kinds of use, what kinds of feelings do we want to be with the
grain? Like, what direction do we want this grain to go? And for
example, With sketching and sketchy ideas, and early thoughts, we want
the grain to be very much encouraging you to keep thinking and not get
distracted with, you know, high fidelity thoughts, you know, is this
thing pointing to the other thing? Is my square, you know, a perfect
enough square, whatever. Another thing in that bucket in terms of trying
to develop a sense of what things feel like we’ve started to talk
about, I think this is one of Simon’s originally, is working with the
material. Sort of a phrase we talk about, which sort of evokes this.
More physical thing you might experience, like, like in art, if you’re
working with, let’s say, clay or some medium charcoal, it has a very
specific kind of feel, and certain things that it wants you to do and
certain things that are difficult to do, and just having your hands on
those materials kind of shape the outcome. You kind of just let the
material in some ways guide where you’re going. And I think that we
found that this ink base has a little bit more of that working with the
material feeling, which is what we were going for, where you’re
actually It’s sort of like, we talk a lot in the sort of end user
programming world about direct manipulation. You know, where you’re
working on something directly versus indirectly from some program on the
side or whatever. This is sort of a flavor of that, but even more
direct, where you’re not only directly touching the thing that you’re
trying to manipulate, but you’re actually being influenced by how it
feels. And ink, I think, is one of those things where when you interact
with it, the way you move it around, the way you create it, you’re
having something change color or change shape while you’re drawing on
it, and not after you finish your stroke, but live while you’re doing
it as a very specific working with the material kind of feel. And it’s
hard to put my finger on exactly what that means, or it’s hard for me
to describe exactly how your results would be different with that
feeling versus another, but it is quite distinct, and it’s something
that I personally am drawn to, and it’s something that I like about the
real world that I feel is missing in a lot of our digital tools. And so
I think part of this is a quest to obtain some of that in the digital
00:31:24 - Speaker 2: I support your quest.
The feelings or obviously you used that word a lot, how does it feel or
what feeling does it create or what things does it encourage in that
You had an interesting aside in the essay titled Research and Feelings,
which I’ll just read the first sentence of here. It says, perhaps
At the lab, we believe, seeing what it actually feels like to play with
an imagined system is itself a valuable research result and goes on to
talk a bit more about that.
And actually I think that is an interesting, I don’t know, meta
learning or something like that site contrarian insight of the lab and
something we were able to do because we’re somewhat unique, not quite
academic, not Quite industry position, and I, I think it was Martin
Klepp and I feel like was the first one that called out when he first
started working with us, which is he said, basically the fact that we
are not constrained by the conventional definition of rigor, which is,
OK, we user tested this with 10 people, and with this P-value of
whatever they were able to complete the task in 2 seconds less. Which is
a very good reason science focuses on those kinds of very concrete,
measurable, rigorous findings, but I think that misses something huge in
the computing tool space.
00:32:40 - Speaker 1: I do think that’s a really interesting aspect of
what we do at the lab, and the lab is engaged in what we call industrial
research, which, you know, has been talked about a bit before on this
podcast, and To me, one of the luxuries of industrial research is that
you’re not bound to the traditional sort of rigor and neutrality
required of basic or academic research or just science in general. You
know, we’re allowed to have an opinion, we’re allowed to chase
intuitions, and I, in fact, put that into the essay as sort of a defense
or an explanation because We had a number of people who were reviewing
the essay for me comment on, you know, what’s what the feelings, like,
take this feeling section out, it’s not defensible. And I felt like it
needed to be addressed, but I wasn’t going to cut it because to me
it’s, that’s the most important part. So I kind of wanted to add a
little side note, defending having a research result that says something
about feelings. But, you know, I do think that that’s a schism that we
often see where in sort of academic circles. Oftentimes it’s about
novelty, and if an idea has been described before, then working on it
further is not interesting. It’s not an interesting result, and we
disagree with that. We think actually taking some idea for how something
might feel different or work differently and actually building it and
seeing if that is in fact true, is actually valuable. And sometimes we
do that and we are compelled by the result and it directs, you know,
further research, and sometimes it’s a disaster, and that’s
surprising. It doesn’t work and we learn things about why it doesn’t
work, and sometimes the results are sort of meh. You know, it’s, we
have these great expectations about how this thing could feel different
and then we make a thing and then it’s like, yeah, it’s kind of a
hassle and it’s really not that much better. And I think all that’s
really interesting fodder for understanding the nature of this problem
and where we’re headed. I also think conversely, on these sort of more
pragmatic sort of startup engineering, product oriented side of the
spectrum, people build things all the time, but they often don’t stop
to think for long enough about, you know, why they’re building them, or
what the nature of those things are, or what the most important aspects
of those things should be. You know, it’s sort of in the quest for ever
closer to to use. To research, doing what the users are asking for, you
kind of start to get away from these first principle kind of based
approaches. So at the lab, we’re trying to strike this balance between
this sort of overly pragmatic staring at your feet, just doing the next
step kind of thing, and this overly, you know, impractical sort of ivory
tower pontificating without actually seeing what the results are. We’re
trying to be somewhere in the middle. And I think our research hopefully
reflects that, and I think our talking about feelings is sort of part of
00:35:30 - Speaker 3: So if I can expand on this just a little bit,
maybe from a different perspective, I think it might be on the metal. I
think maybe a common critique of HCI as a field is that you’ll get what
you measure kind. So if your focus is on making things that are
measurable, there’s a bunch of research that you just won’t do because
you, you can’t really measure it.
Like I think that’s why a lot of people think that’s the problem with
focusing on measuring mouse click speed or like how quickly you can get
to a task done or whatever. Which prohibits this very like exploratory
programming system kind of style of research, which is very hard to
measure because what do you even measure and against what else which has
The Second thing that comes to mind is we keep research logs as we work
at the lab on the mental level, and a lot of things in these projects
start with like this specific approach just feels correct or feels
For example, one of the recent ones in the project we’re on right now
were about like measuring angles of things and someone made this example
of just making like a little thing that you snap to the angle and that
turns into a number that just felt good. That’s why we’re pursuing
this further and I think this following feelings at some level is, is
kind of correct of like leads to very interesting places, places that
academia would go to basically because, yeah, again, how do you measure
00:36:49 - Speaker 1: Yeah, I mean, maybe back to this sort of the right
tool for the job idea. Most of the things that we’re trying to do with
these tools are certainly things that you can do with other tools,
right? You can make a sketch a number of ways, you can think a number of
ways, you can do calculations a number of ways. It’s more about You
know, sort of having the right context, having the right tool, bringing
the tool to the problem rather than the problem to the tool, those kinds
of things. You know, maybe a concrete example, just yesterday, I was
trying to get the square footage of a small space, and I made a sketch
of the shape of the space, and then I went around with my Little laser,
you know, measure and measured the lengths of all the walls. And I did
this as a sketch because it’s very difficult to walk around a room with
a computer and then put those numbers in and describe which wall those
numbers are associated with. It’s much easier to just write those
numbers on a sketch of the shape of the room. And it doesn’t feel right
to sit down and open up a graphics program and try to make a perfect
version of that room before measuring it. It really feels like a thing
that wants to be a sketch on a napkin or whatever. However, once you
have done that, I then need to break that shape up into a bunch of
squares and calculate the area, and that starts to feel like a
spreadsheet problem. Because once I do that, I often, when you measure
things in the real world, they often don’t entirely add up. You know,
the two segments of the wall on the left side don’t add up to exactly
the wall on the right side, and you kind of need to figure out if you
made a serious measuring error or if it’s just, you know, the world
And so, you need to do this math, but then you need to check the math
against the other side, and you may need to make some adjustments. It
feels very spreadsheet like and that you want the machine to sort of
help you check your math versus Pulling out a calculator and doing these
things like 30 times. And so now I’m suddenly sitting here with this
thing that should be a sketch with some numbers on it, wanting to do a
little bit of math, which I want the sort of power of the digital medium
for, but my options are basically, I have to set the sketch down and
look at it while I open up a spreadsheet and do it in a spreadsheet,
sort of disembodied from the sketch where I can’t associate this set of
numbers being multiplied with this area on the diagram. Or I’ve got to
do it with a calculator, and I don’t get the power of the spreadsheet,
and it’s hard to check my math. This isn’t an important problem.
It’s not like a thing I can’t solve. It’s not a thing that people
don’t solve every single day. You can open up a sketchup, and then you
can put all the numbers in there, and it’ll tell you the area, for
example, but it just doesn’t feel like the right tool for this job. It
feels like you should be able to sketch this thing out on your iPad,
walking around with it, and then You know, do that math, and like, draw
the boxes on there yourself, and then, you know, do the multiplication
and see what it adds up to, and maybe jiggle the drawing a little bit.
That’s when you realize that, you know, they don’t add up. And I think
having tools like that, it’s hard to imagine exactly what we would do
with those things, but I find personally that I have uses, little use
cases like that every day. That I would reach for this tool if I had it.
And then you start thinking about situated software and the way
spreadsheets, one of the things I think is interesting about
spreadsheets is that often a piece of software evolves out of that
process. So you do that once and then you throw it away, it gets lost in
your, you know, Google Drive or whatever, but then you go to do it
again, and perhaps you want to, you know, rework some of that logic. An
example from my life is batching cocktails, which we we talked about a
bit earlier. You know, often when you want to scale up a cocktail,
certain things don’t scale linearly and you start doing a bunch of math
and you need to convert units, and it’s easier to weigh things than
measure volumes when you’re doing large amounts and Blah blah blah. So,
you end up building a little spreadsheet to do this thing and you throw
it away after you make your cocktail, but then maybe you go to do this
again a week later, and it saves you time to open that thing up and
duplicate it, and then adjust it for a different cocktail. And then
after you’ve done that 2 or 3 times, you might start to say, you know
what, this seems to be a thing I keep doing over and over again. Why
don’t invest a little bit of time cleaning the spreadsheet up, making
it a little bit clearer, making it More, you know, sort of input output
driven, so I can just paste in the ingredients and have everything turn
out the right way. Maybe I’m going to invest in adding a table that
does unit conversions from ounces to, you know, milliliters to weights
or whatever, and you eventually end up with this little piece of
situated software. And this is a true story from my life. I have this
thing, and then a friend sees it, and then they’re like, Oh man, I have
the same problem all the time. Will you send me your spread? Sheet so I
can start using it. And now we’ve basically made a piece of software.
And I think that’s a really important sort of flow that this is
something we call gradual enrichment in the lab for lack of a better
name, we’re still grasping at what the right name is for this, but this
idea that you start out loose and sketchy like you would on a napkin and
you end up with a piece of software, and at no point did you sit down to
write a piece of software. You just keep incrementally adding little
bits of behavior over time. And only as the payoff is obvious. You’re
only investing little bits at a time when you’re gonna get an immediate
sort of payoff for that investment. And we would like to see that same
gradual scale up with sketching, staying right in place where you make
that sketch, like having to stop and change tools to throw away the
sketch, move to your laptop, open up Illustrator or whatever, that feels
very discontinuous. And I would really like to be able to just do this
continuous thing. I think the reason this happens in spreadsheets is
that you’re doing the whole thing in the spreadsheet in the same place
the whole time with the same tooling, and I think you need the same
ability. To start with the sketch, stay in that sketch app, stay on that
device, indefinitely come back to it in the future, keep adding little
bits until you eventually have what is effectively a piece of software
that started as a sketch, but all stayed in that one place. And I think,
you know, for me, that’s the grand vision that we’re trying to get to
eventually, and figuring out what that looks like in each of these
steps. It’s sort of the aggregate of the research, right? You know, if
we look at the first step, the middle step, the end steps, some of the
end steps of this are a little bit more clear, you know, how do you add
complex behavior to a big complicated thing already in an app. We know
what that looks like. What we don’t know. Is what does it look like at
the beginning? You know, we, we, we know you, you start with a blank
canvas, you break some marks on there, and then fast forward a year,
you’ve got a piece of software running in this canvas app. What’s the
dot dot dot in the middle? And I think that’s sort of a set of
questions that we’re working on in this track.
00:42:52 - Speaker 2: That very beginning moment with software creation,
there’s a lot of ceremony, right? It isn’t, let me first make the
sketch and add a computation, for example.
And I would say potluck, another project I referenced there earlier, has
some of this coming at it from a text angle, but you’re sort of
starting with data that you collected or something you’ve written down
in some format, and then you’re adding bits of computation to that, and
the programming world is really built around the complete opposite flow,
which is I am writing a program now and I begin with, I’ll say. new.
I’m sure the kids these days have something sexier, but whatever it is,
you’re creating the new project in the IDE and you’re initializing it
and you’re setting up your unit tests or your models and setting up
your database schema and it’s actually quite a while and quite a lot of
super abstract programmer things before you get to the point of your
specific data and Or specific problem that you’re going to work on.
And of course I think is part of the reason we reference spreadsheets so
often when talking about end user programming is this really is one of
the few cases of successful commercial software or successful kind of
end user application where you really don’t start with, I’m going to
write a program, you start with, I’m going to enter my data, I’m going
to type in a couple of numbers and then you can add computation to that.
00:44:14 - Speaker 3: It’s interesting that you mentioned potluck and
not to put words in Jeffrey’s mouth. There’s been some interesting
cross pollination from this project and that inba. So historically in
based predates potluck and from a couple of conversations I had with
Jeffrey, some of the ideas around like spatial matches and thinking
about problem in a way where you find things on the canvas in a text
document and enhance them with additional dynamic behavior. It’s
interesting to see the parallels between these two projects, what I’m
trying to articulate maybe. And have the same ideas in the lab keep like
appearing in different places.
00:44:47 - Speaker 1: Yeah, potluck is a really interesting project, and
certainly all these projects have influenced each other quite a bit. I
think one of the most interesting things about potluck is this related
problem that you don’t have structured data when you’re starting to do
something in one of these tools, whether it’s something like Inkbase or
something like potluck, which is based on plain text. Whether you’ve
got a bunch of ink marks or a bunch of plain text, the goal with potluck
was, you know, to take something that you would otherwise The way you
would normally do something, like tracking your, you know, recipes or
tracking your workouts or whatever in a plain text file where there’s
no fixed format, and you can kind of enter them however you want, and
maybe you’re not 100% consistent about the way you enter those things,
and you stick little notes in there, use different units, don’t leave
the units off some days cause you know what they are. That’s not very
acceptable to a program, the way we normally do programming, but you
don’t want to have to clean all those things up and normalize them,
standardize them in order to be able to do something with them.
And same with, there’s this analog in Inkbase where you want to do
something like, I don’t know, you wanna attach something to the left
side of an object, but if you have like a squiggly mark that you made
with the pen, what is the left side, right? You want to align things or
snap them together, but, you know, the bounding box and the actual shape
of the rectangle that you drew are completely different. You didn’t
even close the rectangle, it’s not even a closed polygon, it’s, you
know, non-orthogonal, it’s probably not even a quadrilateral, whatever.
So, It’s a very similar problem where you need to be able to work with
semi-structured data or data that’s sort of evolving slowly from being
totally unstructured towards being totally structured.
Maybe it never gets to totally structured.
And you know, I think the spreadsheet is another example of this where
often you start out just throwing numbers in boxes all over the place
and it’s kind of a mess. And maybe eventually you kind of Things up
into columns and you make sure they’re all the same type or formatted
the same way or whatever. But spreadsheets are very tolerant of this
semi-structuredness. You know, if you sum a column of numbers in the
spreadsheet and one of them is text, it doesn’t break. It doesn’t just
break, the whole thing explodes, gives you a bunch of errors. Generally,
it just coerces that text into a number or it ignores that. It has some
Fault behavior where it still allows you to get an answer. And maybe it
shows you that there’s this weird thing happening and you need to go
fix it or whatever, but it’s very tolerant of this sort of looseness
and this semi-structuredness. And I think that’s one of the interesting
things explored with potluck is how do you do computations on a thing
where some of your ingredients are structured as ingredients and some of
them aren’t, or some of them have units and some of them don’t. And I
think there’s a very significant parallel to what we’re doing. In
Inkbase, and I think the sort of querying is one of the solutions that
we’re both grasping at in Inkbase, you’re doing spatial queries, you
know, find this thing to my left, find this thing inside of my bounding
box, find this thing that I, it’s overlapping with me, and in potluck,
you’re doing a text query, you know, find this thing that looks like
this, that, you know, has these letters or whatever, and then you could
do something and build on the results of that query.
00:47:40 - Speaker 2: And importantly in both systems, it’s a live
query, so this isn’t run a query, look at the results, then iterate. I
think you hinted at this earlier, Shimon talking about as you’re
drawing and as your dynamic behavior is being applied, so something like
turn this checkbox green when I check it. It happens as you’re going,
and if there’s a problem with the dynamic behavior, or if there was a
problem with your check that it didn’t land inside the box or something
like that, you’ll really see that right away. It’s not an iteration
process, it’s a just a completely live process.
00:48:15 - Speaker 3: Yes, interestingly, this also opens up a different
way of solving problems, right? It’s like, You could fix your program
so it catches the check mark a little bit off the side or whatever, or
you could just wiggle it and move it into the checkbox because it will
turn green as long as it’s like as quickly as it matches or finds the
Like this way of basically seeing responses from the machine as you
interact with it, like promotes this different way of solving problems.
You don’t always have to think in this very programmary way, you can
feel this very like loose, sketchy vibey way where I’m just gonna
wiggle some things until the machine does what I, what I wanted to do.
00:48:52 - Speaker 1: Yeah, we have a little saying on that team, just
jiggle it a little bit. You know, it’s sort of like the old fix the TV
reception by banging on the side. It’s sort of like, uh, just jiggle it
But it’s a really interesting interaction because, you know, you do a
query, let’s say you’re trying to recognize the shape and it doesn’t
recognize that shape. You could try to rewrite the recognizer, but you
could also just like jiggle that line segment. Little bit, so the path
looks a little bit more like what it’s looking for. And now, bam, it
gets recognized and the thing starts happening.
And this does lead into a way of solving problems.
We were just the other day talking about this little sort of geometry
problem. It stems from a real world use case where you’ve got like a
counter sunk hole and you’re trying to figure out what angle the hole
is at, so you can order the right screws with the right angle screw
And it’s a similar to my example of the area of a floor plan. You sort
of draw the thing and take a couple of measurements, but then you need
to do some trigonometry to figure out what the angles are. And you’ve
now got this sort of semi-structured information where you’ve got a
sketch, which is not the scale, and you’ve got some numbers which are
correct, and you’ve got to do a calculation, and there’s this question
of, you know, different ways to solve that problem.
One is to just do some math on the side. Next to this drawing, but
another is to actually attach the functions that take, let’s say, the
angle, you know, read out the angle of a sketch of a shape, attach those
to your sketch, and then manipulate the sketch until the lines are to
scale. Basically drag the lines around until the computer says that they
are the lengths that you measured. And then you will know that the angle
It’s a very different approach, but it feels very natural, if you’re
working sort of with pen in hand, and you’re just kind of working in
this sketchy way, and you can sort of just jiggle this around. Or
there’s also examples that Simone demonstrated from the Untangle
project, where it’s looking for matches against things, and sometimes
it doesn’t catch one, and you just kind of jiggle the model a little
bit until it does, and then you move on, and it’s just a very
interesting way of working.
00:50:44 - Speaker 3: So this is maybe an interesting drawback to when
we started talking about feelings, which is a lot of these interesting
ways of using these things like are like second order, basically, you
have to working in some way, you start interacting with it, and you
realize that this is the way to do something in it, which is not a fault
I would have one step back, right, without working with the material,
working with the concrete thing that feels a certain way.
00:51:09 - Speaker 2: And wasn’t there also a concept in another
project in the same research track around the bidirectional connection,
that is to say in the sketch example there of like you have a number and
you have a line and you want to make the number and the line the same
size, and typically in programs you have a one way flow.
I rate the HTML and that gets rendered by the browser. I can’t scribble
on the screen in my browser and have that get reflected back in the HTML
code to take one example.
And there’s, I think, a world of bi-directional linking research that I
think you folks did some with, and some of the prior argue list for
Inkbase as well includes apparatus, now there’s cuddle, which I think
was a good example of this of trying to make it so that you have these
two ways to represent something, the line and the number, for example,
and that you can change either one and they each update each other.
00:52:03 - Speaker 1: Yeah, I think it’s a really interesting way to
work, and it feels very natural. Things that only flow one direction
feel a little bit strange sometimes.
You know, you imagine you draw this little sketch of, let’s say, a
triangle, and you write some numbers from your real world measurements
on there, you then tell the system this line segment is, you know, 27
units long. Well, what happens, right? Are you asking the system to make
that line 27 units long, or are you asking to just leave it alone, but
think of it as 27 units long, and then what happens to the other lines
on the page? Are you rescaling the drawing based on that line, or are
you mixing structured and unstructured data? You know, in spreadsheets,
spreadsheets obviously are very one directional in their flow. Things
get very confusing if you try to, you know, sum numbers and then change
what the sum result is and have that back propagate into the column. But
it also can be very powerful, and the number of people have made
bidirectional spreadsheets, which are quite interesting to play with.
But in this case where you’re associating sort of some freehand work
with some numbers or something else structured, it feels very much like
they should stay in sync. And you should be able to edit either place.
It feels very strange not to be able to change your drawing that you’ve
made, or not being able to change the number that you’ve associated
So it feels almost necessary for it to be bidirectional in order to not
feel like you’re constrained arbitrarily by the tool.
But then you get into these interesting questions of, you know, you’re
creating error in the system when you change one of those things, and
what do you do with it? Do you push it, do you back propagate it to the
other side? What does it mean to change a drawing to match some numbers
that you put in there? And I think those are really interesting
questions, and and even just exploring the affordances, you know, what
kinds of UI elements do you want to have on the screen for doing that
sort of thing is a really interesting question and a sort of focus of
00:53:51 - Speaker 3: Yeah, and to add to that, this way of thinking is
maybe very foreign to software developers like discovering these
techniques or reading about them, like definitely felt very alien at
first to me. It definitely feels interesting and more correct to work in
this meeting where you have two representations for a thing to be able
to manipulate each one of them.
The problem is, of course, in the details and this leads to. Some very
strange artifacts, a lot of technical problems or things like doing a
lot of calculations on these values.
Not everything is clearly solvable backwards in a way that feels
natural, and then you start thinking about how do I adjust my
calculations so the system does the thing that I wanted to do. And at
that point, you’re lost doing the abstract symbolic thing again that we
want to avoid. So there’s a lot of dials that we need to turn in proper
ways for the system to make sense.
00:54:40 - Speaker 1: One of our early projects in this track was called
Rectoverse, and it was a relaxation-based constraint solver, and, you
know, you’d put things on the canvas and then you’d specify these
constraints, you know, I want this thing to be next to this thing, I
want these things to be the same width or whatever, and then you could
interact with the model live, and the constraint solver would try to
maintain those constraints, and it often felt in the beginning, like,
You know, the classic tale where there’s a genie in a bottle and you
get 3 wishes, and every time you wish for something, you technically get
the thing that you wished for, but like everything else goes wrong. It
sort of felt like that where, you know, it’d be like, oh yeah, they’re
definitely the same length, but it did it by making the width of one of
them negative or you just like took it off the can. It made me get a
massive, you know, X value that took it off of the canvas or whatever.
And so it’s like technically, yes, you solve the problem, but that is
not what you want. And so then you have to be able to add more
constraints relatively easily and quickly to sort of coax the machine
into where you want it to end up sort of like giving hints to the query
planner and SQL or something like that. And that’s also an interesting
way of working. And it can sometimes feel like the right tool for
certain kinds of problems, but if you end up having to specify 47
constraints just to like keep two things, you know, next to each other,
it starts to not feel productive or ergonomic. So there are a lot of
different approaches to how you specify computation. And you know, that
was a constraint-based system, inkbase, we intentionally sort of punted
on thinking about that problem and so we just implemented a Lip
interpreter inside the iOS app, which is, you know, clearly not an
ergonomic thing to do, but it was pragmatic for us and so it was a very
specific implementation of dynamic functionality, but it uses sort of a
data flow like thing, sort of like in a spreadsheet where it’s
declarative and reactive. And then Crosscut was an attempt at sort of
going far afield on how else you might specify the programming model,
and it was sort of this wires and boxes way to sort of connect value
between different elements on the screen, and this idea of meta-inc
versus ink and specifying sort of dynamism with meta-inc, and then the
regular ink was sort of concrete ink, and then untangle, another project
in this track was a totally different way of looking at it using You
know, sat solvers to basically specify a set of conditions that needed
to be met, and then let the system figure out whatever permutations it
can come up with that will meet those constraints. And sort of one of
our conclusions from Looking at all these different things, when we
started out on this track, we were hoping to find the one true way, you
know, the one correct way to do computation that makes sense in this
environment. And what we ended up, you know, discovering, perhaps
unsurprisingly, is that there is no one best way, and there are a lot of
different ways, and some of them are better suited to some problems than
others. And so we’ve sort of concluded that you’re going to need to be
able to approach any problem, any use case you have. With different
kinds of computational strategies or engines or whatever, mental models.
And so now what we’re really working on is a nice substrate in which
you can combine different kinds of computational model, you know, bring
in the one that makes sense, you know, you have a use case, you have in
your mind an easiest way to solve that problem with tools that you know,
you need to be able to just bring that tool in and do it and have those
tools be able to interoperate. And so that’s a big part of what we’re
00:57:57 - Speaker 2: And I’ll link the essays to the projects you
mentioned, which have been published, you mentioned some either things
we haven’t published yet, or in some cases we may never have an essay
for sadly, we don’t manage to get to an essay for every project we ever
do, since often writing the essay is at least as much work as doing the
00:58:17 - Speaker 1: That’s right. Ink-based, crosscut, and untangle,
there are all essays for Rectiverse is a very old one, for which there
isn’t, and I don’t wanna make any hard promises, but I’m pretty sure
we will have a solid essay for the current project we’re working on.
00:58:30 - Speaker 2: Excellent, yeah, because I do feel that certainly
for Muse, you know, if you look at the progression of research papers,
which included one that I had written as a medium post, wasn’t even
really a research paper, just talking about kind of the tablet as a form
factor, the capstone project. And eventually we have them use paper and
you can see these threads that start to come together and they’re
rougher and rawer. Not to say that there’s one output, as you point
out, there’s these different tracks which may all be fruitful and cross
pollinate with each other and so forth, but in some cases, it’s not the
single essay, but indeed the progression of them, for those that have
the patience to read multiple 5+1,000 word essays on a particular topic.
00:59:13 - Speaker 1: It’s a lot of words. I think the length of the
essay is inversely proportional to our understanding of the problem, so,
hopefully they’ll get shorter as we get smarter.
00:59:25 - Speaker 2: Now another thing that I do think makes Inkbase
and a few of the other projects in the track that you both have worked
on stand out relative to some of the other examples we’ve given here is
the embrace of the tablet form factor. And of course we talked about
digital ink earlier. I’m curious how you both see the tablet as being
important or not to this. Kind of realm of research, or is it that it
really is about the digital ink and so you could kind of do that with
like I don’t know, Wacom tablet connected to your computer, that’s
probably fine, or is there something really to that form factor that is
very sketchbook like and you see the ink appearing under the stylus, or
is there something else altogether? How important is the tablet in all
01:00:08 - Speaker 3: So I can start maybe with the meta level, which is
one of my favorite quotes from Monolike is, I won’t like, won’t give
it for per word, but what he says is to be really creative, you need a
lot of constraints. And he often chooses like one synthesizer to make a
new song or whatever. And then here, like the tablet is a very hard
constraint. Like it has a lot of interesting properties. It’s like a
page size, it’s very human scale. You have the stylus and fingers as an
All of that is like a double-edged sword, right? Like you’re so
disconnected from what you learned about keyboards and mouse and
pointers and whatever that you have to kind of invent everything from
scratch a little bit. And that is both like very good, I think for
research, right? Because it opens up this new way of thinking about a
specific fields, but also very hard because at the same time, we’re
trying to figure out both with this and also how to do things on it.
01:01:03 - Speaker 1: Yeah, to me, the jury is sort of still out on the
tablet form factor, but there are some compelling aspects of it. I mean,
we have a whole series of weird hypotheses at the lab about, you know,
form factors and in HCI specifically, I do think that for me, I’m
really fascinated with hands. I think human hands are really
They have an incredibly high number of degrees of freedom and we have
large portions of our brain sort of devoted to using them without
interfering with our thinking.
And so, you know, outside of our sort of visual cortex, I think our
hands are sort of the highest bandwidth connection between our minds and
the world. And right now we don’t, in my opinion, make particularly
good use of the size of that channel when we’re just sort of like, you
know, tapping on a keyboard or pointing at something on a pane of glass.
And so getting at more of that richness of interaction with our hands is
really interesting to me.
I think holding a pen is in some ways an improvement. It doesn’t
obviously open up that entire channel, but I think holding tools in your
hand and doing things with them is a higher bandwidth modality, and
we’ve done some experiments with having multiple kinds of tools that
you can use to interact with a tablet at the same time, you know,
multiple pens, straight edges, knobs, you know, whatever. There’s a
whole sort of tangent on that. But I do think having pen in hand and
working is an interesting and compelling way to work.
I also think some of the things that were exciting to me about the
origins of muse in the lab, for example, you know, I’ve always loved
the idea of being able to use both hands at the same time. It has always
seemed strange to me that most of the touch interfaces. And even the
APIs for those interfaces are not really designed for using more than
one hand at the same time, or using a hand while using a pen, which is a
very natural thing to do. We do all the time in, you know, the real
world. And so, a lot of our early lab experiments in that track were
around just seeing if we could do that even with the existing hardware
and software, and turned out the answer was yes, and it was really
To have that feeling of using both hands and felt very freeing, just
turns out to be quite a pain in the butt to do, because it’s sort of
against the grain of the APIs, as you guys well know at Muse, and I think
you’ve done a lot of hard work to retain some of the aspects of that,
and then I think there are aspects of it that are only viable in a
research setting because they’re not reliable or Apple doesn’t want
you doing them that way or whatever. But I think that’s really
interesting, and so that’s to me, one of the reasons the tablet is
interesting is that it’s a way to have the pen in hand. I do think
it’s critical that you have the visual feedback, right? As you move the
pen along the screen, something is happening on the screen at the
location where the pen is. We’ve experimented with Wacom tablets and
other kinds of, you know, stylus-based input tools where your hand is
doing something somewhere and where you’re looking is somewhere else,
and it completely breaks the high bandwidth interface between your brain
and the real world, I think does not really tolerate that very well. And
so, I think that’s one of the reasons we like tablets.
Another is the portability. You know, I have this pet theory that like a
drafting table is sort of the ultimate correct form factor for like a
personal sort of thinking station.
Part of that really has to do with the ergonomics of the human body and
like the length of the forearm, you know, you want something that’s
sort of the forearm radius, you know, size. But the portability of the
tablet, I think is really important. I think that, as you guys agree
with it, Muse, you know, thinking and creativity requires sort of moving
around a lot of times, going somewhere, walking around, sitting at a
coffee shop, or taking the device to the place where the problem is. You
know, walking around the room, taking the measurements, which is just
not possible with other kinds of form factors, and I think, you know,
the phone or the really mini tablet is maybe not big enough to really be
able to hold and you have enough screen space, enough canvas to make
marks. So the tablet kind of ends up being in this interesting
But most people that I know who are sort of accomplished makers, when I
talk to them about tablets, they all basically say, yes, I have one,
it’s in a drawer. Or somewhere. I go through, you know, phases of using
it and not using it. And I think that’s really interesting that we have
this incredibly powerful device with this, you know, stylus that seems
to have so much potential, at least on paper, but then people often
don’t really find meaningful uses for them.
And there are people who do their whole life on the tablet, but when I
look at their workflows, it seems a bit strained. Like, you have to be
quite dedicated to really do everything on a tablet, I think. And so,
one of our sort of prompts at the lab is sort of hypothesis is maybe
this tablet is really great, and we just don’t have the right software
for it yet, but the UI, the UX, the mental model for working with it
just isn’t quite right yet, and that’s why we spend a lot of time with
01:05:49 - Speaker 2: Well, it’s all very exciting research and with
each subsequent essay we fill in more of the picture. Where do you both
see maybe the medium to longer term future here, which includes maybe
something practical like when can I get a usable production app to do
the floor plan sketch problem you previously described there, James, but
maybe also just more broadly, what is the long term direction, what do
you hope to get out of this? What can we hope to see in the future?
01:06:17 - Speaker 1: I think it’s a really interesting question, you
know, people often ask us, when can I get a version of this to use for
myself, and we in the lab, in fact, would like to have versions of some
of these things to use on a daily basis. Most of them are sort of
prototypey research experiments that are not very well suited to real
use. I think we are working in the direction of things that might
actually be able to be maintained and start to accrete features and, you
One of the other luxuries of the lab is that we don’t have to think too
hard about, is this a thing that can make money? Is this an app that
people will buy, Is there a market? How much will people pay? We get to
not think about that at all. We do care about whether we’re solving
what we think is a real problem or whether there’s a real context of
use, you know, we care very much about that. So, I think our primary
motivation is to understand the nature of the problem so that we can
work towards some various solutions which might eventually result in
products or software or, you know, maybe if we talk enough about the
nature of the solution, lots of people will make software and that’s
I think with this specific track where we’re headed is, you know, the
current project we’re doing now, which is sort of code named Habitat.
It’s the first one where we have spent a bunch of time investing in the
underlying infrastructure, you know, sort of the substrate for the app.
You know, normally, every time we do one of these projects in this
track, we sort of start from scratch from first principles, what’s the
right set of technology stack, what’s the right architecture, what are
the right things to use to build this, and That’s important to not be
arbitrarily constrained by your technology stack, but now that we’ve
sort of converged over time on sort of one stack that we think is
correct or the best, we’ve started to be willing to invest in building
sort of a shell of an app that we can then use for multiple projects. So
we’re now investing in Building a thing that we hope will be reusable,
and that is sort of the first step towards being able to actually build
on top of previous projects with future projects, and be able to
actually start to create features that stick around, and also invest in
some basic things we don’t always have. Time for during research
projects like, you know, persistence working correctly, apps not
crashing all the time, fighting against the constant bit rot of, you
know, Apple’s API changes, etc. So, as you guys are much more
intimately familiar with that Muse. So, I think we are headed in that
direction, but I think we’re still sort of in the early days of
understanding what is it that this thing is for, and therefore, what are
the most important features that we need to build. But we’re headed in
the direction of dog fooding some apps for ourselves inside the lab, and
then hopefully if we can get to a place where that works, we can sort of
expand the use outside of the lab. But yeah, that’s kind of where we
are now is just sort of thinking about interchangeability of these
different programming models and starting to invest in. Nicer and nicer
ink engines, for example, which is a thing we often punt on as well, so
we can spend some time on performance optimization, that sort of thing,
all in the name of being able to get a true sense of what it feels like
to use one of these tools.
01:09:31 - Speaker 2: Maybe to close on the feelings subject again,
since that seems to be a theme here. I think the question of, you make a
prototype, you know, we usually time box things to some pretty small
amount of time, and when you’re, as you said, starting very blank
And then you’re getting to a usable thing in a month, 2 months, you
know, it’s not a lot of time, and you always have this question of if
the feeling is met or it’s not quite clicking, or it’s not quite able
to show that it could fulfill the vision that maybe you had for in the
beginning, is the problem that it needs a little more effort to be
better, because indeed, even the greatest painting in the world, you
know, You look at that very early line sketch that sometimes you can see
under an X-ray on the canvas or something, no one would be moved by
that. No one except the original artist understands what that means, and
you have to get it to a certain level of fidelity or a certain level of
completeness before it makes sense. And when we’re trying to kind of do
this real time iteration of we have an idea for a thing that we think
could Work and indeed feel a particular way. The thing we may doesn’t
feel that way is it that we just need to do a little more in this
direction, or is it the direction is wrong and it’s just a constant
judgment call. I feel part of the way we’ve hacked that is just the
time boxes where we say, well, we’re going to try this direction for
this period of time where a period of time is weeks or months, but not a
long period of time, and then we’ll go back and kind of start a new.
01:11:01 - Speaker 3: Yeah, I think one of the things that maybe is
obvious in retrospect that we discovered with the approach of very
aggressive type boxing is that the starting anew to get to a specific
point where the thing starts to look like something takes a lot of
And I think this is one of the things we’re trying to solve with this
project, like, can we move that effort. Outside of the project. So you
start with a position where you already have some reactive ink on the
page and can start building in that medium versus coming up with the
whole stack of functionality just to get to a point where you actually
start your research project and it’s like 3 weeks left of the 3 months
01:11:40 - Speaker 1: Yeah, I mean, I think there’s sort of a question
of, are we on the right track, right? Are we on the right track, and if
so, then if only had a couple extra features, if only it was a little
more performing, if only whatever, it would be great. I mean, I think
there’s no way to know. I do think it’s sort of a follow your
intuitions, follow your nose kind of thing.
But I do think one of the signals that I look for is at the end of a
And especially this sort of interstitial time between when a project
ends and we’re sort of wrapping up the essay, and when folks are
thinking about the next project, you know, sometimes we finish a project
and it’s sort of like, we summited a big mountain, and everyone’s
like, well, I’m glad we did that. Definitely don’t want to do that
again. Let’s maybe go over in this other direction.
And other times people are like, man, that was so great. I’m really sad
to stop working. I just all these things. It feels right at my
fingertips, just out of reach, these things that I wanted to add that
would make it better, and there’s a lot of sort of momentum and desire
to keep going. And I think that sort of indicates whether something was
interesting but weird sidetrack versus maybe on on the main path.
And I think we’ve increasingly been starting to feel like we’re more
on the main path in that.
We have a lot of folks who have worked in these various tracks who are
just, their excitement seems to be going up, and their desire to keep
working on it seems to be going up, and our desire to do projects that
are sort of follow-ons to the previous project versus let’s break new
ground, go in a different direction. There seems to be more convergence
happening. And, you know, that doesn’t necessarily indicate we’re on
the right track, but it certainly feels that way, and I think we’re
gonna focus a little bit more on going further down this path that
we’re on, rather than finding new paths, which is sometimes a mode that
So, yeah, we’ll see what happens. Stay tuned.
01:13:26 - Speaker 2: Well, let’s wrap it there. Thanks everyone for
listening. If you have feedback, write us on Twitter at museAppHQ or via
email, hello at muapp.com. And James Sermon, thanks for stretching our
minds with what might be possible with a different way to think about
using the dynamic medium of computing and digital ink, and very excited
01:13:48 - Speaker 1: Thanks for having us, always fun to chat. Yeah,