Hacker News new | past | comments | ask | show | jobs | submit login
Tinyland (emmasmith.me)
205 points by luu on Nov 17, 2019 | hide | past | favorite | 19 comments



Ok, so back in the 90s I knew someone who was working in a research department. They had a big project that reminds me of this known informally as “desktop computing” (you’ll appreciate this is cutting edge early 90s tech, not a patch on what we have now).

Lots of work on dynamic image capture, lots of work on interpolating what’s going on due to the low (by our standards) capabilities of the camera. Except...

...the camera was, to say the least, badly documented. A research student going through the documentation (looking for something else) finally noticed the thing had been misconfigured the entire time. In fact, the camera was significantly more capable.

The camera got reconfigured, people continued to produce research papers and no-one died. It was, however, extremely funny.


Tactile Manipulation on a Digital Desk by Xerox

https://youtu.be/laApNiNpnvI


Super great, super interesting to cheaper components for the i/o. And bonus for me, I discovered the Recurse Center while reading and clicking. https://www.recurse.com/manual


RC was an amazing experience, and there are definitely a few Recursers lurking. Happy to share my experience!


Interesting I had not heard of Dynamicland previously. The posted project though reminds me a bit of reacTable [1] although the latter is targetted to music media creation. It's a 'product' now, I guess, but it started off as a research project published in early 2000s. I gather that Dynamicland goes back quite a bit further which is interesting.

In our group we wanted to see how dead easy it would be to build an interactive projection system, so we did it.. just mounted a projector and a camera above a table [2] -- can't believe it's already been 10 years since then. It was surprisingly simple -- we didn't bother with AR tags, just used silhouettes via simple video processing as inputs to vector field operations to generate movement and influence physics simulations and audio-generating algorithms. The advantage being that you literally just stick your hand in there and something happens, it was great for kids. But building the whole system was quite easy too, it would make a great "science project" for the right age.

Oh, another fun "tangible computing" project from the same era was "BeatBearing", dug up the video here... [3]

There's a lot you can do with a simple camera!

[1] https://reactable.com/

[2] https://www.youtube.com/watch?v=lrqG_kMg4AY

[3] https://www.youtube.com/watch?v=wreP8FMupyM


I came across Reactable a couple weeks ago, and have been playing with ReacTIVision, which is their computer vision engine. It seems pretty promising for quickly bootstrapping a table-based interface. (Although I do wish their calibration docs had a bit more detail.)


Looks like a fun project! Lots of pragmatic implementation choices to keep things simple.

I'd be very interested to see what the author comes up as a substitute for RealTalk.


Thank you! Keeping things simple, even naive, has made it easy to tear it down and start over, which I've done a few times now.

As for RealTalk, the author is also interested to see what she comes up with! In the past week I've been playing with the notion of "claims" and "wishes", inspired by a description of RealTalk by Tabitha Yong, seen in this fantastic post by Omar Rizwan: https://rsnous.com/posts/notes-from-dynamicland-geokit/

The "Programming with Spaces" project has also been a very helpful reference, especially this guideline for implementing a Linda-like tuplespace: https://github.com/pSpaces/Programming-with-Spaces/blob/mast...


You might also want to look at natural language datalog (https://github.com/harc/nl-datalog), which is a prototype of the query language used in Dynamicland.


Very interesting. I'm curious what you'll come up with. The description also reminds me of Eve [1][2], which is itself based on Bloom [3][4].

[1] http://play.witheve.com/#/examples/quickstart.eve

[2] https://youtu.be/5V1ynVyud4M

[3] http://bloom-lang.net/index.html

[4] https://youtu.be/R2Aa4PivG0g


I am excited to have been one of the pals who helped with this! It's an awesome project.


Glad she actually did it. After visiting I bought a webcam and started looking for an over table mount but lost momentum.


I am so proud of you Emma! You are so god damned talented and always have been. Love you sister.

I want a Tinyland for our house. Atti, Meg and I would have so much fun with this!


I want one.


Kudos for the project, but I am afraid that if people keep calling random AR experiments "Dynamicland", it will quickly lose meaning - see https://paperprograms.org, a project much closer to Dynamicland, but at least still cognizant of the fact it's not a "small Dynamicland":

>Paper Programs recreates just a tiny part of what makes Dynamicland so interesting. To learn more about their system and vision, be sure to visit Dynamicland in Oakland -- and please consider donating, too! >Paper Programs is inspired by the projector and camera setup of the 2017 iteration of Dynamicland. I liked how you could physically hold a program in your hands, and then put on any surface in the building, where it would start executing, as if by magic. [...] >In contrast, Dynamicland is a community space designed around Realtalk. Realtalk is a research operating system (in development for several years) designed to bring computation into the physical world. It is more general than papers, projectors, and cameras. Dynamicland is intended as a new medium of human communication, and is designed to be learned and used by a community of people interacting face-to-face, not over the internet.

But also - I realize you know about the limitations, but being only able to interact with one static program at a time, and not being able to see the source code of the components is crucial, it's what makes it "not even a Dynamiclandish prototype" for me.

But I don't want to be a killjoy and kill your enthusiasm; I think it's great what you've done! But I'm just irked at namedropping Dynamicland like this.


Come on, don't do that! That's like if someone shows you their play compiler and you say:

> If people keep calling random programs 'a compiler', it will quickly lose meaning... A compiler is intended as a new medium of human-machine interaction, capable of transforming arbitrary source programs into machine code...I realize you know about the limitations, but only supporting static assignment, not being able to compile functions, it's what makes it "not even a compiler" for me.

Dynamicland was always Dynamicland, even when it was starting out as a tiny implementation.


It depends on if you see "Dynamicland" as a generic word/phrase like compiler or video game, or as a proper noun, like Xcode or Nintendo Switch?


Fair point. 100% agree that video games on a table do not make a Dynamicland.

That blog post was meant to document Step #1 in what I hope to be a much longer term project.

Step 1: Magic table: Tangible user interface. Interface is real-world, physical objects.

Step 2: Paper programs: Multiple programs running simultaneously. Code is visible to all. I got a basic implementation working about a week ago. You can see an experiment here: https://twitter.com/emmazsmith/status/1195544461897547776?s=...

Step 3: RealTalk: Still chewing on this one...

Perhaps I should have emphasized the "work-in-progress" aspect of the project. Point taken, lesson learned.


The long term goal seems to be to get to something Dynamicland like, even if the current version has no Realtalk equivalent and is just a projector. Dynamicland itself started partially as a "random AR experiment" (http://tablaviva.org/).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: