People can zoom in and out of ideas → people can look at the same idea at different levels of complexity. As an idea for a really cool interaction design experiment, it's possible to create a prototype where you write pseudocode, and then you can zoom into to see the code in more detail (potentially all the way to assembly) or zoom out to see the bigger picture. This idea attaches the spatial zooming with the mouse with zooming of the complexity of the program.


One example of a zoom stack:

print hello world

print("Hello world")

zooming in more would go into the code of "print" and eventually the C-level analogs of that, and eventually assembly.


Another better example bc I didn't think the last one through

convert input from Celsius to Fahrenheit

add 40 to input
multiply by 9/5
substract 40 from input
def conversion(celsius):
	return (celsius+40)*9/5-40
def conversion(celsius):
	celsius += 40
	celsius *= 9/5
	return celsius-40

zooming in further into the function, it'll become

int conversion(int celsius) {
	return (celsius+40)*9/5-40
}

and so on.

Even from this basic ideas, I can see there's already a lot of rough edges to smooth out. In a long complex program, a person might want to zoom in on one specific idea, so there should should be a way to do that. Using spatial zooming might also be pretty clunky here if you want to go into a specific idea ⇒ it might be a better idea to just let a user click on the part they're trying to learn more about.

Thinking about this as a submission for

Interhackt