Ryan Yen

Hey, I am Ryan Yen Work with Cat Icon

I do research, which means I spend my days banging my head against the wall trying to figure things out.

Overal, my thinking mostly revolves around AI-driven programming interfaces. Currently, I’m exploring malleable programming interfaces and Semi-formal Programmingat MIT VIS Lab, ways to represent and work with code that sit somewhere between structure and informal representation. Also, here’s my Curriculum Vitae if this is what you are looking for.


Works

I’ve been thinking about enable programmers to program in different ways. I love writing code with a keyboard, but I don’t think it’s the only way to program (and it’s not, coding ≠ typing code).

Lately, the whole “vibe coding” trend partially resonates with what I care about, though I want to push it further (or hold back a bit): I’m interested in preserving the informality of that approach, while still introducing structure, so that it doesn’t backfire.

One example is Code Shaping, where we explore using freeform sketching on and around code to edit it iteratively with GenAI, helping programmers express ideas at a much higher level of abstraction. Another is CoLadder, which explores multi-level blocks for code generation, letting users manipulate abstraction layers dynamically.

I’ve also worked outside the programming space. In Memolet, I looked at how we can reuse conversational memory in AI-human interactions. In To Search or To Gen?, we explored how generative AI and web search could complement each other in programming.

That said, I’ve stepped away from the “sensemaking” side of AI for now. It’s a deep space, and one I’d have to devote myself to completely. Even with Memolet, I felt like something was missing. There’s still no good way to represent the in-between space: the messy mental models we form while thinking, and the text that tries (and often fails) to capture them. We’re missing a middle layer, some kind of abstraction that helps externalize thought without asking too much of the reader. I don’t know what it is yet.


Thoughts

I like writing things down… even if some of them are kind of half-baked. I revisit and update my ideas when I can. If you’re curious about the things I’m noodling on, you’ll find more on my Blog.


Readings

A lot of my thinking is shaped by what I read. Honestly, reading feels like time-traveling conversations with other thinkers. Nerdy, I know, but it’s true. I just wish I had more time to do it.

Some of the pieces that have stuck with me, including Reification, Polymorphism and Reuse, Demonstrational Interfaces, Cognitive Engineering, Designing Interaction, not Interfaces, Instrumental Interaction, Direct Manipulation Interfaces, Thinking with External Representations, Ultra-Lightweight Constraints, What Is Interaction?, and Usability Analysis of Visual Programming Environments.

Contact

Google Scholar, LinkedIn, Twitter, GitHub

Email: ryanyen2@myschool_start_with_m.edu