Skip to content

Commit

Permalink
prep for dynamicland, day 2
Browse files Browse the repository at this point in the history
  • Loading branch information
Steve Krouse committed Jan 16, 2018
1 parent cc25cd7 commit 3c6a9e7
Show file tree
Hide file tree
Showing 2 changed files with 70 additions and 1 deletion.
2 changes: 1 addition & 1 deletion _data/git-log.json

Large diffs are not rendered by default.

69 changes: 69 additions & 0 deletions notes/bret-victor/dynamicland.md
Expand Up @@ -2,6 +2,8 @@
title: Dynamicland
---

# Dynamicland

* TOC
{:toc}

Expand Down Expand Up @@ -30,7 +32,74 @@ I also want to see what ways I could help with fundraising. Here are some ideas:

Also, Luke said that it could be possible for me to host an event in the space on Sunday, my birthday. I want to double check with them tomorrow and will then see if there are people around. That could be a blast hackathon birthday!!

## Day 2

_Jan 15, 2018_

### Pre-thinking

#### Fundraising

* Patreon
* Podcast
* Kickstarter
* Ask Mitch Resnick for advice
* Ask Pete Muller for advice

#### Meta-pages

There are a few really cool pages in Dynamicland:

* run this <- on that ->
* edit this number on that page with this scrubber
* a dial widget (goes from 0 to 1 as you rotate)
* pull up the code for this page in an edit window widget

I think it'd be fun to come up with more of these "meta-pages."

One idea is to mimic some of the concepts found in programming langauges:

* basic datatypes, such as numbers, words, colors
* basic data structures, such as lists, maps
* functions (this could be implicit, lazy with named symbols)
* basic combinators, like addition, string concatenation
* definitions (could tie into "claims" about oneself)

It seems like there are some basic Dynamicland operators you'd want:

* get a live camera stream of a page/region/supporter
* reference a page somewhere else
* play a sound
* make a claim (this may be too low level)
* make a wish (this may be too low level)

And there are a few FP concepts that feel relevant:

* The compose operator
* recursion
* laziness / delayed evaluation
* data structures

Here's a problem that a meta-page might be able to solve: when you dirty edit a piece of code, all it tells you now is that it was edited and on what line. It would be neat if you could:

1) temporarily revert the code to it's non-dirty state
2) forever revert the code
3) print out the dirty version as a clean version
4) see the dirty code changes (without going to the computer)

Number (4) here is probably the most useful but might be a little tricky given the projector's resolution. Might need to make it bigger so that it's readable. Here's an idea: it could be a cardboard cutout that's the size of the editor but more mobile. It could also have a way to scroll it up/down and left/right. Maybe by moving a rock through a minimap?

I'm not entirely sure how state works in this system. So far everything I've defined has been a pure function of time.

Things I saw yesterday that I will look at for inspiration:

* combined body
* animation from frames
* edit number via scrubber
* run this on that
* dial widget
* count dots on page
* widgets that have pointy thing coming out


<script>
Expand Down

0 comments on commit 3c6a9e7

Please sign in to comment.