
Loopy: a tool for thinking in systems - bpierre
http://ncase.me/loopy/
======
vpribish
I found a solution to the 3rd example problem on Automation and Unemployment :
[http://bit.ly/2nbHqX3](http://bit.ly/2nbHqX3)

~~~
vincentchu
Mine is similar, but uses drugs:
[http://bit.ly/2nW8GbR](http://bit.ly/2nW8GbR)

~~~
TuringTest
I've got one surprisingly efficient, using fake jobs.

[http://bit.ly/2n0CqDv](http://bit.ly/2n0CqDv)

Makes you wonder...

~~~
devcpp
We've been doing it for decades.

~~~
vog
Yes, these jobs are part of the Tertiary Sector [1], but maybe we should open
up a Quaternary Sector for them.

[1]
[https://en.wikipedia.org/wiki/Economic_sector](https://en.wikipedia.org/wiki/Economic_sector)

------
dkural
This needs more work on the math side to be helpful. As it points out itself,
the ecological example does not (in substance) correspond to the Lotka
Volterra model.

Furthermore, there is no way for a species to go extinct from what I saw
initially (perhaps there are options I'm missing?)

A lot of system-relationships are non-linear, or fractal, with time-ranges
that are out of sync. Would be great to be able to model that -- i.e.
introduce different "speeds" on how fast arrows can "travel" on the line, and
to introduce functions that describe how x input arrows results in y output
arrows, etc. It'd be great to be able to model how when a food source (or any
input disappears), the burden shifts to the other sources etc -- now the
arrows just go equally, sources/sinks can't disappear etc.

~~~
leethargo
I think you can just draw longer arrows to reduce the speed. Or draw multiple
to increase the factor.

------
rymohr
For anyone interested in applying this stuff to real world issues, I highly
recommend the +Acumen Systems Practice course [1]. Rob Ricigliano and Karen
Grattan have put together a solid, pragmatic guide on how to understand,
analyze, and engage complex systems. We've been working with Rob and Karen at
Kumu [2] for years now and nobody else comes close when it comes to applied
systems thinking.

[1]: [http://plusacumen.org/courses/systems-
practice/](http://plusacumen.org/courses/systems-practice/)

[2]: [https://kumu.io](https://kumu.io)

~~~
wespisea
What about the Coursera Process Mining class? I thought that was very similar,
in concept, to this...

------
simulate
The technique used in LOOPY comes from system dynamics and is called causal-
loop diagramming. Causal loop diagramming is a way to visually explore
connections.

You can rigorously model systems using a stock-flow metaphor using desktop
mathematical simulation tools like Vensim, Stella Pro, and Powersim. The
system dynamics society has more information at:
[http://www.systemdynamics.org/what-is-s/](http://www.systemdynamics.org/what-
is-s/)

------
kaycebasques
"Thinking In Systems: A Primer" was a wonderful introduction to the topic.

[https://www.amazon.com/Thinking-Systems-Donella-H-
Meadows/dp...](https://www.amazon.com/Thinking-Systems-Donella-H-
Meadows/dp/1603580557)

~~~
spodek
Some relevant videos:

[https://www.youtube.com/watch?v=eXdzKBWDraM](https://www.youtube.com/watch?v=eXdzKBWDraM)

[https://www.youtube.com/watch?v=HMmChiLZZHg](https://www.youtube.com/watch?v=HMmChiLZZHg)

[https://www.youtube.com/watch?v=0QtQqZ6Q5-o](https://www.youtube.com/watch?v=0QtQqZ6Q5-o)

[https://www.youtube.com/watch?v=uYNlhjOZ7DU](https://www.youtube.com/watch?v=uYNlhjOZ7DU)

[https://www.youtube.com/watch?v=Pc3SWj-
hjTE](https://www.youtube.com/watch?v=Pc3SWj-hjTE)

[https://www.youtube.com/watch?v=kz9wjJjmkmc](https://www.youtube.com/watch?v=kz9wjJjmkmc)

(the later ones are about Limits to Growth, co-written by the author of
Thinking in Systems)

------
rrherr
This is what I'm most excited about:

"LOOPY lets you have a conversation with simulations! You can go from
_thinking_ in systems, to _talking_ in systems."

Thread:
[https://twitter.com/worrydream/status/808399253928218624](https://twitter.com/worrydream/status/808399253928218624)

------
digikata
Love how the pencil/mouse gestures translate to adding nodes and links! That
feature alone, even separate from the simulation aspect, makes me want a
diagramming tool that does that for a wide range of symbols.

~~~
bdwdbv
I'm sure I've used such systems in the past...I think even Flash used to have
a similar feature. Anyway I love it too because it feels way faster than
drag&drop.

------
gbajson
Arrows travel with the same speed (pixels/s). So the shorter arrow, the
stronger relation.

[http://bit.ly/2mYqGle](http://bit.ly/2mYqGle)

~~~
diggan
You can also add multiple arrows right next to each other to make a stronger
relation. If arrow is double the length but twice, it should be the same as if
it's 1x length and just one arrow.

------
rytilu
In some of the models people are posting, nodes were out of my window-view and
I couldn't move over to them. Is this a bug or am I missing a scroll/zoom
feature?

~~~
prodikl
i think its missing pan / zoom. i had to move a chart from my laptop window to
my big monitor window to view it all

------
makmanalp
This is awesome. It reminds me of stuff I learned in a class called system
dynamics ages ago:
[https://en.wikipedia.org/wiki/System_dynamics](https://en.wikipedia.org/wiki/System_dynamics)

------
potench
This is awesome. I did a quick demo system to map Performance and UX to App
Experience [http://bit.ly/2nVWbNE](http://bit.ly/2nVWbNE) My demo isn't great
but this Loopy tool already has me thinking about the problem in a different
way and attempting to map positive/negative inputs to a result in an
interactive and shareable way.

~~~
pmarreck
I can't seem to scroll down to see your whole model on my particular laptop
screen, is this a bug on the loopy site?

~~~
joshschreuder
Same here, but you can zoom out with the browser and see the whole thing. OP
is probably on a higher res monitor.

------
themodelplumber
I played with the anxiety & depression example, but I didn't get it.
Specifically, I don't understand how "doing things" leads to "feeling good"
which leads to "depression".

~~~
geofft
Every minus sign inverts the direction of the change. Every plus sign leaves
the direction of the change as it is. More doing things leads (+) to more
feeling good, which leads (-) to _less_ depression, which leads (-) to _less_
de-motivation. But more de-motivation leads (+) to more depression, which
leads (-) to less feeling good, which leads (-) to _more_ depression.

~~~
QuantumGravy
A fair number of systems created here haven't grokked the behavior of (-),
leading to models that don't actually behave as intended. I admit, it took me
a few tries to notice, myself. The description given for relationships doesn't
help, suggesting that (-) does nothing more than changing 🡩 to 🡫. Having three
options, more (🡩), less (🡫), and flip (↕) would have been clearer and more
versatile.

------
TeMPOraL
Beautiful and nice to use. After playing with the anxiety & depression model
for a while, here's a thought: let me bring up magnitude/time plots for each
of those circles. Density of arrows flying around the graph is not very
readable. Adding proper plots (maybe hidden by default) could boost the
exploratory capabilities of the tool without diminishing its ease of use.

~~~
ianai
That would be cool. Maybe you'd get a histogram by clicking on a node.

------
a_c
Just found out that ncase.me has a lot of gems
[http://ncase.me/polygons/](http://ncase.me/polygons/) and
[http://blog.ncase.me/we-become-what-we-behold-a-post-
mortem/](http://blog.ncase.me/we-become-what-we-behold-a-post-mortem/) are
inspiring.

------
digi_owl
Nifty.

At a basic level, if applied to economic thinking, we get what preofessor
Steve Keen has been working on with his Minsky software.

[http://www.debtdeflation.com/blogs/minsky/](http://www.debtdeflation.com/blogs/minsky/)

------
mcdonji
This is a brilliant idea. I really like the idea of bringing modelling into
everyday thinking. I do not understand the idea of hiding the hard stuff. Why
can't I have access to and change the code underlying the model too? Rich
Hickey talked about code as a violin for the master or a one button instrument
for the beginner. Perhaps we could have both?

------
bbctol
I like the idea behind this, and I appreciate that it makes a complicated
concept dirt-simple to use, but I think it's a little _too_ simple. You can't
diagram anything but a closed system, and most things are better modeled as
open ones; the one addition of constant-up or constant-down nodes would make
this much more useful.

~~~
hwayne
You can make a node that feeds into itself, which is an okay substitute for an
open system: [http://bit.ly/2mwSlgX](http://bit.ly/2mwSlgX)

------
rickmellor
Needs conditionals. Great concept though.

------
rlglwx
Politics and outside money: [http://bit.ly/2mVfyod](http://bit.ly/2mVfyod)

Bipartisanship's effect on political
power:[http://bit.ly/2o9QieQ](http://bit.ly/2o9QieQ)

~~~
throwaway729
_> Bipartisanship's effect on political power_

What's your thinking here? R and D are (presumably) zero-sum. Either with each
other or with some 3rd/nth party. But there's a steady state in this system
where R=D=0. Or are you modeling something other than actual seats held I
guess?

I mean right now both R and D are extremely unpopular, probably in large part
because of lack of bipartisanship (at least doesn't help). But R still hold a
crap load of power.

~~~
rlglwx
Yeah, I guess my point was if you have bipartisanship it gives power to all
factions. I thought it was a nice counterpoint to the system I shared with
power swinging back and forth. No deep thought went into this.

~~~
throwaway729
Makes sense :)

------
sixo
Engaging with depression and anxiety as network effects rather than latent
causes seems, anecdotally, to be productive. In my experience, the very
networkiness of these things makes them hard to contend with emotionally, but
treating the networkiness as a the culprit itself rather than a nearly-
insurmountable barrier to contending with some real culprit has been
promising. Scott Alexander on this way of modeling mental disorder here:
[https://slatestarcodex.com/2016/12/14/ssc-journal-club-
menta...](https://slatestarcodex.com/2016/12/14/ssc-journal-club-mental-
disorders-as-networks/)

------
zitterbewegung
If I am going to model systems that are finite state transducers instead of
making me draw a circle why not have a click create the state and drag from
one state to another to have an output.

When I am modeling a system its helpful to see what an increase or a decrease
will propagate to the system but what is actually useful is some kind of chart
that tells me cumulative results and also another chart possibly what is
happening at this given second.

On your landing page your copy seems off. The first sentence implies that the
system may or may not help.

I see this as an interesting toy but I don't see how this would be useful for
modeling systems.

~~~
javajosh
Sometimes I wish engineers in general would pay more attention to their
"energy", and not the kind measured as the square of momentum but rather of
the emotional kind. Is it really too much to ask that, in addition to
requiring accuracy and precision, that you take time to consider the _wisdom_
of your actions? I don't think so. If there is no joy in what you are saying
(and I don't mean the joy of pointing out someone else's mistakes), why are
you saying it?

Your comment is swimming in bad energy, but also in a kind of willful
ignorance. What kind of ignorance? Of two kinds: first, you seemed to have
missed the point of this project. It's goal is NOT to give you a way to model
finite state transducers. It's goal is fundamentally pedagogical, and to give
a wide-range of humans some experience with feedback loops, self-reinforcing
behavior. This phenomena is abstract, and not widely appreciated. Second, you
have misinterpreted the word "system" to mean "the specific production systems
I am engineering right now", when in fact it was clearly meant more generally,
as the demo systems show.

The damage you do with this sort of comment can be substantial. It is not easy
to envision a thing and then make it and share it with the world, not least in
part because bad energy comments, willfully ignorant and harsh, leave a mark.
Creation is an act of vulnerability, and creators deserve our respect and all
the positive energy we can muster.

~~~
zitterbewegung
The point of my criticism is not to project negative energy to the creator or
taking joy in my comment but to provide the creator ways that they could
improve the project. Under your line of thinking everyone should just go and
project good energy and never offer ways for projects that they show to other
people how that they can improve. I have posted my work on HN and the comments
are very insightful for what I should improve or what I have done wrong.

~~~
adamsea
If constructive criticism was your intent, it would have been constructive to
make that intent explicit.

Especially in written communication, if one wants to provide constructive
criticism (as opposed to criticism which is indifferent or just being critical
to be critical), then it is important to signal that somehow. Possibly with
words ;)

Of course not signaling that doesn't preclude the receiver of said criticism
from using your critique constructively, but, imho, considering the minimal
time needed to say something like "This is intended to be constructive
criticism," and that doing so is not some sort of "happy-good-energy-no
problems" use of language at all (your critique can still be as vigorous as
desired), imho, there is no good reason not to and many good reasons (never
knowing where the other person on the internet is coming from, improving one's
own communication skills, increased explicitness, etc) to do so.

------
llamataboot
This is great! I did quite a bit of work in system dynamics during my masters
in social work -- one thing that has been missing from the world of computer
simulation has been good open source tools and also tools that can start
taking causal loop diagrams and turning them into simulations that can be
played with. Excited to check this out, bravo to the dev.

I think that "systems literacy" is the literacy of the 21st century, and
understanding feedback loops is a key part of that literacy (rather than just
thinking in terms of linear cause and effect)

------
schemathings
Would it be possible (useful?) to add a counter in each node to see the
cumulative effect? I know that would be a slippery slope because ideally you'd
need units and perhaps rate vs counter/gauge but it seems even a naive
implementation of times fired would be instructive. I suppose since it's a
graphical system the circles could expand/contract instead/as well.

------
0xdeadbeefbabe
This is a neat idea. I'd rather learn from simulation than, what is sometimes
called, hard experience.

Is "systems" the academic field that studies real systems by simulating them?

Did UML come from this field. Do you know how UML is regarded nowadays?

------
orsenthil
Can someone educate me "What thinking in systems" mean?

~~~
pmarreck
[https://smile.amazon.com/Thinking-Systems-Donella-H-
Meadows/...](https://smile.amazon.com/Thinking-Systems-Donella-H-
Meadows/dp/1603580557?sa-no-redirect=1) is a great introduction and a
relatively quick read

[http://www.systemdynamics.org/what-is-s/](http://www.systemdynamics.org/what-
is-s/)

Basically, a while back, some people realized that all systems (which
comprises just about everything, basically) share similar modelable
attributes.

------
zilian
Who can solve the ticket horror show ?
[http://bit.ly/2n0OF3f](http://bit.ly/2n0OF3f)

------
qznc
Looping with PhDs: [http://bit.ly/2nVyhBX](http://bit.ly/2nVyhBX)

------
ianai
I wish this had been around years ago.

------
amelius
Can someone draw a schematic for simulating Universal Basic Income?

------
2_listerine_pls
what is being used to make animations? webgl?

~~~
detal
It looks like it's based on a custom canvas implementation. The code is
actually very written when you start poking around in the source.

------
redsummer
Would be interesting to see the 'systems' for various start-ups. And compare
those that were successful with those that were not.

