SakeTami
ncase
ncase

patreon


Screenshot Sunday: Join Me In The Spiral

Oh hey, a Patreon update!  This week, I added a powerful new feature to my upcoming "programming with plain words" tool -- variables & basic math!

COME JOIN ME IN THE SPIRAL
(sped-up GIF | high-rez video on twitter)

Also, I'd like to clarify from last week: the point of this project is NOT to teach programming.  It can be used for that (and I'm glad if it does!) but I hope it's much more than that!  Think of, say, Microsoft Excel.  It's not meant to teach you how to crunch numbers manually, but it lets anybody use the raw power of numbers -- for business, education, or their own personal life.

That's what I hope this project will be like!  (except less corporate & boring than Excel)  It will be a standalone JavaScript library that lets anybody use the power of loops/if-thens/variables/etc for whatever they want.  (That's another reason why this is different from MIT's Scratch: you can only use Scratch inside Scratch.)

The LOGO turtle above is just one example of what you can make with this tool.  Here's a few more concrete examples:

For Explorable Explanations:

Outside Explorable Explanations:

When I posted the GIF last week, a few programmers said they could see using this for their own tools! Such as:

And here's other non-explorable-explanation uses I'd like to see:

Long story short, if you want to make things that do things, this tool may help!  Because right now, 99% of how people do that is through "coding": abstract symbols, no live feedback, hard to understand even if you wrote the code yourself.

My hope is, one day, the way we currently do programming will look as quaint as poking holes into punched cards.  (seriously, go watch Bret Victor's talk, Media For Thinking The Unthinkable)  No, I know, this tool will not replace coding-with-abstract-symbols any time soon... but hopefully, for now, for the vast majority of people who are not programmers, it'll let them get a taste for what it means to make something that does something.

That, I think, is the ultimate joy of creation.

<3,
~ Nicky Case

P.S: I still don't have a name for this project. Any suggestions?

Screenshot Sunday: Join Me In The Spiral

Comments

<a href="https://www.etymonline.com/word/deictic" rel="nofollow noopener" target="_blank">https://www.etymonline.com/word/deictic</a>

Kayle

I like to name things from PIE etymology. The API is about telling the computer to do things with words, so how about "dictate" as a starting place? The "dict" portion is PIE: <a href="https://www.etymonline.com/word/*deik-" rel="nofollow noopener" target="_blank">https://www.etymonline.com/word/*deik-</a> Dictic has a nice ring to it, and it's not a real word so should be available.

Kayle

I love the suggestion, but it's already taken by the scanner protocol and API: <a href="https://en.wikipedia.org/wiki/TWAIN" rel="nofollow noopener" target="_blank">https://en.wikipedia.org/wiki/TWAIN</a>

Kayle

How about you call it :"programing with plain words : the turtle adventures"

Not Real Name

IMHO I think the name should reflect the what the tool is. (and at least for me that's not clear yet) - Part of what i take from bert victor lecture is that there isn't (or shouldn't be) a generic programming tool - because a proper tool for programming X should be different from a proper tool for programming Y. So in a sense - i think it's better to focus on what the tool is creating. I.e Explorables IDE

Hed Bar-Nissan

Sketch n Sketch is awesome, I've played with it a bit and read Ravi's other papers :) Trifacta Wrangler does something similar - <a href="https://www.youtube.com/watch?v=kSmtZVV0LOA" rel="nofollow noopener" target="_blank">https://www.youtube.com/watch?v=kSmtZVV0LOA</a>- maybe not the best video but you directly manipulate spreadsheet data and code is generated (paper: <a href="http://vis.stanford.edu/papers/wrangler)" rel="nofollow noopener" target="_blank">http://vis.stanford.edu/papers/wrangler)</a> I think a huge constraint is the fact that it has to export / be compatible with JavaScript.

Srini Kadamati

I saw this cool proof-of-concept recently, for a *bi-directional programming tool* -- you can type code to create some output, but then you can also directly manipulate that output to *change the code*: <a href="https://www.youtube.com/watch?v=YuGVC8VqXz0" rel="nofollow noopener" target="_blank">https://www.youtube.com/watch?v=YuGVC8VqXz0</a> It's a pretty neat idea! However I've yet to figure out 1) how that idea can be generalized to code that *doesn't* draw stuff, and 2) how I can make direct manipulation a standalone JS library that can't know in advance what simulation/model the developer has. Hmmmm.

Nicky Case

Surely the name has to be a play on it being 'codeless' code. Something like, 'Code Less (do more)'

Rob Beer

Yeah UI is old for sure. What I like about it is the direct manipulation of objects coupled with the exposure of object properties. I think it would be really neat to have a mixed / direct manipulation UI. You may create the turtle using code, but then you can start messing around by dragging the turtle, exposing the object properties, and then code is generated and exposed to you based on the "deltas" in the properties. Then you can iterate / abstract, etc the code as necessary. End with exporting to JS. I guess for me, I really find the direct manipulation part missing from creating explanations (I create explanations right now using Markdown).

Srini Kadamati

Ooh, that's a good idea! And heck yeah I'm excited to see how you specifically, Ian, can make use of this upcoming tool! I sincerely hope it'll be useful to you :)

Nicky Case

Yeah! Alan Kay's thing! I haven't actually played with it yet, but I've seen videos of it. Definitely could learn a lot from the old masters! (although wow that "drag n' drop blocks" interface is *old*. and kinda clunky. time for a fresh, new, more accessible interface)

Nicky Case

Nicky, have you played much with Etoys? Not quite what you're going for but couldn't help but think of that project

Srini Kadamati

just throwing "Twain" out there after one of my favorite (english language) authors. also I can't wait to use this to add something more intuitive than a filter bar to my visualizations, I think this could be amazing for incorporating visuals into narratives too.

Ian Johnson

(Have to be careful not to give techies the expectation that it's something like a proxy server though)

quarridors

I'd call it ProxiMate or some variation on that, Prox, Proxi, Proxima, Proximus, whatever isn't already being used as a trade name.

quarridors

Thanks, Jared! Yeah I agree, I really need a create a lot more examples. Because right now it seems a lot of people on Twitter who are seeing the GIFs think this is *just* about the turtle, or "learning programming".

Nicky Case

🤔 hmmm!

Nicky Case

Here's my idea: Programmetheus (as in, "give programming to humans")

Xavier Lambein

under that it says the turtle adventure

Not Real Name

how about :Programing with plain words.

Not Real Name

Hey Nicky, I think it might help, even with the naming, to see one or two other examples of how you envision this being used. Right now it's a little hard for me to imagine all of the possibilities (mostly I'm just being lazy, but still). Either way I think it's a very interesting exploration. Best, Jared

Jared Cosulich


More Creators